@charset "UTF-8";
/* @import must be at top of file, otherwise CSS will not work */
@import url("//hello.myfonts.net/count/374511");
@font-face {
  font-family: 'Perpetua';
  font-weight: bold;
  font-style: normal;
  src: url("../fonts/374511_0_0.eot");
  src: url("../fonts/374511_0_0.eot?#iefix") format("embedded-opentype"), url("../fonts/374511_0_0.woff2") format("woff2"), url("../fonts/374511_0_0.woff") format("woff"), url("../fonts/374511_0_0.ttf") format("truetype"), url("../fonts/374511_0_0.svg#wf") format("svg"); }

@font-face {
  font-family: 'Perpetua';
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/374511_1_0.eot");
  src: url("../fonts/374511_1_0.eot?#iefix") format("embedded-opentype"), url("../fonts/374511_1_0.woff2") format("woff2"), url("../fonts/374511_1_0.woff") format("woff"), url("../fonts/374511_1_0.ttf") format("truetype"), url("../fonts/374511_1_0.svg#wf") format("svg"); }

.black a.accordion-title {
  background-color: #0a0a0a; }

.black .home-link .snippet-info {
  background-color: #0a0a0a; }

.black .home-link:hover .snippet-info {
  background-color: black !important; }

.section-black h1 {
  color: #0a0a0a; }
  .section-black h1 .border-line {
    background-color: #0a0a0a; }

.section-black .home__hero h1 {
  color: #fefefe; }
  .section-black .home__hero h1 .border-line {
    background-color: #fefefe; }

.section-black .contact_details h1 {
  color: #fefefe; }

.section-black .text-white {
  color: #fefefe; }

.section-black .button-primary {
  background-color: #0a0a0a;
  color: #fefefe; }
  .section-black .button-primary:hover {
    background-color: black; }

.bg-black {
  background-color: #0a0a0a; }
  .bg-black::after {
    background-color: #0a0a0a; }

.button.button-black {
  background-color: #0a0a0a !important; }
  .button.button-black:hover {
    background-color: black !important; }

.button.button-text-black {
  color: #0a0a0a !important; }
  .button.button-text-black:hover {
    color: black !important; }

.text-link.link-black {
  color: #0a0a0a !important;
  border-bottom-color: #0a0a0a !important; }
  .text-link.link-black:hover {
    color: black !important;
    border-bottom-color: black !important; }

.text-black {
  color: #0a0a0a; }
  .text-black h1, .text-black h2, .text-black h4, .text-black a, .text-black li {
    color: #0a0a0a; }

.border-black {
  border-color: #0a0a0a; }

.line-black {
  border-color: #0a0a0a; }

.heading-underline.underline-black {
  border-bottom-color: #0a0a0a; }

.button.link-border.link-border-black:after {
  border-bottom-color: #0a0a0a; }
  .button.link-border.link-border-black:after:hover {
    border-bottom-color: black; }

.button.link-border.text-black {
  color: #0a0a0a; }
  .button.link-border.text-black:hover {
    color: black !important; }

.white a.accordion-title {
  background-color: #fefefe; }

.white .home-link .snippet-info {
  background-color: #fefefe; }

.white .home-link:hover .snippet-info {
  background-color: #d8d8d8 !important; }

.section-white h1 {
  color: #fefefe; }
  .section-white h1 .border-line {
    background-color: #fefefe; }

.section-white .home__hero h1 {
  color: #fefefe; }
  .section-white .home__hero h1 .border-line {
    background-color: #fefefe; }

.section-white .contact_details h1 {
  color: #fefefe; }

.section-white .text-white {
  color: #fefefe; }

.section-white .button-primary {
  background-color: #fefefe;
  color: #fefefe; }
  .section-white .button-primary:hover {
    background-color: #e5e5e5; }

.bg-white {
  background-color: #fefefe; }
  .bg-white::after {
    background-color: #fefefe; }

.button.button-white {
  background-color: #fefefe !important; }
  .button.button-white:hover {
    background-color: #f1f1f1 !important; }

.button.button-text-white {
  color: #fefefe !important; }
  .button.button-text-white:hover {
    color: #f1f1f1 !important; }

.text-link.link-white {
  color: #fefefe !important;
  border-bottom-color: #fefefe !important; }
  .text-link.link-white:hover {
    color: #f1f1f1 !important;
    border-bottom-color: #f1f1f1 !important; }

.text-white {
  color: #fefefe; }
  .text-white h1, .text-white h2, .text-white h4, .text-white a, .text-white li {
    color: #fefefe; }

.border-white {
  border-color: #fefefe; }

.line-white {
  border-color: #fefefe; }

.heading-underline.underline-white {
  border-bottom-color: #fefefe; }

.button.link-border.link-border-white:after {
  border-bottom-color: #fefefe; }
  .button.link-border.link-border-white:after:hover {
    border-bottom-color: #d8d8d8; }

.button.link-border.text-white {
  color: #fefefe; }
  .button.link-border.text-white:hover {
    color: #d8d8d8 !important; }

.light-grey a.accordion-title {
  background-color: #e0e1dc; }

.light-grey .home-link .snippet-info {
  background-color: #e0e1dc; }

.light-grey .home-link:hover .snippet-info {
  background-color: #bcbeb3 !important; }

.section-light-grey h1 {
  color: #e0e1dc; }
  .section-light-grey h1 .border-line {
    background-color: #e0e1dc; }

.section-light-grey .home__hero h1 {
  color: #fefefe; }
  .section-light-grey .home__hero h1 .border-line {
    background-color: #fefefe; }

.section-light-grey .contact_details h1 {
  color: #fefefe; }

.section-light-grey .text-white {
  color: #fefefe; }

.section-light-grey .button-primary {
  background-color: #e0e1dc;
  color: #fefefe; }
  .section-light-grey .button-primary:hover {
    background-color: #c8c9c1; }

.bg-light-grey {
  background-color: #e0e1dc; }
  .bg-light-grey::after {
    background-color: #e0e1dc; }

.button.button-light-grey {
  background-color: #e0e1dc !important; }
  .button.button-light-grey:hover {
    background-color: #d4d5ce !important; }

.button.button-text-light-grey {
  color: #e0e1dc !important; }
  .button.button-text-light-grey:hover {
    color: #d4d5ce !important; }

.text-link.link-light-grey {
  color: #e0e1dc !important;
  border-bottom-color: #e0e1dc !important; }
  .text-link.link-light-grey:hover {
    color: #d4d5ce !important;
    border-bottom-color: #d4d5ce !important; }

.text-light-grey {
  color: #e0e1dc; }
  .text-light-grey h1, .text-light-grey h2, .text-light-grey h4, .text-light-grey a, .text-light-grey li {
    color: #e0e1dc; }

.border-light-grey {
  border-color: #e0e1dc; }

.line-light-grey {
  border-color: #e0e1dc; }

.heading-underline.underline-light-grey {
  border-bottom-color: #e0e1dc; }

.button.link-border.link-border-light-grey:after {
  border-bottom-color: #e0e1dc; }
  .button.link-border.link-border-light-grey:after:hover {
    border-bottom-color: #bcbeb3; }

.button.link-border.text-light-grey {
  color: #e0e1dc; }
  .button.link-border.text-light-grey:hover {
    color: #bcbeb3 !important; }

.medium-grey a.accordion-title {
  background-color: #6d6e70; }

.medium-grey .home-link .snippet-info {
  background-color: #6d6e70; }

.medium-grey .home-link:hover .snippet-info {
  background-color: #474849 !important; }

.section-medium-grey h1 {
  color: #6d6e70; }
  .section-medium-grey h1 .border-line {
    background-color: #6d6e70; }

.section-medium-grey .home__hero h1 {
  color: #fefefe; }
  .section-medium-grey .home__hero h1 .border-line {
    background-color: #fefefe; }

.section-medium-grey .contact_details h1 {
  color: #fefefe; }

.section-medium-grey .text-white {
  color: #fefefe; }

.section-medium-grey .button-primary {
  background-color: #6d6e70;
  color: #fefefe; }
  .section-medium-grey .button-primary:hover {
    background-color: #545556; }

.bg-medium-grey {
  background-color: #6d6e70; }
  .bg-medium-grey::after {
    background-color: #6d6e70; }

.button.button-medium-grey {
  background-color: #6d6e70 !important; }
  .button.button-medium-grey:hover {
    background-color: #606163 !important; }

.button.button-text-medium-grey {
  color: #6d6e70 !important; }
  .button.button-text-medium-grey:hover {
    color: #606163 !important; }

.text-link.link-medium-grey {
  color: #6d6e70 !important;
  border-bottom-color: #6d6e70 !important; }
  .text-link.link-medium-grey:hover {
    color: #606163 !important;
    border-bottom-color: #606163 !important; }

.text-medium-grey {
  color: #6d6e70; }
  .text-medium-grey h1, .text-medium-grey h2, .text-medium-grey h4, .text-medium-grey a, .text-medium-grey li {
    color: #6d6e70; }

.border-medium-grey {
  border-color: #6d6e70; }

.line-medium-grey {
  border-color: #6d6e70; }

.heading-underline.underline-medium-grey {
  border-bottom-color: #6d6e70; }

.button.link-border.link-border-medium-grey:after {
  border-bottom-color: #6d6e70; }
  .button.link-border.link-border-medium-grey:after:hover {
    border-bottom-color: #474849; }

.button.link-border.text-medium-grey {
  color: #6d6e70; }
  .button.link-border.text-medium-grey:hover {
    color: #474849 !important; }

.dark-grey a.accordion-title {
  background-color: #222; }

.dark-grey .home-link .snippet-info {
  background-color: #222; }

.dark-grey .home-link:hover .snippet-info {
  background-color: black !important; }

.section-dark-grey h1 {
  color: #222; }
  .section-dark-grey h1 .border-line {
    background-color: #222; }

.section-dark-grey .home__hero h1 {
  color: #fefefe; }
  .section-dark-grey .home__hero h1 .border-line {
    background-color: #fefefe; }

.section-dark-grey .contact_details h1 {
  color: #fefefe; }

.section-dark-grey .text-white {
  color: #fefefe; }

.section-dark-grey .button-primary {
  background-color: #222;
  color: #fefefe; }
  .section-dark-grey .button-primary:hover {
    background-color: #090909; }

.bg-dark-grey {
  background-color: #222; }
  .bg-dark-grey::after {
    background-color: #222; }

.button.button-dark-grey {
  background-color: #222 !important; }
  .button.button-dark-grey:hover {
    background-color: #151515 !important; }

.button.button-text-dark-grey {
  color: #222 !important; }
  .button.button-text-dark-grey:hover {
    color: #151515 !important; }

.text-link.link-dark-grey {
  color: #222 !important;
  border-bottom-color: #222 !important; }
  .text-link.link-dark-grey:hover {
    color: #151515 !important;
    border-bottom-color: #151515 !important; }

.text-dark-grey {
  color: #222; }
  .text-dark-grey h1, .text-dark-grey h2, .text-dark-grey h4, .text-dark-grey a, .text-dark-grey li {
    color: #222; }

.border-dark-grey {
  border-color: #222; }

.line-dark-grey {
  border-color: #222; }

.heading-underline.underline-dark-grey {
  border-bottom-color: #222; }

.button.link-border.link-border-dark-grey:after {
  border-bottom-color: #222; }
  .button.link-border.link-border-dark-grey:after:hover {
    border-bottom-color: black; }

.button.link-border.text-dark-grey {
  color: #222; }
  .button.link-border.text-dark-grey:hover {
    color: black !important; }

.dark-blue a.accordion-title {
  background-color: #123246; }

.dark-blue .home-link .snippet-info {
  background-color: #123246; }

.dark-blue .home-link:hover .snippet-info {
  background-color: #020709 !important; }

.section-dark-blue h1 {
  color: #123246; }
  .section-dark-blue h1 .border-line {
    background-color: #123246; }

.section-dark-blue .home__hero h1 {
  color: #fefefe; }
  .section-dark-blue .home__hero h1 .border-line {
    background-color: #fefefe; }

.section-dark-blue .contact_details h1 {
  color: #fefefe; }

.section-dark-blue .text-white {
  color: #fefefe; }

.section-dark-blue .button-primary {
  background-color: #123246;
  color: #fefefe; }
  .section-dark-blue .button-primary:hover {
    background-color: #08151d; }

.bg-dark-blue {
  background-color: #123246; }
  .bg-dark-blue::after {
    background-color: #123246; }

.button.button-dark-blue {
  background-color: #123246 !important; }
  .button.button-dark-blue:hover {
    background-color: #0d2432 !important; }

.button.button-text-dark-blue {
  color: #123246 !important; }
  .button.button-text-dark-blue:hover {
    color: #0d2432 !important; }

.text-link.link-dark-blue {
  color: #123246 !important;
  border-bottom-color: #123246 !important; }
  .text-link.link-dark-blue:hover {
    color: #0d2432 !important;
    border-bottom-color: #0d2432 !important; }

.text-dark-blue {
  color: #123246; }
  .text-dark-blue h1, .text-dark-blue h2, .text-dark-blue h4, .text-dark-blue a, .text-dark-blue li {
    color: #123246; }

.border-dark-blue {
  border-color: #123246; }

.line-dark-blue {
  border-color: #123246; }

.heading-underline.underline-dark-blue {
  border-bottom-color: #123246; }

.button.link-border.link-border-dark-blue:after {
  border-bottom-color: #123246; }
  .button.link-border.link-border-dark-blue:after:hover {
    border-bottom-color: #020709; }

.button.link-border.text-dark-blue {
  color: #123246; }
  .button.link-border.text-dark-blue:hover {
    color: #020709 !important; }

.medium-blue a.accordion-title {
  background-color: #007988; }

.medium-blue .home-link .snippet-info {
  background-color: #007988; }

.medium-blue .home-link:hover .snippet-info {
  background-color: #00353c !important; }

.section-medium-blue h1 {
  color: #007988; }
  .section-medium-blue h1 .border-line {
    background-color: #007988; }

.section-medium-blue .home__hero h1 {
  color: #fefefe; }
  .section-medium-blue .home__hero h1 .border-line {
    background-color: #fefefe; }

.section-medium-blue .contact_details h1 {
  color: #fefefe; }

.section-medium-blue .text-white {
  color: #fefefe; }

.section-medium-blue .button-primary {
  background-color: #007988;
  color: #fefefe; }
  .section-medium-blue .button-primary:hover {
    background-color: #004c55; }

.bg-medium-blue {
  background-color: #007988; }
  .bg-medium-blue::after {
    background-color: #007988; }

.button.button-medium-blue {
  background-color: #007988 !important; }
  .button.button-medium-blue:hover {
    background-color: #00626f !important; }

.button.button-text-medium-blue {
  color: #007988 !important; }
  .button.button-text-medium-blue:hover {
    color: #00626f !important; }

.text-link.link-medium-blue {
  color: #007988 !important;
  border-bottom-color: #007988 !important; }
  .text-link.link-medium-blue:hover {
    color: #00626f !important;
    border-bottom-color: #00626f !important; }

.text-medium-blue {
  color: #007988; }
  .text-medium-blue h1, .text-medium-blue h2, .text-medium-blue h4, .text-medium-blue a, .text-medium-blue li {
    color: #007988; }

.border-medium-blue {
  border-color: #007988; }

.line-medium-blue {
  border-color: #007988; }

.heading-underline.underline-medium-blue {
  border-bottom-color: #007988; }

.button.link-border.link-border-medium-blue:after {
  border-bottom-color: #007988; }
  .button.link-border.link-border-medium-blue:after:hover {
    border-bottom-color: #00353c; }

.button.link-border.text-medium-blue {
  color: #007988; }
  .button.link-border.text-medium-blue:hover {
    color: #00353c !important; }

.light-blue a.accordion-title {
  background-color: #0da1ac; }

.light-blue .home-link .snippet-info {
  background-color: #0da1ac; }

.light-blue .home-link:hover .snippet-info {
  background-color: #085e65 !important; }

.section-light-blue h1 {
  color: #0da1ac; }
  .section-light-blue h1 .border-line {
    background-color: #0da1ac; }

.section-light-blue .home__hero h1 {
  color: #fefefe; }
  .section-light-blue .home__hero h1 .border-line {
    background-color: #fefefe; }

.section-light-blue .contact_details h1 {
  color: #fefefe; }

.section-light-blue .text-white {
  color: #fefefe; }

.section-light-blue .button-primary {
  background-color: #0da1ac;
  color: #fefefe; }
  .section-light-blue .button-primary:hover {
    background-color: #09757d; }

.bg-light-blue {
  background-color: #0da1ac; }
  .bg-light-blue::after {
    background-color: #0da1ac; }

.button.button-light-blue {
  background-color: #0da1ac !important; }
  .button.button-light-blue:hover {
    background-color: #0b8b94 !important; }

.button.button-text-light-blue {
  color: #0da1ac !important; }
  .button.button-text-light-blue:hover {
    color: #0b8b94 !important; }

.text-link.link-light-blue {
  color: #0da1ac !important;
  border-bottom-color: #0da1ac !important; }
  .text-link.link-light-blue:hover {
    color: #0b8b94 !important;
    border-bottom-color: #0b8b94 !important; }

.text-light-blue {
  color: #0da1ac; }
  .text-light-blue h1, .text-light-blue h2, .text-light-blue h4, .text-light-blue a, .text-light-blue li {
    color: #0da1ac; }

.border-light-blue {
  border-color: #0da1ac; }

.line-light-blue {
  border-color: #0da1ac; }

.heading-underline.underline-light-blue {
  border-bottom-color: #0da1ac; }

.button.link-border.link-border-light-blue:after {
  border-bottom-color: #0da1ac; }
  .button.link-border.link-border-light-blue:after:hover {
    border-bottom-color: #085e65; }

.button.link-border.text-light-blue {
  color: #0da1ac; }
  .button.link-border.text-light-blue:hover {
    color: #085e65 !important; }

.green a.accordion-title {
  background-color: #b9d532; }

.green .home-link .snippet-info {
  background-color: #b9d532; }

.green .home-link:hover .snippet-info {
  background-color: #869b20 !important; }

.section-green h1 {
  color: #b9d532; }
  .section-green h1 .border-line {
    background-color: #b9d532; }

.section-green .home__hero h1 {
  color: #fefefe; }
  .section-green .home__hero h1 .border-line {
    background-color: #fefefe; }

.section-green .contact_details h1 {
  color: #fefefe; }

.section-green .text-white {
  color: #fefefe; }

.section-green .button-primary {
  background-color: #b9d532;
  color: #fefefe; }
  .section-green .button-primary:hover {
    background-color: #98b024; }

.bg-green {
  background-color: #b9d532; }
  .bg-green::after {
    background-color: #b9d532; }

.button.button-green {
  background-color: #b9d532 !important; }
  .button.button-green:hover {
    background-color: #aac528 !important; }

.button.button-text-green {
  color: #b9d532 !important; }
  .button.button-text-green:hover {
    color: #aac528 !important; }

.text-link.link-green {
  color: #b9d532 !important;
  border-bottom-color: #b9d532 !important; }
  .text-link.link-green:hover {
    color: #aac528 !important;
    border-bottom-color: #aac528 !important; }

.text-green {
  color: #b9d532; }
  .text-green h1, .text-green h2, .text-green h4, .text-green a, .text-green li {
    color: #b9d532; }

.border-green {
  border-color: #b9d532; }

.line-green {
  border-color: #b9d532; }

.heading-underline.underline-green {
  border-bottom-color: #b9d532; }

.button.link-border.link-border-green:after {
  border-bottom-color: #b9d532; }
  .button.link-border.link-border-green:after:hover {
    border-bottom-color: #869b20; }

.button.link-border.text-green {
  color: #b9d532; }
  .button.link-border.text-green:hover {
    color: #869b20 !important; }

.border-bg-petals-grey-down .cell-border,
.row-inner-border.border-petals-grey-down .grid-x,
.bg-petals-grey-down {
  background: url("../../../../../uploads/bg-petals-grey-down.svg") no-repeat center;
  background-size: cover; }

.border-bg-petals-grey-up .cell-border,
.row-inner-border.border-petals-grey-up .grid-x,
.bg-petals-grey-up {
  background: url("../../../../../uploads/bg-petals-grey-up.svg") no-repeat center;
  background-size: cover; }

.border-bg-petals-white-down .cell-border,
.row-inner-border.border-petals-white-down .grid-x,
.bg-petals-white-down {
  background: url("../../../../../uploads/bg-petals-grey-down.svg") no-repeat center;
  background-size: cover; }

.border-bg-petals-white-up .cell-border,
.row-inner-border.border-petals-white-up .grid-x,
.bg-petals-white-up {
  background: url("../../../../../uploads/bg-petals-grey-up.svg") no-repeat center;
  background-size: cover; }

.card_pages .card .card-icon svg {
  fill: #0da1ac; }

body .gform_wrapper select option:first-child {
  color: #e0e1dc; }

form#designForm select {
  border: 1px solid #123246;
  background-color: #fff;
  color: #123246; }

.title-bar-jump-menu {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .title-bar-jump-menu .jump-menu {
    max-width: 160px;
    float: right;
    margin-right: 10px; }
  .title-bar-jump-menu form#designForm select {
    border: 1px solid #123246;
    background-color: #fefefe;
    color: #123246; }

.home-contact .gform_footer {
  text-align: center; }

.border-solid {
  border-width: 2px;
  border-style: solid; }

.border-solid-thick {
  border-width: 12px;
  border-style: solid; }

.petal-offset::before {
  content: '';
  position: absolute;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  opacity: 0.6; }
  @media screen and (max-width: 39.9375em) {
    .petal-offset::before {
      background: url("../../../../../uploads/pattern-petals_white-small.svg");
      background-size: 1700px 600px;
      background-position: bottom center;
      top: 0;
      left: 0;
      width: 100%;
      height: 325px; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .petal-offset::before {
      background: url("../../../../../uploads/pattern-petals_white-small.svg");
      background-size: 1700px 600px;
      background-position: bottom center;
      top: 0;
      left: 0;
      width: 100%;
      height: 575px; } }
  @media print, screen and (min-width: 64em) {
    .petal-offset::before {
      background: url("../../../../../uploads/pattern-petals_white.svg");
      background-size: 2500px 176px;
      bottom: 0;
      right: 0;
      height: 100%;
      width: calc(50% - 300px); } }

.section-bg-petals-grey_up::before {
  content: '';
  position: absolute;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-position: top center;
  bottom: 0;
  left: 0;
  width: 100%; }
  @media screen and (max-width: 39.9375em) {
    .section-bg-petals-grey_up::before {
      background-image: url("../../../../../uploads/border-petals-grey_up.svg");
      background-size: 51px 54px;
      height: 36px; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .section-bg-petals-grey_up::before {
      background-image: url("../../../../../uploads/border-petals-grey_up.svg");
      background-size: 102px 106px;
      height: 66px; } }
  @media print, screen and (min-width: 64em) {
    .section-bg-petals-grey_up::before {
      background-image: url("../../../../../uploads/border-petals-grey_up.svg");
      background-size: 154px 160px;
      height: 86px; } }

.section-bg-petals_up-white-seamless::before {
  content: '';
  position: absolute;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-position: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5; }
  @media screen and (max-width: 39.9375em) {
    .section-bg-petals_up-white-seamless::before {
      background-image: url("../../../../../uploads/border-petals_up-white-seamless.svg");
      background-size: 70px 80px; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .section-bg-petals_up-white-seamless::before {
      background-image: url("../../../../../uploads/border-petals_up-white-seamless.svg");
      background-size: 102px 116px; } }
  @media print, screen and (min-width: 64em) {
    .section-bg-petals_up-white-seamless::before {
      background-image: url("../../../../../uploads/border-petals_up-white-seamless.svg");
      background-size: 154px 176px; } }

.section-bg-petals_up-white-seamless .simple-panel-inner {
  z-index: 1; }

.divider {
  position: relative;
  width: 100%;
  z-index: 1; }
  .divider.grid-container {
    z-index: 3; }
  .divider.bg-petals-grey-down {
    height: 20px;
    background-size: 76px 20px;
    background-image: url("../../../../../uploads/divider-petals-grey-down.svg");
    background-repeat: repeat-x;
    background-position: top center; }
  .divider.bg-petals-grey-up {
    height: 20px;
    background-size: 76px 20px;
    background-image: url("../../../../../uploads/divider-petals-grey-up.svg");
    background-repeat: repeat-x;
    background-position: top center; }
  .divider.bg-petals-white-down {
    height: 20px;
    background-size: 76px 20px;
    background-image: url("../../../../../uploads/divider-petals-white-down.svg");
    background-repeat: repeat-x;
    background-position: top center; }
  .divider.bg-petals-white-up {
    height: 20px;
    background-size: 76px 20px;
    background-image: url("../../../../../uploads/divider-petals-white-up.svg");
    background-repeat: repeat-x;
    background-position: top center; }
  .divider.bg-solid-dark-grey {
    height: 2px;
    background-color: #888888; }
  .divider.bg-solid-light-grey {
    height: 2px;
    background-color: #e0e1dc; }
  .divider.bg-solid-light-blue {
    height: 2px;
    background-color: #0da1ac; }

@media print, screen and (min-width: 40em) {
  .column-divider-right {
    border-right-style: solid;
    border-right-width: 2px; }
    .column-divider-right.divider-solid-light-blue {
      border-right-color: #0da1ac; } }

.bg-light-grey + .bg-petals-grey_up {
  background-color: #e0e1dc; }

.divider-front + .divider {
  z-index: 3; }

.gallery-card {
  background-color: #e0e1dc; }
  .gallery-card .border-inner {
    padding: 20px; }
  .gallery-card .gallery-link {
    background-color: #fefefe;
    width: 100%; }
  .gallery-card .gallery-info {
    padding: 20px 10px;
    background-color: #fefefe;
    width: 100%; }
  .gallery-card h6, .gallery-card h4 {
    line-height: 1; }

.banner-promo {
  border: 2px solid #0da1ac;
  border-radius: 3px;
  padding: 5px;
  font-size: 1.6em;
  line-height: 1;
  display: inline-block;
  margin: 20px auto 0; }
  .banner-promo .banner-promo-inner {
    background-color: #0da1ac;
    border-radius: 3px;
    padding: 14px 30px;
    color: #fefefe; }

.availability-status {
  font-size: 1.5em;
  line-height: 1;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 6px;
  border: 3px solid #0da1ac; }
  @media print, screen and (min-width: 64em) {
    .availability-status {
      font-size: 1.8em; } }
  .availability-status .availability-location {
    padding: 0.5em 1em 0.3em; }
  .availability-status .availability-number {
    border-radius: 0 6px 6px 0;
    padding: 0.5em 1em 0.3em; }

.types-of-care-boxes .care-box {
  width: 100%;
  position: relative;
  background-color: #fefefe;
  border: 1px solid #0da1ac;
  color: #0da1ac;
  font-size: 1.2em;
  line-height: 1; }
  @media print, screen and (min-width: 64em) {
    .types-of-care-boxes .care-box {
      font-size: 1.5em; } }
  .types-of-care-boxes .care-box:before {
    content: "";
    display: block;
    padding-top: 100%; }
  .types-of-care-boxes .care-box:after {
    content: "+";
    display: block;
    bottom: 1%;
    text-align: center;
    position: absolute;
    width: 100%;
    pointer-events: none; }
  .types-of-care-boxes .care-box .care-box-content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
    .types-of-care-boxes .care-box .care-box-content:focus {
      outline: none; }
  .types-of-care-boxes .care-box:hover {
    color: #fefefe;
    background-color: #0da1ac; }

.reveal.reveal-care-type {
  background-color: #0da1ac;
  height: auto;
  min-height: 0;
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  outline: none; }

.types-of-care-list {
  font-size: 1.2em;
  text-align: center;
  margin-bottom: 10px; }
  @media print, screen and (min-width: 64em) {
    .types-of-care-list {
      font-size: 1.4em; } }
  .types-of-care-list span {
    display: inline-block;
    line-height: 1;
    margin: 0.2em auto 0.2em;
    padding: 0.2em 0.4em 0;
    border-left: 2px solid #0da1ac; }
    @media print, screen and (min-width: 64em) {
      .types-of-care-list span {
        margin: 1em auto 0.8em;
        padding: 0.2em 0.7em 0; } }
    .types-of-care-list span:first-child {
      border-left: 0 none; }

.pricing-table-header {
  border: 1px solid #6d6e70;
  border-radius: 3px;
  margin-top: 3em;
  margin-bottom: 1.5em;
  padding-top: 2em;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .pricing-table-header {
      margin-top: 4em; } }
  .pricing-table-header .availability-status-wrapper {
    position: absolute;
    top: -2em;
    width: 100%; }

.plc-pricing {
  border: 1px solid #6d6e70;
  border-bottom: 0 none;
  border-radius: 3px;
  margin-bottom: 2em; }
  .plc-pricing .pricing-header {
    font-size: 1.3em;
    line-height: 1.1;
    padding: 0.6em 1em;
    border-bottom: 1px solid #6d6e70;
    background-color: #0da1ac;
    color: #fefefe; }
  .plc-pricing .suite-item {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: repeat(2, 1fr); }
    .plc-pricing .suite-item .suite-cell {
      font-size: 1.3em;
      padding: 1em;
      line-height: 1.1;
      border-bottom: 1px solid #6d6e70; }
      .plc-pricing .suite-item .suite-cell .cell-heading {
        color: #0da1ac; }
    .plc-pricing .suite-item .suite-title {
      -ms-grid-column-span: 2;
      grid-column: span 2; }
    .plc-pricing .suite-item .suite-max-rad {
      -ms-grid-column-span: 1;
      grid-column: span 1; }
    .plc-pricing .suite-item .suite-max-dap {
      -ms-grid-column-span: 1;
      grid-column: span 1; }
    .plc-pricing .suite-item .suite-slider {
      -ms-grid-column-span: 2;
      grid-column: span 2; }
    .plc-pricing .suite-item .suite-rad {
      -ms-grid-column-span: 1;
      grid-column: span 1; }
    .plc-pricing .suite-item .suite-dap {
      -ms-grid-column-span: 1;
      grid-column: span 1; }
    .plc-pricing .suite-item .suite-daily-fee {
      -ms-grid-column-span: 2;
      grid-column: span 2; }
  @media screen and (max-width: 39.9375em) {
    .plc-pricing .suite {
      display: none; }
    .plc-pricing .suite-item .suite-max-rad {
      border-right: 1px solid #6d6e70; }
    .plc-pricing .suite-item .suite-rad {
      border-right: 1px solid #6d6e70; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .plc-pricing .pricing-header {
      font-size: 1.4em;
      line-height: 1.2;
      padding: 0.4em 0.6em 0.3em;
      border-bottom: 1px solid #6d6e70;
      background-color: #0da1ac;
      color: #fefefe; }
    .plc-pricing .suite-item {
      -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
      grid-template-columns: repeat(8, 1fr); }
      .plc-pricing .suite-item .suite-cell {
        font-size: 1.2em;
        line-height: 1.05;
        padding: 0.6em 0.5em 0.4em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
                align-items: center; }
      .plc-pricing .suite-item .suite-title {
        -ms-grid-column-span: 2;
        grid-column: span 2;
        border-right: 1px solid #6d6e70; }
      .plc-pricing .suite-item .suite-max-rad {
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
        grid-column: span 1;
        border-right: 1px solid #6d6e70; }
      .plc-pricing .suite-item .suite-max-dap {
        -ms-grid-column: 4;
        -ms-grid-column-span: 1;
        grid-column: span 1;
        border-right: 1px solid #6d6e70; }
      .plc-pricing .suite-item .suite-slider {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 6;
        -ms-grid-column-span: 2;
        grid-column: 6 / span 2; }
      .plc-pricing .suite-item .suite-rad {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 5;
        -ms-grid-column-span: 1;
        grid-column: 5 / span 1; }
      .plc-pricing .suite-item .suite-dap {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 8;
        -ms-grid-column-span: 1;
        grid-column: 8 / span 1; }
      .plc-pricing .suite-item .suite-daily-fee {
        -ms-grid-column: 3;
        -ms-grid-column-span: 6;
        grid-column: span 6; } }
  @media print, screen and (min-width: 64em) {
    .plc-pricing .pricing-header {
      font-size: 1.5em;
      line-height: 1.3;
      padding: 0.6em 1em;
      border-bottom: 1px solid #6d6e70;
      background-color: #0da1ac;
      color: #fefefe; }
    .plc-pricing .suite-item {
      width: 100%;
      -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
      grid-template-columns: repeat(8, 1fr); }
      .plc-pricing .suite-item .suite-cell {
        padding: 0.8em 1em 0.6em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
                align-items: center; }
      .plc-pricing .suite-item .suite-title {
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        grid-column: span 2;
        border-right: 1px solid #6d6e70; }
      .plc-pricing .suite-item .suite-max-rad {
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
        grid-column: span 1;
        border-right: 1px solid #6d6e70; }
      .plc-pricing .suite-item .suite-max-dap {
        -ms-grid-column: 4;
        -ms-grid-column-span: 1;
        grid-column: span 1;
        border-right: 1px solid #6d6e70; }
      .plc-pricing .suite-item .suite-slider {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 6;
        -ms-grid-column-span: 2;
        grid-column: 6 / span 2; }
      .plc-pricing .suite-item .suite-rad {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 5;
        -ms-grid-column-span: 1;
        grid-column: 5 / span 1; }
      .plc-pricing .suite-item .suite-dap {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 8;
        -ms-grid-column-span: 1;
        grid-column: 8 / span 1; }
      .plc-pricing .suite-item .suite-daily-fee {
        -ms-grid-column: 3;
        -ms-grid-column-span: 6;
        grid-column: span 6; } }
  .plc-pricing .dropdown {
    position: relative;
    /* Custom arrow sits on top of the select - could be an image, SVG, icon font, etc. or the arrow could just baked into the bg image on the select */ }
    .plc-pricing .dropdown select {
      width: 100%;
      height: 3.3em;
      margin: 0;
      background: none;
      border: 1px solid transparent;
      outline: none;
      /* Prefixed box-sizing rules necessary for older browsers */
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      /* Remove select styling */
      -moz-appearance: none;
           appearance: none;
      -webkit-appearance: none;
      /* Magic font size number to prevent iOS text zoom */
      font-size: 1.3em;
      color: #0da1ac;
      padding: 1em;
      line-height: 1.1;
      border-bottom: 1px solid #6d6e70; }
    .plc-pricing .dropdown select,
    .plc-pricing .dropdown label {
      color: #0da1ac; }
    .plc-pricing .dropdown::after {
      content: "";
      position: absolute;
      width: 9px;
      height: 8px;
      top: 50%;
      right: 1em;
      margin-top: -4px;
      z-index: 2;
      background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpolygon fill='rgb(102,102,102)' points='8,12 0,0 16,0'/%3E%3C/svg%3E") 0 0 no-repeat;
      /* These hacks make the select behind the arrow clickable in some browsers */
      pointer-events: none; }

@media screen and (max-width: 39.9375em) {
  .location-search {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; } }

.location-search .dropdown {
  position: relative;
  /* Custom arrow sits on top of the select - could be an image, SVG, icon font, etc. or the arrow could just baked into the bg image on the select */ }
  @media screen and (max-width: 39.9375em) {
    .location-search .dropdown {
      width: 100%; } }
  .location-search .dropdown select {
    width: 100%;
    height: 2.1em;
    margin: 0;
    background: none;
    border: 1px solid transparent;
    outline: none;
    /* Prefixed box-sizing rules necessary for older browsers */
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* Remove select styling */
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
    /* Magic font size number to prevent iOS text zoom */
    font-size: 1.6em;
    color: #0da1ac;
    padding: 0.5em 1.5em 0.4em 1em;
    line-height: 1.1;
    border: 2px solid #0da1ac;
    border-radius: 3px 0 0 3px; }
    @media screen and (max-width: 39.9375em) {
      .location-search .dropdown select {
        border-radius: 3px 3px 0 0; } }
  .location-search .dropdown select,
  .location-search .dropdown label {
    color: #0da1ac; }
    .location-search .dropdown select optgroup,
    .location-search .dropdown label optgroup {
      font-size: 1em; }
  .location-search .dropdown::after {
    content: "";
    position: absolute;
    width: 9px;
    height: 8px;
    top: 50%;
    right: 1em;
    margin-top: -4px;
    z-index: 2;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpolygon fill='rgb(102,102,102)' points='8,12 0,0 16,0'/%3E%3C/svg%3E") 0 0 no-repeat;
    /* These hacks make the select behind the arrow clickable in some browsers */
    pointer-events: none; }

.location-search .location-availability {
  font-size: 1.6em;
  display: none;
  line-height: 1.2; }
  @media screen and (max-width: 39.9375em) {
    .location-search .location-availability .flex-container {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      width: 100%; } }
  .location-search .location-availability .availability-text {
    border: 2px solid #0da1ac;
    height: 2.1em;
    padding: 0.5em 1em 0.3em; }
    @media screen and (max-width: 39.9375em) {
      .location-search .location-availability .availability-text {
        border-top: 0 none;
        width: 60%; } }
    @media print, screen and (min-width: 40em) {
      .location-search .location-availability .availability-text {
        border-left: 0 none; } }
  .location-search .location-availability .availability-number {
    height: 2.1em;
    border: 2px solid #0da1ac;
    padding: 0.5em 1em 0.3em;
    border-left: 0 none; }
    @media screen and (max-width: 39.9375em) {
      .location-search .location-availability .availability-number {
        border-top: 0 none;
        width: 40%; } }
    @media print, screen and (min-width: 40em) {
      .location-search .location-availability .availability-number {
        border-radius: 0 3px 3px 0; } }
  @media screen and (max-width: 39.9375em) {
    .location-search .location-availability .availability-link {
      width: 100%; } }
  .location-search .location-availability .availability-link a {
    height: 1.95em;
    line-height: 1.2;
    padding: 0.5em 1em 0.3em;
    margin-left: 10px;
    margin-bottom: 0; }
    @media screen and (max-width: 39.9375em) {
      .location-search .location-availability .availability-link a {
        margin-left: 0;
        width: 100%;
        border-radius: 0 0 3px 3px; } }

#search-modal.reveal {
  background-color: #0da1ac; }
  #search-modal.reveal .reveal-inner {
    height: 100vh; }

ul.tabs {
  text-align: center;
  margin: 0 !important; }
  ul.tabs li.tabs-title {
    float: none;
    display: inline-block;
    margin-left: 4px !important;
    margin-right: 4px;
    margin-bottom: 10px; }
    @media print, screen and (min-width: 40em) {
      ul.tabs li.tabs-title {
        margin-left: 10px !important;
        margin-right: 10px;
        margin-bottom: 25px; } }
    ul.tabs li.tabs-title > a {
      border-radius: 3px;
      border: 1px solid #0da1ac; }
      ul.tabs li.tabs-title > a:hover {
        color: #fefefe; }
      @media screen and (max-width: 39.9375em) {
        ul.tabs li.tabs-title > a {
          padding: .55em .6em .4em; } }

.testimonials-lightbox-grid .testimonial-wrapper {
  border-bottom: 2px solid #e0e1dc; }
  @media screen and (max-width: 39.9375em) {
    .testimonials-lightbox-grid .testimonial-wrapper {
      padding: 20px 0; } }

@media screen and (max-width: 39.9375em) {
  .testimonial-reveal {
    width: 92vw !important;
    top: 4vw !important;
    left: 4vw !important;
    bottom: 4vw !important;
    height: auto !important;
    min-height: auto !important; } }

.testimonial-reveal p {
  font-size: 110%; }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .all-location-contacts .column-divider-right:nth-child(2n) {
    border-right-style: none;
    border-right-width: 0; }
  .all-location-contacts .grid-padding-x > .column-divider-right.medium-6:nth-child(2n) .cell-border {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .all-location-contacts .column-divider-right:nth-child(3n) {
    border-right-style: none;
    border-right-width: 0; }
  .all-location-contacts .grid-padding-x > .column-divider-right.large-4 {
    width: 29%; }
  .all-location-contacts .grid-padding-x > .column-divider-right.large-4:nth-child(2),
  .all-location-contacts .grid-padding-x > .column-divider-right.large-4:nth-child(5) {
    width: 42%;
    max-width: 42%; }
    .all-location-contacts .grid-padding-x > .column-divider-right.large-4:nth-child(2) .cell-border,
    .all-location-contacts .grid-padding-x > .column-divider-right.large-4:nth-child(5) .cell-border {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
  .all-location-contacts .grid-padding-x > .column-divider-right.large-4:nth-child(3),
  .all-location-contacts .grid-padding-x > .column-divider-right.large-4:nth-child(6) {
    width: 29%; }
    .all-location-contacts .grid-padding-x > .column-divider-right.large-4:nth-child(3) .cell-border,
    .all-location-contacts .grid-padding-x > .column-divider-right.large-4:nth-child(6) .cell-border {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.single-suite .status-label-text {
  margin-top: -20px; }
  .single-suite .status-label-text .cell-content {
    padding: 10px 20px 8px;
    font-size: 1.6em;
    text-transform: uppercase;
    background-color: #0da1ac;
    color: #fefefe;
    line-height: 1;
    text-align: center; }

/*
$header-styles: (
  small: (
    'h1': ('font-size': 36),
    'h2': ('font-size': 36),
    'h3': ('font-size': 28),
    'h4': ('font-size': 18),
    'h5': ('font-size': 17),
    'h6': ('font-size': 16),
  ),
  medium: (
    'h1': ('font-size': 48),
    'h2': ('font-size': 40),
    'h3': ('font-size': 31),
    'h4': ('font-size': 25),
    'h5': ('font-size': 20),
    'h6': ('font-size': 16),
  ),
  large: (
    'h1': ('font-size': 70),
    'h2': ('font-size': 57),
    'h3': ('font-size': 36),
    'h4': ('font-size': 25),
    'h5': ('font-size': 20),
    'h6': ('font-size': 16),
  ),
);
*/
/**
 * Foundation for Sites by ZURB
 * Version 6.4.4-rc1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections
       ========================================================================== */
/**
     * Remove the margin in all browsers (opinionated).
     */
body {
  margin: 0; }

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
     * Correct the font size and margin on `h1` elements within `section` and
     * `article` contexts in Chrome, Firefox, and Safari.
     */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in Firefox 39-.
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */
b,
strong {
  font-weight: bolder; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

/**
     * Add the correct font size in all browsers.
     */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
     * Remove the border on images inside links in IE 10-.
     */
img {
  border-style: none; }

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
  overflow: hidden; }

/* Forms
       ========================================================================== */
/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
button,
select {
  /* 1 */
  text-transform: none; }

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Remove the default vertical scrollbar in IE.
     */
textarea {
  overflow: auto; }

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
details {
  display: block; }

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item; }

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

/* Hidden
       ========================================================================== */
/**
     * Add the correct display in IE 10-.
     */
[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64.0625em&xlarge=87.5em&xxlarge=125em"; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%; }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Perpetua", "Georgia", serif;
  font-weight: normal;
  line-height: 1.5;
  color: #222;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 3px; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 3px; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 3px;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -0.46875rem;
    margin-left: -0.46875rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64.0625em) {
      .row .row {
        margin-right: -1.5625rem;
        margin-left: -1.5625rem; } }
    @media screen and (min-width: 87.5em) {
      .row .row {
        margin-right: -1.5625rem;
        margin-left: -1.5625rem; } }
    @media screen and (min-width: 125em) {
      .row .row {
        margin-right: -1.5625rem;
        margin-left: -1.5625rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 0.46875rem;
    padding-left: 0.46875rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .row.gutter-large > .column, .row.gutter-large > .columns {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.46875rem;
  padding-left: 0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .column, .columns {
      padding-right: 1.5625rem;
      padding-left: 1.5625rem; } }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

.column.row.row, .row.row.columns {
  float: none; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.46875rem;
  padding-left: 0.46875rem; }

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  float: left;
  margin-right: 0;
  margin-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

@media print, screen and (min-width: 64.0625em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

@media screen and (min-width: 87.5em) {
  .xlarge-1 {
    width: 8.33333%; }
  .xlarge-push-1 {
    position: relative;
    left: 8.33333%; }
  .xlarge-pull-1 {
    position: relative;
    left: -8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    width: 16.66667%; }
  .xlarge-push-2 {
    position: relative;
    left: 16.66667%; }
  .xlarge-pull-2 {
    position: relative;
    left: -16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    width: 25%; }
  .xlarge-push-3 {
    position: relative;
    left: 25%; }
  .xlarge-pull-3 {
    position: relative;
    left: -25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    width: 33.33333%; }
  .xlarge-push-4 {
    position: relative;
    left: 33.33333%; }
  .xlarge-pull-4 {
    position: relative;
    left: -33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    width: 41.66667%; }
  .xlarge-push-5 {
    position: relative;
    left: 41.66667%; }
  .xlarge-pull-5 {
    position: relative;
    left: -41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    width: 50%; }
  .xlarge-push-6 {
    position: relative;
    left: 50%; }
  .xlarge-pull-6 {
    position: relative;
    left: -50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    width: 58.33333%; }
  .xlarge-push-7 {
    position: relative;
    left: 58.33333%; }
  .xlarge-pull-7 {
    position: relative;
    left: -58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    width: 66.66667%; }
  .xlarge-push-8 {
    position: relative;
    left: 66.66667%; }
  .xlarge-pull-8 {
    position: relative;
    left: -66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    width: 75%; }
  .xlarge-push-9 {
    position: relative;
    left: 75%; }
  .xlarge-pull-9 {
    position: relative;
    left: -75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    width: 83.33333%; }
  .xlarge-push-10 {
    position: relative;
    left: 83.33333%; }
  .xlarge-pull-10 {
    position: relative;
    left: -83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    width: 91.66667%; }
  .xlarge-push-11 {
    position: relative;
    left: 91.66667%; }
  .xlarge-pull-11 {
    position: relative;
    left: -91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
    float: left;
    width: 100%; }
    .xlarge-up-1 > .column:nth-of-type(1n), .xlarge-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-1 > .column:nth-of-type(1n+1), .xlarge-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .xlarge-up-1 > .column:last-child, .xlarge-up-1 > .columns:last-child {
      float: left; }
  .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
    float: left;
    width: 50%; }
    .xlarge-up-2 > .column:nth-of-type(1n), .xlarge-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-2 > .column:nth-of-type(2n+1), .xlarge-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .xlarge-up-2 > .column:last-child, .xlarge-up-2 > .columns:last-child {
      float: left; }
  .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .xlarge-up-3 > .column:nth-of-type(1n), .xlarge-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-3 > .column:nth-of-type(3n+1), .xlarge-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .xlarge-up-3 > .column:last-child, .xlarge-up-3 > .columns:last-child {
      float: left; }
  .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
    float: left;
    width: 25%; }
    .xlarge-up-4 > .column:nth-of-type(1n), .xlarge-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-4 > .column:nth-of-type(4n+1), .xlarge-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .xlarge-up-4 > .column:last-child, .xlarge-up-4 > .columns:last-child {
      float: left; }
  .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
    float: left;
    width: 20%; }
    .xlarge-up-5 > .column:nth-of-type(1n), .xlarge-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-5 > .column:nth-of-type(5n+1), .xlarge-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .xlarge-up-5 > .column:last-child, .xlarge-up-5 > .columns:last-child {
      float: left; }
  .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .xlarge-up-6 > .column:nth-of-type(1n), .xlarge-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-6 > .column:nth-of-type(6n+1), .xlarge-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .xlarge-up-6 > .column:last-child, .xlarge-up-6 > .columns:last-child {
      float: left; }
  .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .xlarge-up-7 > .column:nth-of-type(1n), .xlarge-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-7 > .column:nth-of-type(7n+1), .xlarge-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .xlarge-up-7 > .column:last-child, .xlarge-up-7 > .columns:last-child {
      float: left; }
  .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .xlarge-up-8 > .column:nth-of-type(1n), .xlarge-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-8 > .column:nth-of-type(8n+1), .xlarge-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .xlarge-up-8 > .column:last-child, .xlarge-up-8 > .columns:last-child {
      float: left; }
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xlarge-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .xlarge-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem; }
  .xlarge-centered {
    margin-right: auto;
    margin-left: auto; }
    .xlarge-centered, .xlarge-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .xlarge-uncentered,
  .xlarge-push-0,
  .xlarge-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

@media screen and (min-width: 125em) {
  .xxlarge-1 {
    width: 8.33333%; }
  .xxlarge-push-1 {
    position: relative;
    left: 8.33333%; }
  .xxlarge-pull-1 {
    position: relative;
    left: -8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    width: 16.66667%; }
  .xxlarge-push-2 {
    position: relative;
    left: 16.66667%; }
  .xxlarge-pull-2 {
    position: relative;
    left: -16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    width: 25%; }
  .xxlarge-push-3 {
    position: relative;
    left: 25%; }
  .xxlarge-pull-3 {
    position: relative;
    left: -25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    width: 33.33333%; }
  .xxlarge-push-4 {
    position: relative;
    left: 33.33333%; }
  .xxlarge-pull-4 {
    position: relative;
    left: -33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    width: 41.66667%; }
  .xxlarge-push-5 {
    position: relative;
    left: 41.66667%; }
  .xxlarge-pull-5 {
    position: relative;
    left: -41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    width: 50%; }
  .xxlarge-push-6 {
    position: relative;
    left: 50%; }
  .xxlarge-pull-6 {
    position: relative;
    left: -50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    width: 58.33333%; }
  .xxlarge-push-7 {
    position: relative;
    left: 58.33333%; }
  .xxlarge-pull-7 {
    position: relative;
    left: -58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    width: 66.66667%; }
  .xxlarge-push-8 {
    position: relative;
    left: 66.66667%; }
  .xxlarge-pull-8 {
    position: relative;
    left: -66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    width: 75%; }
  .xxlarge-push-9 {
    position: relative;
    left: 75%; }
  .xxlarge-pull-9 {
    position: relative;
    left: -75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    width: 83.33333%; }
  .xxlarge-push-10 {
    position: relative;
    left: 83.33333%; }
  .xxlarge-pull-10 {
    position: relative;
    left: -83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    width: 91.66667%; }
  .xxlarge-push-11 {
    position: relative;
    left: 91.66667%; }
  .xxlarge-pull-11 {
    position: relative;
    left: -91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
    float: left;
    width: 100%; }
    .xxlarge-up-1 > .column:nth-of-type(1n), .xxlarge-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-1 > .column:nth-of-type(1n+1), .xxlarge-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .xxlarge-up-1 > .column:last-child, .xxlarge-up-1 > .columns:last-child {
      float: left; }
  .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
    float: left;
    width: 50%; }
    .xxlarge-up-2 > .column:nth-of-type(1n), .xxlarge-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-2 > .column:nth-of-type(2n+1), .xxlarge-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .xxlarge-up-2 > .column:last-child, .xxlarge-up-2 > .columns:last-child {
      float: left; }
  .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .xxlarge-up-3 > .column:nth-of-type(1n), .xxlarge-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-3 > .column:nth-of-type(3n+1), .xxlarge-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .xxlarge-up-3 > .column:last-child, .xxlarge-up-3 > .columns:last-child {
      float: left; }
  .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
    float: left;
    width: 25%; }
    .xxlarge-up-4 > .column:nth-of-type(1n), .xxlarge-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-4 > .column:nth-of-type(4n+1), .xxlarge-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .xxlarge-up-4 > .column:last-child, .xxlarge-up-4 > .columns:last-child {
      float: left; }
  .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
    float: left;
    width: 20%; }
    .xxlarge-up-5 > .column:nth-of-type(1n), .xxlarge-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-5 > .column:nth-of-type(5n+1), .xxlarge-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .xxlarge-up-5 > .column:last-child, .xxlarge-up-5 > .columns:last-child {
      float: left; }
  .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .xxlarge-up-6 > .column:nth-of-type(1n), .xxlarge-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-6 > .column:nth-of-type(6n+1), .xxlarge-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .xxlarge-up-6 > .column:last-child, .xxlarge-up-6 > .columns:last-child {
      float: left; }
  .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .xxlarge-up-7 > .column:nth-of-type(1n), .xxlarge-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-7 > .column:nth-of-type(7n+1), .xxlarge-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .xxlarge-up-7 > .column:last-child, .xxlarge-up-7 > .columns:last-child {
      float: left; }
  .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .xxlarge-up-8 > .column:nth-of-type(1n), .xxlarge-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-8 > .column:nth-of-type(8n+1), .xxlarge-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .xxlarge-up-8 > .column:last-child, .xxlarge-up-8 > .columns:last-child {
      float: left; }
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xxlarge-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .xxlarge-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem; }
  .xxlarge-centered {
    margin-right: auto;
    margin-left: auto; }
    .xxlarge-centered, .xxlarge-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .xxlarge-uncentered,
  .xxlarge-push-0,
  .xxlarge-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

.column-block {
  margin-bottom: 0.9375rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 1.875rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }
  @media print, screen and (min-width: 64.0625em) {
    .column-block {
      margin-bottom: 3.125rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    margin-right: -0.46875rem;
    margin-left: -0.46875rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64.0625em) {
      .row .row {
        margin-right: -1.5625rem;
        margin-left: -1.5625rem; } }
    @media screen and (min-width: 87.5em) {
      .row .row {
        margin-right: -1.5625rem;
        margin-left: -1.5625rem; } }
    @media screen and (min-width: 125em) {
      .row .row {
        margin-right: -1.5625rem;
        margin-left: -1.5625rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

.column, .columns {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.46875rem;
  padding-left: 0.46875rem;
  min-width: 0; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .column, .columns {
      padding-right: 1.5625rem;
      padding-left: 1.5625rem; } }

.column.row.row, .row.row.columns {
  float: none;
  display: block; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 8.33333%;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 16.66667%;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.33333%;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 41.66667%;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 58.33333%;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 66.66667%;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 75%;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 83.33333%;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 91.66667%;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 14.28571%;
        -ms-flex: 0 0 14.28571%;
            flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.46875rem;
  padding-left: 0.46875rem; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .medium-expand {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 40em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 40em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media print, screen and (min-width: 64.0625em) {
  .large-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 64.0625em) and (min-width: 64.0625em) {
  .large-expand {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 64.0625em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 64.0625em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem; } }

@media screen and (min-width: 87.5em) {
  .xlarge-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xlarge-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xlarge-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xlarge-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xlarge-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xlarge-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xlarge-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xlarge-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 87.5em) and (min-width: 87.5em) {
  .xlarge-expand {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 87.5em) {
    .row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 87.5em) {
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem; } }

@media screen and (min-width: 125em) {
  .xxlarge-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xxlarge-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xxlarge-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxlarge-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xxlarge-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xxlarge-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxlarge-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxlarge-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 125em) and (min-width: 125em) {
  .xxlarge-expand {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 125em) {
    .row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 125em) {
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem; } }

.shrink {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%; }

.column-block {
  margin-bottom: 0.9375rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 1.875rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }
  @media print, screen and (min-width: 64.0625em) {
    .column-block {
      margin-bottom: 3.125rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

.grid-container {
  padding-right: 0.46875rem;
  padding-left: 0.46875rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.46875rem;
    padding-left: 0.46875rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
    @media print, screen and (min-width: 64.0625em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media print, screen and (min-width: 64.0625em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 87.5em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 125em) {
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64.0625em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

@media screen and (min-width: 87.5em) {
  .grid-x > .xlarge-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xlarge-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .xlarge-1 {
    width: 8.33333%; }
  .grid-x > .xlarge-2 {
    width: 16.66667%; }
  .grid-x > .xlarge-3 {
    width: 25%; }
  .grid-x > .xlarge-4 {
    width: 33.33333%; }
  .grid-x > .xlarge-5 {
    width: 41.66667%; }
  .grid-x > .xlarge-6 {
    width: 50%; }
  .grid-x > .xlarge-7 {
    width: 58.33333%; }
  .grid-x > .xlarge-8 {
    width: 66.66667%; }
  .grid-x > .xlarge-9 {
    width: 75%; }
  .grid-x > .xlarge-10 {
    width: 83.33333%; }
  .grid-x > .xlarge-11 {
    width: 91.66667%; }
  .grid-x > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 125em) {
  .grid-x > .xxlarge-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xxlarge-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .xxlarge-1 {
    width: 8.33333%; }
  .grid-x > .xxlarge-2 {
    width: 16.66667%; }
  .grid-x > .xxlarge-3 {
    width: 25%; }
  .grid-x > .xxlarge-4 {
    width: 33.33333%; }
  .grid-x > .xxlarge-5 {
    width: 41.66667%; }
  .grid-x > .xxlarge-6 {
    width: 50%; }
  .grid-x > .xxlarge-7 {
    width: 58.33333%; }
  .grid-x > .xxlarge-8 {
    width: 66.66667%; }
  .grid-x > .xxlarge-9 {
    width: 75%; }
  .grid-x > .xxlarge-10 {
    width: 83.33333%; }
  .grid-x > .xxlarge-11 {
    width: 91.66667%; }
  .grid-x > .xxlarge-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.46875rem;
  margin-right: -0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.625rem;
      margin-right: -0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 0.9375rem);
    margin-left: 0.46875rem;
    margin-right: 0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.25rem);
      margin-left: 0.625rem;
      margin-right: 0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 0.9375rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 0.9375rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 0.9375rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 0.9375rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 0.9375rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 0.9375rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 0.9375rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 0.9375rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 0.9375rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 0.9375rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 0.9375rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 0.9375rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.25rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.25rem); } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.875rem); } }
  @media screen and (min-width: 87.5em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 1.875rem); } }
  @media screen and (min-width: 125em) {
    .grid-margin-x > .xxlarge-auto {
      width: auto; }
    .grid-margin-x > .xxlarge-shrink {
      width: auto; }
    .grid-margin-x > .xxlarge-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .xxlarge-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .xxlarge-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .xxlarge-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-12 {
      width: calc(100% - 1.875rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.46875rem;
  margin-left: -0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.46875rem;
  margin-left: -0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell {
  padding-right: 0.46875rem;
  padding-left: 0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-padding-x > .cell {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64.0625em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 87.5em) {
  .xlarge-up-1 > .cell {
    width: 100%; }
  .xlarge-up-2 > .cell {
    width: 50%; }
  .xlarge-up-3 > .cell {
    width: 33.33333%; }
  .xlarge-up-4 > .cell {
    width: 25%; }
  .xlarge-up-5 > .cell {
    width: 20%; }
  .xlarge-up-6 > .cell {
    width: 16.66667%; }
  .xlarge-up-7 > .cell {
    width: 14.28571%; }
  .xlarge-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 125em) {
  .xxlarge-up-1 > .cell {
    width: 100%; }
  .xxlarge-up-2 > .cell {
    width: 50%; }
  .xxlarge-up-3 > .cell {
    width: 33.33333%; }
  .xxlarge-up-4 > .cell {
    width: 25%; }
  .xxlarge-up-5 > .cell {
    width: 20%; }
  .xxlarge-up-6 > .cell {
    width: 16.66667%; }
  .xxlarge-up-7 > .cell {
    width: 14.28571%; }
  .xxlarge-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 0.9375rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 0.9375rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 0.9375rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 0.9375rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 0.9375rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 0.9375rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 0.9375rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 0.9375rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 0.9375rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 0.9375rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 0.9375rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 0.9375rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 0.9375rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 0.9375rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 0.9375rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 0.9375rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

@media print, screen and (min-width: 64.0625em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 0.9375rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 0.9375rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 0.9375rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 0.9375rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 0.9375rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 0.9375rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 0.9375rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 0.9375rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media screen and (min-width: 87.5em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media screen and (min-width: 125em) {
  .grid-margin-x.xxlarge-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.xxlarge-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.xxlarge-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.xxlarge-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.xxlarge-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.xxlarge-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.xxlarge-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.xxlarge-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64.0625em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }
  @media screen and (min-width: 87.5em) {
    .small-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xlarge-12 {
      width: 100%; } }
  @media screen and (min-width: 125em) {
    .small-margin-collapse > .xxlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xxlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xxlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xxlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xxlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xxlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xxlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xxlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xxlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xxlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xxlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xxlarge-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64.0625em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 87.5em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 125em) {
  .medium-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64.0625em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 64.0625em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 64.0625em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64.0625em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 87.5em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 125em) {
  .large-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media print, screen and (min-width: 64.0625em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 87.5em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 87.5em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 87.5em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 87.5em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 87.5em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 125em) {
  .xlarge-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 87.5em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 125em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 125em) {
  .xxlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 125em) {
  .xxlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 125em) {
  .xxlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 125em) {
  .xxlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 125em) {
  .xxlarge-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 125em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.46875rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.46875rem); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.46875rem); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.46875rem); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.46875rem); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.46875rem); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.46875rem); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.46875rem); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.46875rem); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.46875rem); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.46875rem); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.46875rem); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.625rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.625rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.625rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.625rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.625rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.625rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.625rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.625rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.625rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.625rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.625rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.625rem); } }

@media print, screen and (min-width: 64.0625em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media screen and (min-width: 87.5em) {
  .xlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media screen and (min-width: 125em) {
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xxlarge-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xxlarge-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xxlarge-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xxlarge-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xxlarge-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xxlarge-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xxlarge-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xxlarge-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xxlarge-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xxlarge-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xxlarge-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xxlarge-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

.grid-y {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto;
    max-width: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 87.5em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 125em) {
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }
  @media screen and (min-width: 87.5em) {
    .grid-y > .xlarge-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 125em) {
    .grid-y > .xxlarge-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 8.33333%; }
    .grid-y > .xxlarge-2 {
      height: 16.66667%; }
    .grid-y > .xxlarge-3 {
      height: 25%; }
    .grid-y > .xxlarge-4 {
      height: 33.33333%; }
    .grid-y > .xxlarge-5 {
      height: 41.66667%; }
    .grid-y > .xxlarge-6 {
      height: 50%; }
    .grid-y > .xxlarge-7 {
      height: 58.33333%; }
    .grid-y > .xxlarge-8 {
      height: 66.66667%; }
    .grid-y > .xxlarge-9 {
      height: 75%; }
    .grid-y > .xxlarge-10 {
      height: 83.33333%; }
    .grid-y > .xxlarge-11 {
      height: 91.66667%; }
    .grid-y > .xxlarge-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.46875rem;
  margin-bottom: -0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell {
  padding-top: 0.46875rem;
  padding-bottom: 0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-padding-y > .cell {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -0.46875rem;
  margin-bottom: -0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.9375rem);
    margin-top: 0.46875rem;
    margin-bottom: 0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.9375rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.9375rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.9375rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.9375rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.9375rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.9375rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.9375rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.9375rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.9375rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.9375rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.9375rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.9375rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 87.5em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 125em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64.0625em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 87.5em) {
  .xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .xlarge-grid-frame {
    width: 100%; }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xlarge-cell-block-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 125em) {
  .xxlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .xxlarge-grid-frame {
    width: 100%; }
  .xxlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xxlarge-cell-block-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xxlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .xxlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64.0625em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media screen and (min-width: 87.5em) {
  .grid-y.xlarge-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media screen and (min-width: 125em) {
  .grid-y.xxlarge-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64.0625em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

@media screen and (min-width: 87.5em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 125em) {
  .cell .grid-y.xxlarge-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.46875rem;
  margin-bottom: -0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.9375rem);
    margin-top: 0.46875rem;
    margin-bottom: 0.46875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.9375rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.9375rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.9375rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.9375rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.9375rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.9375rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.9375rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.9375rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.9375rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.9375rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.9375rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.9375rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 87.5em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 125em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 0.9375rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media screen and (min-width: 87.5em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media screen and (min-width: 125em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.25rem); } }

@media print, screen and (min-width: 64.0625em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media screen and (min-width: 87.5em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media screen and (min-width: 125em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 1.875rem); } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 2rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Perpetua", "Georgia", serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #6d6e70; }

h1, .h1 {
  font-size: 1.875rem;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 1.4rem; }

h2, .h2 {
  font-size: 1.875rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 1.4rem; }

h3, .h3 {
  font-size: 1.625rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 1.4rem; }

h4, .h4 {
  font-size: 1.375rem;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 1.4rem; }

h5, .h5 {
  font-size: 1.5rem;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 1.4rem; }

h6, .h6 {
  font-size: 1.375rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 1.4rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 2.25rem; }
  h2, .h2 {
    font-size: 2.25rem; }
  h3, .h3 {
    font-size: 1.875rem;
    line-height: 1.1; }
  h4, .h4 {
    font-size: 1.375rem; }
  h5, .h5 {
    font-size: 1.375rem; }
  h6, .h6 {
    font-size: 1.25rem; } }

@media print, screen and (min-width: 64.0625em) {
  h1, .h1 {
    font-size: 4rem;
    line-height: 1; }
  h2, .h2 {
    font-size: 4rem;
    line-height: 1; }
  h3, .h3 {
    font-size: 3.125rem;
    line-height: 1; }
  h4, .h4 {
    font-size: 2.4375rem;
    line-height: 1; }
  h5, .h5 {
    font-size: 2rem; }
  h6, .h6 {
    font-size: 1.625rem; } }

a {
  line-height: inherit;
  color: #0da1ac;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #0b8a94; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #6d6e70;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 2rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 2rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #6d6e70; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #222; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #222; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #6d6e70;
  background-color: #e0e1dc;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e0e1dc;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a;
  border-radius: 3px; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #222; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center, .archive-heading {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64.0625em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

@media screen and (min-width: 87.5em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 125em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: "Perpetua", "Georgia", serif;
  padding: 0.75em 1.8em 0.55em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #0da1ac;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #0b8992;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.7rem; }
  .button.small {
    font-size: 0.9rem; }
  .button.large {
    font-size: 1.7rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #0da1ac;
    color: #0a0a0a; }
    .button.primary:hover, .button.primary:focus {
      background-color: #0a818a;
      color: #0a0a0a; }
  .button.secondary {
    background-color: #6d6e70;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #57585a;
      color: #fefefe; }
  .button.accent {
    background-color: #0da1ac;
    color: #0a0a0a; }
    .button.accent:hover, .button.accent:focus {
      background-color: #0a818a;
      color: #0a0a0a; }
  .button.light {
    background-color: #fff;
    color: #0a0a0a; }
    .button.light:hover, .button.light:focus {
      background-color: #cccccc;
      color: #0a0a0a; }
  .button.dark {
    background-color: #767676;
    color: #fefefe; }
    .button.dark:hover, .button.dark:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #0da1ac;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #0da1ac;
        color: #0a0a0a; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #6d6e70;
        color: #fefefe; }
    .button.disabled.accent, .button[disabled].accent {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.accent, .button.disabled.accent:hover, .button.disabled.accent:focus, .button[disabled].accent, .button[disabled].accent:hover, .button[disabled].accent:focus {
        background-color: #0da1ac;
        color: #0a0a0a; }
    .button.disabled.light, .button[disabled].light {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.light, .button.disabled.light:hover, .button.disabled.light:focus, .button[disabled].light, .button[disabled].light:hover, .button[disabled].light:focus {
        background-color: #fff;
        color: #0a0a0a; }
    .button.disabled.dark, .button[disabled].dark {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.dark, .button.disabled.dark:hover, .button.disabled.dark:focus, .button[disabled].dark, .button[disabled].dark:hover, .button[disabled].dark:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.hollow {
    border: 1px solid #0da1ac;
    color: #0da1ac; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #075156;
      color: #075156; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #0da1ac;
        color: #0da1ac; }
    .button.hollow.primary {
      border: 1px solid #0da1ac;
      color: #0da1ac; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #075156;
        color: #075156; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #0da1ac;
          color: #0da1ac; }
    .button.hollow.secondary {
      border: 1px solid #6d6e70;
      color: #6d6e70; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #373738;
        color: #373738; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #6d6e70;
          color: #6d6e70; }
    .button.hollow.accent {
      border: 1px solid #0da1ac;
      color: #0da1ac; }
      .button.hollow.accent:hover, .button.hollow.accent:focus {
        border-color: #075156;
        color: #075156; }
        .button.hollow.accent:hover.disabled, .button.hollow.accent:hover[disabled], .button.hollow.accent:focus.disabled, .button.hollow.accent:focus[disabled] {
          border: 1px solid #0da1ac;
          color: #0da1ac; }
    .button.hollow.light {
      border: 1px solid #fff;
      color: #fff; }
      .button.hollow.light:hover, .button.hollow.light:focus {
        border-color: gray;
        color: gray; }
        .button.hollow.light:hover.disabled, .button.hollow.light:hover[disabled], .button.hollow.light:focus.disabled, .button.hollow.light:focus[disabled] {
          border: 1px solid #fff;
          color: #fff; }
    .button.hollow.dark {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.dark:hover, .button.hollow.dark:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.dark:hover.disabled, .button.hollow.dark:hover[disabled], .button.hollow.dark:focus.disabled, .button.hollow.dark:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #0da1ac;
    color: #0da1ac; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #075156;
      color: #075156; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #0da1ac;
        color: #0da1ac; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #0da1ac;
      color: #0da1ac; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #075156;
        color: #075156; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #0da1ac;
          color: #0da1ac; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #6d6e70;
      color: #6d6e70; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #373738;
        color: #373738; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #6d6e70;
          color: #6d6e70; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.accent {
      border: 1px solid #0da1ac;
      color: #0da1ac; }
      .button.clear.accent:hover, .button.clear.accent:focus {
        border-color: #075156;
        color: #075156; }
        .button.clear.accent:hover.disabled, .button.clear.accent:hover[disabled], .button.clear.accent:focus.disabled, .button.clear.accent:focus[disabled] {
          border: 1px solid #0da1ac;
          color: #0da1ac; }
      .button.clear.accent, .button.clear.accent.disabled, .button.clear.accent[disabled], .button.clear.accent:hover, .button.clear.accent:hover.disabled, .button.clear.accent:hover[disabled], .button.clear.accent:focus, .button.clear.accent:focus.disabled, .button.clear.accent:focus[disabled] {
        border-color: transparent; }
    .button.clear.light {
      border: 1px solid #fff;
      color: #fff; }
      .button.clear.light:hover, .button.clear.light:focus {
        border-color: gray;
        color: gray; }
        .button.clear.light:hover.disabled, .button.clear.light:hover[disabled], .button.clear.light:focus.disabled, .button.clear.light:focus[disabled] {
          border: 1px solid #fff;
          color: #fff; }
      .button.clear.light, .button.clear.light.disabled, .button.clear.light[disabled], .button.clear.light:hover, .button.clear.light:hover.disabled, .button.clear.light:hover[disabled], .button.clear.light:focus, .button.clear.light:focus.disabled, .button.clear.light:focus[disabled] {
        border-color: transparent; }
    .button.clear.dark {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.dark:hover, .button.clear.dark:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.dark:hover.disabled, .button.clear.dark:hover[disabled], .button.clear.dark:focus.disabled, .button.clear.dark:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.dark, .button.clear.dark.disabled, .button.clear.dark[disabled], .button.clear.dark:hover, .button.clear.dark:hover.disabled, .button.clear.dark:hover[disabled], .button.clear.dark:focus, .button.clear.dark:focus.disabled, .button.clear.dark:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1.8em; }
  .button.dropdown.hollow::after {
    border-top-color: #0da1ac; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #0da1ac; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #6d6e70; }
  .button.dropdown.hollow.accent::after {
    border-top-color: #0da1ac; }
  .button.dropdown.hollow.light::after {
    border-top-color: #fff; }
  .button.dropdown.hollow.dark::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #6d6e70;
  border-radius: 3px;
  background-color: rgba(254, 254, 254, 0.6);
  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #222;
    background-color: rgba(254, 254, 254, 0.8);
    -webkit-box-shadow: 0 0 5px #6d6e70;
            box-shadow: 0 0 5px #6d6e70;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #6d6e70; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #6d6e70; }

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #6d6e70; }

input::placeholder,
textarea::placeholder {
  color: #6d6e70; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e0e1dc;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 3px; }

input[type='search'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 3px 0 0 3px; }
  .input-group > :last-child > * {
    border-radius: 0 3px 3px 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #6d6e70;
  background: #e0e1dc;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: auto;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
            align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #6d6e70; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #6d6e70;
  border-radius: 3px;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2813, 161, 172%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #222;
    background-color: rgba(254, 254, 254, 0.8);
    -webkit-box-shadow: 0 0 5px #6d6e70;
            box-shadow: 0 0 5px #6d6e70;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  select:disabled {
    background-color: #e0e1dc;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.accordion {
  margin-left: 0;
  background: transparent;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 3px 3px 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 3px 3px; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1rem;
  border: 1px solid #6d6e70;
  border-bottom: 0;
  font-size: 1.5rem;
  line-height: 1;
  color: #0da1ac; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #6d6e70;
    border-radius: 0 0 3px 3px; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #0b8b94; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #6d6e70;
  border-bottom: 0;
  background-color: #fefefe;
  color: #222; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #6d6e70; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.5rem 1.3rem 0.35rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.5rem 1.3rem 0.35rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0da1ac transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0da1ac transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
      -ms-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #0da1ac;
  color: #fefefe; }
  .badge.primary {
    background: #0da1ac;
    color: #0a0a0a; }
  .badge.secondary {
    background: #6d6e70;
    color: #fefefe; }
  .badge.accent {
    background: #0da1ac;
    color: #0a0a0a; }
  .badge.light {
    background: #fff;
    color: #0a0a0a; }
  .badge.dark {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #6d6e70; }
  .breadcrumbs a {
    color: #0da1ac; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #6d6e70;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 1.4rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.7rem; }
  .button-group.small .button {
    font-size: 0.9rem; }
  .button-group.large .button {
    font-size: 1.7rem; }
  .button-group.expanded .button {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #0da1ac;
    color: #0a0a0a; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #0a818a;
      color: #0a0a0a; }
  .button-group.secondary .button {
    background-color: #6d6e70;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #57585a;
      color: #fefefe; }
  .button-group.accent .button {
    background-color: #0da1ac;
    color: #0a0a0a; }
    .button-group.accent .button:hover, .button-group.accent .button:focus {
      background-color: #0a818a;
      color: #0a0a0a; }
  .button-group.light .button {
    background-color: #fff;
    color: #0a0a0a; }
    .button-group.light .button:hover, .button-group.light .button:focus {
      background-color: #cccccc;
      color: #0a0a0a; }
  .button-group.dark .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.dark .button:hover, .button-group.dark .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64.0625em) {
    .button-group.stacked-for-medium .button {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 3px;
  background-color: white;
  color: #222; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d2f9fc;
    color: #222; }
  .callout.secondary {
    background-color: #e9e9ea;
    color: #222; }
  .callout.accent {
    background-color: #d2f9fc;
    color: #222; }
  .callout.light {
    background-color: white;
    color: #222; }
  .callout.dark {
    background-color: #eaeaea;
    color: #222; }
  .callout.success {
    background-color: #e1faea;
    color: #222; }
  .callout.warning {
    background-color: #fff3d9;
    color: #222; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #222; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e0e1dc;
  border-radius: 3px;
  background: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #222; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem;
  background: #e0e1dc; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.close-button {
  position: absolute;
  color: #222;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #fefefe; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.5rem 1.3rem 0.35rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64.0625em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 87.5em) {
    .menu.xlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xlarge-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xlarge-simple li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 125em) {
    .menu.xxlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xxlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xxlarge-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xxlarge-simple li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: transparent;
    color: #0da1ac; }
  .menu .active > a {
    background: transparent;
    color: #0da1ac; }
  .menu.align-left {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li, .text-center .menu.button-group li, .archive-heading .menu.button-group li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li, .text-center .menu.button-group li .submenu li, .archive-heading .menu.button-group li .submenu li {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.5rem 1.3rem 0.35rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu-centered > .menu li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
            box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #6d6e70;
    -webkit-box-shadow: 0 7px 0 #6d6e70, 0 14px 0 #6d6e70;
            box-shadow: 0 7px 0 #6d6e70, 0 14px 0 #6d6e70; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #0a0a0a;
    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    -webkit-transition: height 0.5s;
    transition: height 0.5s; }

.drilldown a {
  padding: 0.5rem 1.3rem 0.35rem;
  background: #fefefe; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.5rem 1.3rem 0.35rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0da1ac; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #fefefe; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #fefefe transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0da1ac transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #6d6e70;
  border-radius: 3px;
  background-color: #fefefe;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #fefefe transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

.dropdown.menu a {
  padding: 0.5rem 1.3rem 0.35rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent;
  color: #0da1ac; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #fefefe transparent transparent; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #fefefe; }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #fefefe transparent transparent; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #fefefe; } }

@media print, screen and (min-width: 64.0625em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #fefefe transparent transparent; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #fefefe; } }

@media screen and (min-width: 87.5em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #fefefe transparent transparent; }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #fefefe; } }

@media screen and (min-width: 125em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #fefefe transparent transparent; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #fefefe; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #6d6e70;
  background: #123246; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.5rem 1.3rem 0.35rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #fefefe transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #fefefe; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 3px;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #0da1ac;
  color: #fefefe; }
  .label.primary {
    background: #0da1ac;
    color: #0a0a0a; }
  .label.secondary {
    background: #6d6e70;
    color: #fefefe; }
  .label.accent {
    background: #0da1ac;
    color: #0a0a0a; }
  .label.light {
    background: #fff;
    color: #0a0a0a; }
  .label.dark {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e0e1dc; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e0e1dc; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push {
    -webkit-box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push {
    -webkit-box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    -webkit-box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    -webkit-box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64.0625em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 87.5em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 125em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    -webkit-transition: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64.0625em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    -webkit-transition: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 87.5em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    -webkit-transition: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

@media screen and (min-width: 125em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    -webkit-transition: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xxlarge .close-button {
      display: none; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #6d6e70; }
    .orbit-bullets button:hover {
      background-color: #222; }
    .orbit-bullets button.is-active {
      background-color: #222; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 3px;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 3px;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e0e1dc; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #0da1ac;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #6d6e70;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 3px;
  background-color: #6d6e70; }
  .progress.primary .progress-meter {
    background-color: #0da1ac; }
  .progress.secondary .progress-meter {
    background-color: #6d6e70; }
  .progress.accent .progress-meter {
    background-color: #0da1ac; }
  .progress.light .progress-meter {
    background-color: #fff; }
  .progress.dark .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #0da1ac;
  border-radius: 3px; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap;
  border-radius: 3px; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e0e1dc;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #6d6e70;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 3px;
  background-color: #0da1ac;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #0b8992; }
  .slider-handle.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: scroll; }
  html.is-reveal-open body {
    overflow: hidden; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 0;
  border: 0 none;
  border-radius: 3px;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 3px;
  background: #6d6e70;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 3px;
    background: #fefefe;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #0da1ac; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 3px; }
  thead, tbody, tfoot {
    border: 0px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.75rem 0.625rem 0.5rem;
    font-weight: bold; }
  thead {
    background: #f8f8f8;
    color: #222; }
  tfoot {
    background: #f1f1f1;
    color: #222; }
  thead tr, tfoot tr {
    background: transparent; }
  thead th, thead td, tfoot th, tfoot td {
    padding: 0.75rem 0.625rem 0.5rem;
    font-weight: bold;
    text-align: left; }
  tbody th, tbody td {
    padding: 0.75rem 0.625rem 0.5rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 0px solid #f1f1f1;
      background-color: #fefefe; }

@media screen and (max-width: 64em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  border: 1px solid none;
  background: transparent;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #0da1ac; }
  .tabs.primary > li > a {
    color: #0a0a0a; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #0eafbb; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 0.75em 2em 0.6em;
    font-size: 1.375rem;
    line-height: 1;
    color: #0da1ac; }
    .tabs-title > a:hover {
      background: #0da1ac;
      color: #0b8a94; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #0da1ac;
      color: #fefefe; }

.tabs-content {
  border: 1px solid none;
  border-top: 0;
  background: #fefefe;
  color: #6d6e70;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid none;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1em; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
          box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  -webkit-transition: -webkit-box-shadow 200ms ease-out;
  transition: -webkit-box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    -webkit-box-shadow: 0 0 6px 1px rgba(13, 161, 172, 0.5);
            box-shadow: 0 0 6px 1px rgba(13, 161, 172, 0.5); }
  a.thumbnail image {
    -webkit-box-shadow: none;
            box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #123246;
  color: #fefefe;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #222;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 3px;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before, .text-center .tooltip.bottom.button-group::before, .archive-heading .tooltip.bottom.button-group::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before, .text-center .tooltip.top.button-group::before, .archive-heading .tooltip.top.button-group::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before, .text-center .tooltip.left.button-group::before, .archive-heading .tooltip.left.button-group::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before, .text-center .tooltip.right.button-group::before, .archive-heading .tooltip.right.button-group::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.top-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 10px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #123246; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 64em) {
    .top-bar.stacked-for-medium {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 87.4375em) {
    .top-bar.stacked-for-large {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 124.9375em) {
    .top-bar.stacked-for-xlarge {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-xlarge .top-bar-left,
      .top-bar.stacked-for-xlarge .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  .top-bar.stacked-for-xxlarge {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .top-bar.stacked-for-xxlarge .top-bar-left,
    .top-bar.stacked-for-xxlarge .top-bar-right {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }

.top-bar-title {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 39.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 64.0625em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64.0625em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 64em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64.0625em) and (max-width: 87.4375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 64em), screen and (min-width: 87.5em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 87.5em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 87.4375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 87.5em) and (max-width: 124.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 87.4375em), screen and (min-width: 125em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 125em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 124.9375em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 125em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 124.9375em) {
  .show-for-xxlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.align-left {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center, .text-center .button-group, .archive-heading .button-group {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.align-left.vertical.menu > li > a {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a, .text-center .vertical.menu.button-group > li > a, .archive-heading .vertical.menu.button-group > li > a {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center; }

.align-stretch {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64.0625em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 87.5em) {
  .xlarge-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 125em) {
  .xxlarge-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxlarge-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxlarge-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxlarge-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxlarge-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxlarge-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 64.0625em) {
  .large-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 87.5em) {
  .xlarge-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 125em) {
  .xxlarge-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xxlarge-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xxlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.slide-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }

.slide-out-right.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }

.fade-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 1;
  -webkit-transition-property: opacity;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  -webkit-transition-duration: 750ms !important;
          transition-duration: 750ms !important; }

.fast {
  -webkit-transition-duration: 250ms !important;
          transition-duration: 250ms !important; }

.linear {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important; }

.ease {
  -webkit-transition-timing-function: ease !important;
          transition-timing-function: ease !important; }

.ease-in {
  -webkit-transition-timing-function: ease-in !important;
          transition-timing-function: ease-in !important; }

.ease-out {
  -webkit-transition-timing-function: ease-out !important;
          transition-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-transition-timing-function: ease-in-out !important;
          transition-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-transition-delay: 300ms !important;
          transition-delay: 300ms !important; }

.long-delay {
  -webkit-transition-delay: 700ms !important;
          transition-delay: 700ms !important; }

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn); } }

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms; }

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important; }

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important; }

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important; }

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important; }

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important; }

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important; }

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important; }

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

h1 {
  color: #6d6e70; }
  h1.body-font {
    font-family: "Perpetua", "Georgia", serif; }
  h1 span {
    font-weight: normal;
    font-size: 0.55em;
    line-height: 1.2;
    display: inline-block; }
    @media print, screen and (min-width: 40em) {
      h1 span {
        font-size: 0.45em; } }

h2 {
  color: #6d6e70; }
  h2.body-font {
    font-family: "Perpetua", "Georgia", serif; }

h3, h4 {
  color: #6d6e70; }
  h3.body-font, h4.body-font {
    font-family: "Perpetua", "Georgia", serif; }

h5 {
  color: #0da1ac; }
  h5.body-font {
    font-family: "Perpetua", "Georgia", serif; }

h6 {
  color: #6d6e70; }
  @media screen and (max-width: 39.9375em) {
    h6 span {
      display: block; } }
  h6.body-font {
    font-family: "Perpetua", "Georgia", serif; }

h1.no-margin, h2.no-margin, h3.no-margin, h4.no-margin, h5.no-margin, h6.no-margin {
  margin-bottom: 0;
  line-height: 1; }

h1 .search-type, h2 .search-type, h3 .search-type, h4 .search-type, h5 .search-type, h6 .search-type {
  font-size: 60%;
  background-color: #6d6e70;
  padding: 5px 8px 0;
  line-height: 1;
  color: #fefefe;
  text-transform: uppercase; }

.uppercase {
  text-transform: uppercase; }

.heading-underline {
  display: block; }
  @media screen and (max-width: 39.9375em) {
    .heading-underline {
      width: 90px;
      margin: 1em 0 3em;
      border-bottom: 3px solid; } }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .heading-underline {
      width: 160px;
      margin: 1.2em 0 3em;
      border-bottom: 4px solid; } }
  @media print, screen and (min-width: 64.0625em) {
    .heading-underline {
      width: 250px;
      margin: 2em 0 4em;
      border-bottom: 5px solid; } }

@media screen and (max-width: 39.9375em) {
  .no-margin + .heading-underline {
    margin: 0.5em 0 0.8em; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  .no-margin + .heading-underline {
    margin: 1em 0 2em; } }

@media print, screen and (min-width: 64.0625em) {
  .no-margin + .heading-underline {
    margin: 1em 0 1em; } }

.text-center .heading-underline, .archive-heading .heading-underline,
.text-center + .heading-underline, .archive-heading + .heading-underline {
  margin-left: auto;
  margin-right: auto; }

.image-header-large h1,
.image-header h1 {
  font-weight: bold; }
  @media screen and (max-width: 39.9375em) {
    .image-header-large h1,
    .image-header h1 {
      font-size: 2.75rem;
      line-height: 0.9;
      margin-bottom: 0; } }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .image-header-large h1,
    .image-header h1 {
      font-size: 4rem;
      line-height: 0.8; } }
  @media print, screen and (min-width: 64.0625em) {
    .image-header-large h1,
    .image-header h1 {
      font-size: 5.625rem;
      line-height: 0.8; } }

.image-header-large h1.font-normal,
.image-header h1.font-normal {
  font-weight: normal; }

.image-header-large .heading-underline,
.image-header .heading-underline {
  margin: 0.5em auto; }
  @media screen and (max-width: 39.9375em) {
    .image-header-large .heading-underline,
    .image-header .heading-underline {
      width: 90px; } }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .image-header-large .heading-underline,
    .image-header .heading-underline {
      width: 160px; } }
  @media print, screen and (min-width: 64.0625em) {
    .image-header-large .heading-underline,
    .image-header .heading-underline {
      width: 250px; } }
  @media print, screen and (min-width: 64.0625em) {
    .image-header-large .heading-underline,
    .image-header .heading-underline {
      margin: 2em auto 0; } }

@media screen and (max-width: 39.9375em) {
  .site-intro h2 {
    margin-bottom: 0;
    font-size: 5vw; } }

@media print, screen and (min-width: 40em) {
  .site-intro h2 {
    margin-bottom: .5rem; } }

.post-date,
h6.post-date {
  font-family: "Perpetua", "Georgia", serif;
  margin-top: 5px; }

.container p, .container li {
  font-family: "Perpetua", "Georgia", serif;
  font-size: 20px; }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .container p, .container li {
      font-size: 18px; } }
  @media print, screen and (min-width: 64.0625em) {
    .container p, .container li {
      font-size: 21px; } }

.container p.lead {
  font-size: 22px; }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .container p.lead {
      font-size: 25px; } }
  @media print, screen and (min-width: 64.0625em) {
    .container p.lead {
      font-size: 25px; } }

.container p.no-margin {
  margin-bottom: 0; }

@media screen and (max-width: 39.9375em) {
  .container p.image-caption {
    font-size: 1em; } }

.container ol, .container ul {
  margin: 0 0 1.5em 0; }

.container ul.no-margin {
  margin-bottom: 0; }

.container .text-center li, .container .archive-heading li {
  list-style-position: inside; }

.container .text-center ul.has-sublist li, .container .archive-heading ul.has-sublist li {
  margin-bottom: 1em; }

.container .text-center li li, .container .archive-heading li li {
  list-style-type: circle; }

.container .text-center ul.has-sublist li li, .container .archive-heading ul.has-sublist li li {
  margin-bottom: 0; }

.acf-map h5 {
  font-size: 21px;
  margin-bottom: 5px; }

.acf-map p {
  font-size: 18px;
  line-height: 1.2; }

section li {
  margin-left: 20px; }

ul.accordion > li {
  margin-left: 0; }

ul.dash-list {
  list-style-type: none;
  padding-left: 0; }
  ul.dash-list > li {
    text-indent: -20px; }
  ul.dash-list > li:before {
    content: "–";
    text-indent: -10px;
    margin-right: 10px; }

.page-title,
.album-category-heading {
  text-align: center; }

b, strong {
  font-family: "Perpetua", "Georgia", serif; }

.no-break {
  white-space: nowrap; }

.remove-last-p-margin p:last-child {
  margin-bottom: 0; }

@media print, screen and (min-width: 40em) {
  ul.columns-3 {
    -moz-column-count: 3;
    -moz-column-gap: 20px;
    -webkit-column-count: 3;
    -webkit-column-gap: 20px;
    column-count: 3;
    column-gap: 20px; } }

@media print, screen and (min-width: 40em) {
  ul.columns-2 {
    -moz-column-count: 2;
    -moz-column-gap: 20px;
    -webkit-column-count: 2;
    -webkit-column-gap: 20px;
    column-count: 2;
    column-gap: 20px; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  ul.medium-columns-2 {
    -moz-column-count: 2;
    -moz-column-gap: 20px;
    -webkit-column-count: 2;
    -webkit-column-gap: 20px;
    column-count: 2;
    column-gap: 20px; } }

.price-margins strong {
  margin-top: 25px;
  margin-bottom: 10px;
  display: block; }

ul.tick-list {
  list-style: none; }
  ul.tick-list > li {
    display: inline-block;
    width: 90%;
    position: relative;
    padding: 0.625rem 0.625rem 0.625rem 1.25rem;
    margin-left: 40px; }
  ul.tick-list > li:before {
    content: "";
    height: 33px;
    width: 33px;
    display: block;
    float: left;
    margin-left: -55px;
    margin-top: -2px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url("../../../../../uploads/tick-bullet_light-blue.svg"); }

ul.tick-list.tick-white > li:before {
  background-image: url("../../../../../uploads/tick-bullet_white.svg"); }

ul.circle-list {
  list-style: none; }
  ul.circle-list > li {
    display: inline-block;
    position: relative;
    padding: 0.625rem 0.625rem 0.625rem 1.25rem;
    margin-left: 0;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      ul.circle-list > li {
        margin-bottom: 0.3125rem; } }
  ul.circle-list > li:before {
    content: "";
    height: 10px;
    width: 10px;
    display: inline-block;
    margin-right: 10px;
    margin-left: -20px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url("../../../../../uploads/circle-bullet_light-blue.svg"); }
  ul.circle-list.circle-dark-grey > li:before {
    background-image: url("../../../../../uploads/circle-bullet_medium-grey.svg"); }

.text-center ul.circle-list > li, .archive-heading ul.circle-list > li {
  margin-left: 0; }

@media screen and (max-width: 39.9375em) {
  .home-contact-details span {
    font-size: calc(13px + 1vw); } }

.home-card .home-info h3 {
  color: #0da1ac;
  margin-bottom: 0; }

.home-card .home-info > h6 {
  text-transform: uppercase; }

.simple-panel .panel-contact-form .gform_wrapper h3.gform_title {
  color: #0da1ac; }

.p-margin {
  margin-top: 20px; }

.caps {
  text-transform: uppercase; }

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99; }

.text-right {
  text-align: right; }

.relative {
  position: relative; }

.container {
  padding-top: 0; }

.display {
  display: block !important; }

.overflow {
  overflow: hidden !important;
  height: 100% !important; }

.center {
  text-align: center; }

.italic {
  font-style: italic; }

.white {
  color: #fefefe; }

.margin-bottom--20 {
  margin-bottom: 20px; }

.margin_bottom--30 {
  margin-bottom: 30px; }

.margin_bottom--40 {
  margin-bottom: 40px !important; }

.margin_bottom--60 {
  margin-bottom: 60px; }

.no-hero-section-padding {
  padding-top: 70px !important; }

.section-padding {
  padding: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .section-padding {
      padding: 2.5rem; } }

@media screen and (max-width: 39.9375em) {
  .mobile-padding {
    padding-left: 10px;
    padding-right: 10px; } }

@media screen and (max-width: 39.9375em) {
  .mobile-section-padding {
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
    .mobile-section-padding .columns {
      padding-left: 0;
      padding-right: 0; } }

sub {
  bottom: 8px !important; }

.center-vert {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .center-vert img, .center-vert .flex-wrapper {
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center; }

.section-container {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
  margin-left: 0;
  margin-right: 0; }
  @media screen and (max-width: 39.9375em) {
    .section-container {
      padding: 1.40625rem 0.625rem; } }
  @media screen and (max-width: 20em) {
    .section-container {
      padding: 0.46875rem 0; } }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .section-container {
      padding: 1.875rem 0.9375rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .section-container {
      padding: 3.125rem; } }
  .section-container .cell-inner {
    position: relative; }
  .section-container:after {
    content: "";
    display: table;
    clear: both; }

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

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

.bg-contain,
.bg-image.bg-contain {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain; }

.background-contain {
  background-size: contain; }

.bg-image.bg-bottom {
  background-position: center bottom; }

@media screen and (max-width: 39.9375em) {
  .small-bg-bottom,
  .bg-image.small-bg-bottom {
    background-repeat: no-repeat;
    background-position: center bottom; } }

@media screen and (max-width: 39.9375em) {
  .small-bg-contain,
  .bg-image.small-bg-contain {
    background-size: contain; } }

.background-repeat {
  background-repeat: repeat;
  background-size: initial; }

.background-repeat-x {
  background-repeat: repeat-x;
  background-size: initial; }

.has-divider {
  position: relative; }

@media screen and (max-width: 39.9375em) {
  .small-hide-bg-image {
    background-image: none !important; } }

.hello-bar {
  padding: 8px;
  font-size: 120%; }
  .hello-bar .button-group {
    margin-bottom: 0 !important; }
  .hello-bar .button {
    margin-bottom: 0 !important; }
  .hello-bar .button:last-child {
    margin-right: 0; }
  .hello-bar .text-link {
    margin: 5px 10px;
    border-bottom-width: 1px;
    border-bottom-style: solid; }

@media screen and (max-width: 39.9375em) {
  .image-header .grid-x {
    min-height: 8.75rem; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  .image-header .grid-x {
    min-height: 15rem; } }

@media print, screen and (min-width: 64.0625em) {
  .image-header .grid-x {
    min-height: 21.25rem; } }

@media screen and (min-width: 87.5em) {
  .image-header .grid-x {
    min-height: 27.5rem; } }

@media screen and (min-width: 125em) {
  .image-header .grid-x {
    min-height: 33.75rem; } }

@media screen and (max-width: 39.9375em) {
  .image-header-large .grid-x {
    min-height: 9.375rem; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  .image-header-large .grid-x {
    min-height: 15rem; } }

@media print, screen and (min-width: 64.0625em) {
  .image-header-large .grid-x {
    min-height: 31.25rem; } }

@media screen and (min-width: 87.5em) {
  .image-header-large .grid-x {
    min-height: 37.5rem; } }

@media screen and (max-width: 39.9375em) {
  .post-image-header .grid-x {
    min-height: 10rem; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  .post-image-header .grid-x {
    min-height: 18.75rem; } }

@media print, screen and (min-width: 64.0625em) {
  .post-image-header .grid-x {
    min-height: 28.75rem; } }

@media screen and (max-width: 39.9375em) {
  .single-team .post-image-header .grid-x {
    min-height: 88vw; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  .single-team .post-image-header .grid-x {
    min-height: 18.75rem; } }

@media print, screen and (min-width: 64.0625em) {
  .single-team .post-image-header .grid-x {
    min-height: 28.75rem; } }

.column-inner {
  position: relative;
  width: 100%; }

.remove-section-padding {
  padding: 0; }
  .remove-section-padding > .section-container {
    padding: 0; }

.grid-container-wrapper {
  position: relative; }
  @media screen and (max-width: 39.9375em) {
    .grid-container-wrapper {
      padding: 0.9375rem; } }
  @media screen and (max-width: 20em) {
    .grid-container-wrapper {
      padding: 0.46875rem 0; } }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .grid-container-wrapper {
      padding: 1.875rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .grid-container-wrapper {
      padding: 3.125rem; } }

.remove-row-padding {
  padding: 0; }

.remove-side-padding {
  padding-left: 0;
  padding-right: 0; }
  .remove-side-padding > .section-container {
    padding-left: 0;
    padding-right: 0; }

.remove-vert-padding {
  padding-top: 0;
  padding-bottom: 0; }

.remove-padding-bottom {
  padding-bottom: 0; }

.remove-padding-top {
  padding-top: 0; }

.align-items-center {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.section-cta {
  /*
	.cell:first-child {
		@include breakpoint(small only) {
			padding: map-get($section-padding, small) map-get($section-padding, small) 0;
		}
		@include breakpoint(medium only) {
			padding: map-get($section-padding, medium);
		}
		@include breakpoint(large) {
			padding: map-get($section-padding, large) 0 map-get($section-padding, large) map-get($section-padding, large);
		}
	}
	.cell:last-child {
		@include breakpoint(small only) {
			padding: map-get($section-padding, small);
		}
		@include breakpoint(medium only) {
			justify-content: flex-end;
			padding-right: map-get($section-padding, medium);
		}
		@include breakpoint(large) {
			justify-content: flex-end;
			padding-right: map-get($section-padding, large);
		}
	}
*/ }

.promo-link {
  display: block; }

@media screen and (max-width: 39.9375em) {
  .contact-card .border-inner {
    padding: 0.9375rem; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  .contact-card .border-inner {
    padding: 0.9375rem; } }

@media print, screen and (min-width: 64.0625em) {
  .contact-card .border-inner {
    padding: 1.5625rem; } }

@media screen and (max-width: 39.9375em) {
  .image-margin-bottom img {
    margin-bottom: 0.9375rem; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  .image-margin-bottom img {
    margin-bottom: 1.875rem; } }

.bring-to-front, .overlap-divider + .bg-petals-grey_up {
  position: relative;
  z-index: 9; }

.overlap-bottom-margin-large {
  position: relative;
  margin-bottom: -200px; }
  @media print, screen and (min-width: 40em) {
    .overlap-bottom-margin-large {
      margin-bottom: -280px; } }
  @media print, screen and (min-width: 64.0625em) {
    .overlap-bottom-margin-large {
      margin-bottom: -280px; } }
  .overlap-bottom-margin-large.grid-container {
    z-index: 9; }

.overlap-top-margin-large {
  position: relative;
  margin-top: -200px; }
  @media print, screen and (min-width: 40em) {
    .overlap-top-margin-large {
      margin-top: -280px; } }
  @media print, screen and (min-width: 64.0625em) {
    .overlap-top-margin-large {
      margin-top: -280px; } }
  .overlap-top-margin-large.grid-container {
    z-index: 9; }

.overlap-top-padding-large {
  padding-top: 200px; }
  @media print, screen and (min-width: 40em) {
    .overlap-top-padding-large {
      padding-top: 230px; } }
  @media print, screen and (min-width: 64.0625em) {
    .overlap-top-padding-large {
      padding-top: 200px; } }

.overlap-bottom-padding-large {
  padding-bottom: 200px; }
  @media print, screen and (min-width: 40em) {
    .overlap-bottom-padding-large {
      padding-bottom: 200px; } }
  @media print, screen and (min-width: 64.0625em) {
    .overlap-bottom-padding-large {
      padding-bottom: 200px; } }

.grid-small-margin-top .column, .grid-small-margin-top .columns {
  margin-top: 10px; }
  @media screen and (max-width: 39.9375em) {
    .grid-small-margin-top .column, .grid-small-margin-top .columns {
      margin-top: 5px; } }

.grid-small-margin-bottom .cell {
  margin-bottom: 10px; }
  @media screen and (max-width: 39.9375em) {
    .grid-small-margin-bottom .cell {
      margin-bottom: 5px; } }

.small-inner-gutter {
  margin-right: -5px !important;
  margin-left: -5px !important; }
  .small-inner-gutter .cell {
    padding-left: 5px !important;
    padding-right: 5px !important; }

@media screen and (max-width: 39.9375em) {
  .margin {
    margin: 0.9375rem; }
  .padded,
  .border-padded .cell-border,
  .inner-padded .cell-inner {
    padding: 0.9375rem; }
  .padded-half,
  .small-padded-half,
  .border-padded-half .cell-border,
  .inner-padded-half .cell-inner {
    padding: 0.46875rem; }
  .padded-third,
  .small-padded-third,
  .border-padded-third .cell-border,
  .inner-padded-third .cell-inner {
    padding: 0.3125rem; }
  .padded-double,
  .small-padded-double {
    padding: 1.875rem; }
  .small-padded {
    padding: 0.9375rem; }
  .margin-top,
  .margin-top-half,
  .small-margin-top {
    margin-top: 0.9375rem; }
  .margin-bottom,
  .margin-bottom-half,
  .small-margin-bottom {
    margin-bottom: 0.9375rem; }
  .padding-top,
  .padding-top-half,
  .small-padding-top {
    padding-top: 0.9375rem; }
  .padding-bottom,
  .padding-bottom-half,
  .small-padding-bottom {
    padding-bottom: 0.9375rem; }
  .small-margin-top-half {
    margin-top: 0.46875rem; }
  .small-margin-bottom-half {
    margin-bottom: 0.46875rem; }
  .small-margin-top-double {
    margin-top: 1.875rem; }
  .small-margin-bottom-double {
    margin-bottom: 1.875rem; }
  .small-padding-top-half {
    padding-top: 0.46875rem; }
  .small-padding-bottom-half {
    padding-bottom: 0.46875rem; }
  .border-padding {
    padding: 10px; }
  .small-remove-section-padding .section-container {
    padding: 0; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  .margin {
    margin: 1.875rem; }
  .padded,
  .border-padded .cell-border,
  .inner-padded .cell-inner {
    padding: 1.875rem; }
  .padded-half,
  .medium-padded-half,
  .border-padded-half .cell-border,
  .inner-padded-half .cell-inner {
    padding: 1.875rem; }
  .padded-third,
  .medium-padded-third,
  .border-padded-third .cell-border,
  .inner-padded-third .cell-inner {
    padding: 0.625rem; }
  .padded-double,
  .medium-padded-double {
    padding: 3.75rem; }
  .medium-padded {
    padding: 1.875rem; }
  .margin-top,
  .medium-margin-top {
    margin-top: 1.875rem; }
  .margin-bottom,
  .medium-margin-bottom {
    margin-bottom: 1.875rem; }
  .padding-top,
  .medium-padding-top {
    padding-top: 1.875rem; }
  .padding-bottom,
  .medium-padding-bottom {
    padding-bottom: 1.875rem; }
  .margin-top-half,
  .medium-margin-top-half {
    margin-top: 0.9375rem; }
  .margin-bottom-half,
  .medium-margin-bottom-half {
    margin-bottom: 0.9375rem; }
  .padding-top-half,
  .medium-padding-top-half {
    padding-top: 0.9375rem; }
  .padding-bottom-half,
  .medium-padding-bottom-half {
    padding-bottom: 0.9375rem; }
  .border-padding {
    padding: 15px; } }

@media print, screen and (min-width: 64.0625em) {
  .margin {
    margin: 3.125rem; }
  .padded,
  .border-padded .cell-border,
  .inner-padded .cell-inner {
    padding: 3.125rem; }
  .padded-half,
  .large-padded-half,
  .border-padded-half .cell-border,
  .inner-padded-half .cell-inner {
    padding: 1.5625rem; }
  .padded-third,
  .large-padded-third,
  .border-padded-third .cell-border,
  .inner-padded-third .cell-inner {
    padding: 1.04167rem; }
  .padded-double,
  .large-padded-double {
    padding: 6.25rem; }
  .large-padded {
    padding: 3.125rem; }
  .margin-top,
  .large-margin-top {
    margin-top: 3.125rem; }
  .margin-bottom,
  .large-margin-bottom {
    margin-bottom: 3.125rem; }
  .padding-top,
  .large-padding-top {
    padding-top: 3.125rem; }
  .padding-bottom,
  .large-padding-bottom {
    padding-bottom: 3.125rem; }
  .margin-top-half,
  .large-margin-top-half {
    margin-top: 1.5625rem; }
  .margin-bottom-half,
  .large-margin-bottom-half {
    margin-bottom: 1.5625rem; }
  .padding-top-half,
  .large-padding-top-half {
    padding-top: 1.5625rem; }
  .padding-bottom-half,
  .large-padding-bottom-half {
    padding-bottom: 1.5625rem; }
  .content-contained .cell-border {
    max-width: 34.375rem; }
  .border-padding {
    padding: 15px; } }

html #wpadminbar {
  min-width: auto;
  overflow: hidden; }

.absolute-bottom-right {
  position: absolute;
  right: 0;
  bottom: 0; }

.absolute-bottom-left {
  position: absolute;
  left: 0;
  bottom: 0; }

.absolute-top-right {
  position: absolute;
  top: 0;
  right: 0; }

.absolute-top-left {
  position: absolute;
  top: 0;
  left: 0; }

img[src$=".svg"] {
  width: 100%; }

.gallery-grey img {
  -webkit-filter: grayscale(1);
  filter: grayscale(1); }

.gallery-grey img:hover {
  -webkit-filter: grayscale(0);
  filter: grayscale(0); }

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

.wp-caption > figcaption {
  max-width: 100%;
  font-size: 0.8rem;
  color: #999;
  padding: 0.25rem 0; }

p.wp-caption-text {
  font-size: 90%;
  color: #666;
  padding: 0.625rem 0; }

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.main-nav-tagline h5 {
  margin-bottom: 0; }

@media print, screen and (min-width: 64.0625em) {
  .mobile-menu,
  .site-title-bar,
  .title-bar-wrapper {
    display: none !important; } }

@media screen and (max-width: 64em) {
  .desktop-menu,
  .top-bar {
    display: none !important; } }

.site-desktop-title a {
  font-weight: bold; }

.mobile-menu {
  display: none; }

.site-title-bar .grid-x {
  width: 100%; }

#mobile-menu {
  text-transform: uppercase; }
  #mobile-menu a {
    color: #0a0a0a;
    border-bottom: 1px dashed #ccc; }
  #mobile-menu .is-active > a {
    background: transparent;
    color: #0da1ac; }

.desktop-menu .dropdown.menu .is-active > a {
  background: transparent;
  color: #0da1ac; }

@media screen and (max-width: 39.9375em) {
  .site-navigation {
    padding: 0; } }

.post-navigation::before, .post-navigation::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.post-navigation::after {
  clear: both; }

.nav-previous {
  float: left; }

.nav-next {
  float: right; }

/* Navigation breakpoints */
/*
@media only screen and (max-width: 849px) {
	#mobile-menu, .title-bar {
		display: block;
	}

	.site-header .desktop-menu, .top-bar-left {
		display: none;
	}
}

@media only screen and (min-width: 850px) {
	.desktop-menu, .top-bar-left {
		display: block;
	}

	#mobile-menu, .title-bar {
		display: none;
	}
}
*/
.submenu li a {
  text-transform: capitalize; }

/*
.top-bar-right {
	position: relative;
	margin-top: 36px;
}
*/
#site-navigation {
  display: none; }
  @media print, screen and (min-width: 64.0625em) {
    #site-navigation {
      display: block; } }

.off-canvas-content {
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow-x: hidden; }

.is-dropdown-submenu-parent.is-down-arrow > a::after {
  border-color: #ffffff transparent transparent;
  margin-top: 5px;
  right: 9px; }

.is-dropdown-submenu {
  border: none; }
  .is-dropdown-submenu li a:hover {
    opacity: 0.6; }

.title-bar .site-title {
  font-size: 0.8rem;
  line-height: 1;
  display: inline-block; }
  .title-bar .site-title img {
    width: auto;
    max-width: 100px;
    height: 40px;
    -webkit-transition: 0.5s;
    transition: 0.5s; }
    @media print, screen and (min-width: 40em) {
      .title-bar .site-title img {
        height: 60px; } }

.top-bar {
  /*
	.top-bar-inner {
		@include grid-row();
		@include grid-column-row();
		width: 100%;
	}
*/ }
  .top-bar .site-title {
    font-size: 0.8rem;
    line-height: 1;
    display: inline-block;
    margin-bottom: 5px; }
    .top-bar .site-title img {
      width: auto;
      max-width: 220px;
      -webkit-transition: 0.5s;
      transition: 0.5s; }
      @media print, screen and (min-width: 40em) {
        .top-bar .site-title img {
          height: 60px; } }
      @media print, screen and (min-width: 64.0625em) {
        .top-bar .site-title img {
          height: 80px; } }
  .top-bar ul.menu {
    float: right;
    width: auto;
    background-color: transparent; }
  .top-bar ul.menu a {
    color: #fefefe;
    font-size: 1.375rem;
    font-family: "Perpetua", "Georgia", serif;
    font-weight: normal; }
    .top-bar ul.menu a:hover:not(.menu-button) {
      background-color: transparent;
      color: #0da1ac; }
  .top-bar .main-nav-cta {
    margin-bottom: 10px; }
  .top-bar .main-nav-cta ul.menu a {
    font-family: "Perpetua", "Georgia", serif;
    font-weight: normal; }
  .top-bar .main-nav-cta ul.menu li.menu-phone a {
    font-size: 2.2rem;
    font-weight: bold;
    padding-top: 0;
    color: #0da1ac; }
    .top-bar .main-nav-cta ul.menu li.menu-phone a .menu-label-text {
      font-size: 1.375rem;
      margin-right: 10px; }
  .top-bar ul.menu .active > a,
  .top-bar ul.menu .current-menu-item a {
    background-color: transparent;
    color: #0da1ac; }
  .top-bar ul.menu .highlight a {
    background-color: #0da1ac;
    color: #fefefe;
    border-radius: 3px; }
  .top-bar ul.menu .menu-button a {
    background-color: #0da1ac;
    color: #fefefe;
    border-radius: 3px;
    margin-left: 10px; }
    .top-bar ul.menu .menu-button a:hover {
      background-color: #0b8992;
      color: #fefefe; }
  .top-bar .dropdown.menu .submenu {
    background-color: #123246;
    color: #fefefe; }
    .top-bar .dropdown.menu .submenu:hover {
      background-color: #123246;
      color: #0da1ac; }
  .top-bar .dropdown.menu .submenu .active > a,
  .top-bar .dropdown.menu .submenu .current-menu-item a {
    background-color: transparent;
    color: #0da1ac; }
  .top-bar .dropdown.menu > li.is-dropdown-submenu-parent > a::after {
    border-color: #fefefe transparent transparent; }
  .top-bar .dropdown.menu > li.active.is-dropdown-submenu-parent > a::after {
    border-color: #0da1ac transparent transparent; }
  .top-bar .is-dropdown-submenu {
    z-index: 3 !important; }

.utility-bar {
  background-color: #123246; }
  .utility-bar .top-utility-bar {
    padding-top: 5px; }
    .utility-bar .top-utility-bar ul.menu {
      float: right;
      width: auto;
      background-color: transparent; }
    .utility-bar .top-utility-bar ul.menu a {
      color: #fefefe;
      font-size: 1.375rem;
      font-family: "Perpetua", "Georgia", serif;
      font-weight: normal; }
      .utility-bar .top-utility-bar ul.menu a:hover:not(.menu-button) {
        background-color: transparent;
        color: #0da1ac; }
    .utility-bar .top-utility-bar li.menu-download a {
      padding-right: 0; }
    .utility-bar .top-utility-bar .main-nav-cta {
      margin-bottom: 10px; }
    .utility-bar .top-utility-bar .main-nav-cta ul.menu a {
      font-family: "Perpetua", "Georgia", serif;
      font-weight: normal; }
    .utility-bar .top-utility-bar .main-nav-cta ul.menu li.menu-phone a {
      font-size: 2.2rem;
      font-weight: bold;
      padding-top: 0;
      color: #0da1ac; }
      .utility-bar .top-utility-bar .main-nav-cta ul.menu li.menu-phone a .menu-label-text {
        font-size: 1.375rem;
        margin-right: 10px; }
    .utility-bar .top-utility-bar ul.menu .active > a,
    .utility-bar .top-utility-bar ul.menu .current-menu-item a {
      background-color: transparent;
      color: #0da1ac; }
    .utility-bar .top-utility-bar ul.menu .highlight a {
      background-color: #0da1ac;
      color: #fefefe;
      border-radius: 3px; }
    .utility-bar .top-utility-bar ul.menu .menu-button a {
      background-color: #0da1ac;
      color: #fefefe;
      border-radius: 3px; }
    .utility-bar .top-utility-bar .dropdown.menu .submenu {
      background-color: #123246;
      color: #fefefe; }
      .utility-bar .top-utility-bar .dropdown.menu .submenu:hover {
        background-color: #123246;
        color: #0da1ac; }
    .utility-bar .top-utility-bar .dropdown.menu .submenu .active > a,
    .utility-bar .top-utility-bar .dropdown.menu .submenu .current-menu-item a {
      background-color: transparent;
      color: #0da1ac; }
    .utility-bar .top-utility-bar .dropdown.menu > li.is-dropdown-submenu-parent > a::after {
      border-color: #fefefe transparent transparent; }
    .utility-bar .top-utility-bar .dropdown.menu > li.active.is-dropdown-submenu-parent > a::after {
      border-color: #0da1ac transparent transparent; }
    .utility-bar .top-utility-bar .is-dropdown-submenu {
      z-index: 3 !important; }

.sticky-header {
  z-index: 4;
  position: fixed;
  top: 0;
  width: 100%; }
  .sticky-header.scroll-size .top-bar {
    padding: 10px 20px;
    -webkit-transition: 0.5s;
    transition: 0.5s; }
    .sticky-header.scroll-size .top-bar .site-title img {
      -webkit-transition: 0.5s;
      transition: 0.5s; }
      @media print, screen and (min-width: 40em) {
        .sticky-header.scroll-size .top-bar .site-title img {
          height: 30px; } }
      @media print, screen and (min-width: 64.0625em) {
        .sticky-header.scroll-size .top-bar .site-title img {
          height: 40px; } }

body.nav-hide .title-bar {
  display: none;
  opacity: 0; }

body.nav-hide .site-header {
  opacity: 0;
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out; }

body.nav-show {
  /*
	    .site-header {
			-webkit-transition: all 1s ease-in-out; 
			-moz-transition: all 1s ease-in-out; 
			-ms-transition: all 1s ease-in-out; 
			-o-transition: all 1s ease-in-out; 
			transition: all 1s ease-in-out;  
	    }
	
*/ }

@media print, screen and (min-width: 64.0625em) {
  body.scrolled.nav-show .wrapper {
    padding-top: 116px; } }

body.scrolled.nav-show .site-header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  padding: 0; }

body.scrolled.nav-show .top-bar {
  padding: 0.625rem; }
  body.scrolled.nav-show .top-bar .site-title img {
    max-height: 2.875rem; }

body.scrolled.nav-show .top-bar-right {
  margin-top: 4px; }

.admin-bar.scrolled.nav-show .site-header {
  margin-top: 46px; }
  @media print, screen and (min-width: 64.0625em) {
    .admin-bar.scrolled.nav-show .site-header {
      margin-top: 32px; } }

/* Tablet and desktop menu */
/*
.top-bar {

  .top-bar-right {

	ul {
	  position: relative;
	  z-index: 1;

	  li {
		padding: 0 10px;
	  }
	}
  }

  .menu a {
	color: $white;
	font-size: rem-calc(14);
	line-height: 1;
	text-transform: uppercase;

	&:hover:not(.button) {
	  color: $accent;
	}
  }

  .dropdown.menu .submenu {
	background-color: #121212;
	color: #e6e6e6;
	border: 0;
  }

  .dropdown.menu .has-submenu.is-down-arrow a { padding-right: 1rem; }
  .dropdown.menu .has-submenu.is-down-arrow > a::after { border: 0; }
  .is-dropdown-submenu-parent.is-down-arrow > a::after { display: none; }
}

.fixed-subnav {
	position: fixed;
	top: 0;
}

.scroll-subnav {
	position: relative;
	top: 0;
}
*/
.admin-bar .site-header.fixed .top-bar {
  margin-top: 32px; }

.disclaimer-menu .menu > li > a {
  padding: 0 5px; }

.is-menu svg {
  fill: #fff; }

.is-menu .mdc-text-field .mdc-line-ripple {
  background-color: #fff; }

.is-menu.dropdown form.search-form {
  min-width: 200px; }

#mainmenu_container .is-menu label.mdc-text-field__label {
  color: #222; }

.location-submenu ul.menu {
  margin-bottom: 0; }
  @media print, screen and (min-width: 64.0625em) {
    .location-submenu ul.menu {
      margin-right: 20px; } }
  @media screen and (max-width: 39.9375em) {
    .location-submenu ul.menu.submenu-title {
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      padding-top: 5px;
      padding-bottom: 0; } }
  @media print, screen and (min-width: 64.0625em) {
    .location-submenu ul.menu.submenu-title {
      padding-top: 5px;
      padding-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .location-submenu ul.menu.submenu-menu {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
              justify-content: center; } }
  @media print, screen and (min-width: 40em) {
    .location-submenu ul.menu.submenu-menu {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      -webkit-justify-content: flex-end;
              justify-content: flex-end; } }
  .location-submenu ul.menu li a:hover, .location-submenu ul.menu .menu-text a:hover {
    color: #123246; }
  @media screen and (max-width: 39.9375em) {
    .location-submenu ul.menu li, .location-submenu ul.menu .menu-text {
      margin-left: 0;
      padding: 5px;
      font-size: 18px; }
      .location-submenu ul.menu li a, .location-submenu ul.menu .menu-text a {
        padding: 5px; } }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .location-submenu ul.menu li, .location-submenu ul.menu .menu-text {
      margin-left: 0;
      padding: 5px;
      font-size: 16px; }
      .location-submenu ul.menu li a, .location-submenu ul.menu .menu-text a {
        padding: 5px 10px; } }
  @media print, screen and (min-width: 64.0625em) {
    .location-submenu ul.menu li, .location-submenu ul.menu .menu-text {
      margin-left: 0;
      padding: 5px;
      font-size: 20px; }
      .location-submenu ul.menu li a, .location-submenu ul.menu .menu-text a {
        padding: 5px 15px; } }

.site-header .location-submenu {
  display: none; }

.scrolled .site-header .location-submenu {
  display: block; }

.main-wrap {
  padding-right: 0.46875rem;
  padding-left: 0.46875rem;
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-top: 1rem; }
  @media print, screen and (min-width: 40em) {
    .main-wrap {
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64.0625em) {
    .main-wrap {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
    .main-wrap {
      margin-top: 3rem; } }
  .main-wrap.sidebar-left .main-content {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .main-wrap.sidebar-left .sidebar {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  @media print, screen and (min-width: 40em) {
    .main-wrap.sidebar-left .main-content {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
    .main-wrap.sidebar-left .sidebar {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }
  .main-wrap.full-width .main-content {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
  .main-wrap .main-content {
    width: calc(100% - 0.9375rem);
    margin-right: 0.46875rem;
    margin-left: 0.46875rem; }
    @media print, screen and (min-width: 40em) {
      .main-wrap .main-content {
        width: calc(66.66667% - 1.25rem);
        margin-right: 0.625rem;
        margin-left: 0.625rem; } }
  .main-wrap .sidebar {
    width: calc(100% - 0.9375rem);
    margin-right: 0.46875rem;
    margin-left: 0.46875rem; }
    @media print, screen and (min-width: 40em) {
      .main-wrap .sidebar {
        width: calc(33.33333% - 1.25rem);
        margin-right: 0.625rem;
        margin-left: 0.625rem;
        margin-top: 1rem; } }

.footer-container {
  margin: 0 auto; }

.footer ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.footer-container {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  background-color: #123246;
  color: #fefefe;
  font-size: 1.1875rem; }
  .footer-container .footer {
    padding: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .footer-container .footer {
        padding: 2.5rem; } }
    .footer-container .footer ul {
      list-style-type: none;
      margin: 0;
      padding: 0; }
    .footer-container .footer a {
      color: #fefefe; }
    .footer-container .footer .footer-bottom-section {
      padding-top: 30px;
      text-align: left; }
      .footer-container .footer .footer-bottom-section li {
        text-align: center;
        margin-bottom: 10px;
        margin-right: 20px;
        white-space: pre; }
        @media print, screen and (min-width: 40em) {
          .footer-container .footer .footer-bottom-section li {
            margin-right: 9px;
            border-right: 1px solid #fefefe;
            padding-right: 15px;
            white-space: normal; } }
        @media print, screen and (min-width: 64.0625em) {
          .footer-container .footer .footer-bottom-section li {
            text-align: left; } }
        .footer-container .footer .footer-bottom-section li a {
          color: #fefefe; }
          .footer-container .footer .footer-bottom-section li a:hover {
            opacity: 0.8; }
        .footer-container .footer .footer-bottom-section li:last-child {
          margin-right: 0;
          border-right: none; }
    .footer-container .footer .footer-copyright {
      color: #fefefe;
      margin-top: 10px; }
    .footer-container .footer .copyright {
      font-size: 15px; }
    .footer-container .footer .footer-credit {
      margin-top: 15px; }
      .footer-container .footer .footer-credit a {
        font-size: 12px;
        color: #007988; }
        .footer-container .footer .footer-credit a:hover {
          color: #0da1ac; }

.footer-fixed {
  position: fixed;
  bottom: 0;
  z-index: 40;
  text-align: center;
  width: 100%;
  margin-bottom: 0;
  background-color: #fefefe;
  border-top: 1px solid #fefefe; }
  .footer-fixed .button {
    background-color: #0da1ac;
    color: #fefefe;
    padding: 0.9375rem 0.625rem 0.75rem;
    margin: 0 2px !important;
    border-radius: 0; }

.scrollToTop {
  position: fixed;
  right: 20px;
  bottom: 60px;
  display: none;
  z-index: 100; }
  @media print, screen and (min-width: 64.0625em) {
    .scrollToTop {
      right: 20px;
      bottom: 20px; } }
  .scrollToTop a {
    display: block;
    color: #fefefe;
    padding: 0.5rem 0.9375rem;
    background: #6d6e70;
    opacity: 0.6; }
    @media print, screen and (min-width: 64.0625em) {
      .scrollToTop a {
        padding: 0.625rem 0.9375rem 0.4375rem; } }
    .scrollToTop a.download-button {
      margin-bottom: 2px;
      display: none; }
      @media print, screen and (min-width: 64.0625em) {
        .scrollToTop a.download-button {
          display: block; } }
    .scrollToTop a span.text {
      display: none; }
      @media print, screen and (min-width: 64.0625em) {
        .scrollToTop a span.text {
          display: inline;
          margin-left: 3px; } }
    @media print, screen and (min-width: 64.0625em) {
      .scrollToTop a img {
        display: none; } }
    .scrollToTop a:hover {
      opacity: 1;
      background: #0da1ac; }

body#tinymce {
  height: auto;
  max-width: 75rem;
  padding: 1.25rem !important; }

/*
 * jQuery FlexSlider v2.6.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 and later license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 * 
 */
/* ====================================================================================================================
 * FONT-FACE
 * ====================================================================================================================*/
@font-face {
  font-family: "flexslider-icon";
  src: url("../fonts/flexslider-icon.eot");
  src: url("../fonts/flexslider-icon.eot?#iefix") format("embedded-opentype"), url("../fonts/flexslider-icon.woff") format("woff"), url("../fonts/flexslider-icon.ttf") format("truetype"), url("../fonts/flexslider-icon.svg#flexslider-icon") format("svg");
  font-weight: normal;
  font-style: normal; }

/* ====================================================================================================================
 * RESETS
 * ====================================================================================================================*/
.flex-container a:hover,
.flex-slider a:hover {
  outline: none; }

.slides,
.slides > li,
.flex-control-nav,
.flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none; }

.flex-pauseplay span {
  text-transform: capitalize; }

/* ====================================================================================================================
 * BASE STYLES
 * ====================================================================================================================*/
.flexslider {
  margin: 0;
  padding: 0; }
  .flexslider .slides {
    margin: 0; }
    .flexslider .slides > li {
      display: none;
      -webkit-backface-visibility: hidden; }
    .flexslider .slides img {
      margin: 0 auto;
      width: auto;
      max-width: 100%;
      display: block; }
    .flexslider .slides:after {
      content: "\0020";
      display: block;
      clear: both;
      visibility: hidden;
      line-height: 0;
      height: 0; }
    html[xmlns] .flexslider .slides {
      display: block; }
    * html .flexslider .slides {
      height: 1%; }
    .no-js .flexslider .slides > li:first-child {
      display: block; }

/* ====================================================================================================================
 * DEFAULT THEME
 * ====================================================================================================================*/
.flexslider {
  margin: 0;
  background: transparent;
  border: 0 none;
  position: relative;
  zoom: 1;
  border-radius: 0;
  -webkit-box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2);
  -o-box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2); }
  .flexslider .slides {
    zoom: 1; }
    .flexslider .slides img {
      height: auto;
      -moz-user-select: none; }

.flex-viewport {
  max-height: 2000px;
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }
  .loading .flex-viewport {
    max-height: 300px; }

.carousel li {
  margin-right: 5px; }

.flex-direction-nav {
  *height: 0; }
  .flex-direction-nav li {
    margin: 0;
    padding: 0; }
  .flex-direction-nav a {
    text-decoration: none;
    display: block;
    width: 40px;
    height: 60px;
    margin: -30px 0 0;
    position: absolute;
    top: 50%;
    z-index: 10;
    overflow: hidden;
    opacity: 0;
    cursor: pointer;
    color: rgba(0, 0, 0, 0.7);
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
    .flex-direction-nav a:before {
      font-family: "flexslider-icon";
      font-size: 35px;
      display: inline-block;
      content: "";
      color: rgba(255, 255, 255, 0.7);
      text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3); }
    .flex-direction-nav a.flex-next:before {
      content: ""; }
  .flex-direction-nav .flex-prev {
    left: -50px; }
  .flex-direction-nav .flex-next {
    right: -50px;
    text-align: right; }
  .flexslider:hover .flex-direction-nav .flex-prev {
    opacity: 0.7;
    left: 10px; }
    .flexslider:hover .flex-direction-nav .flex-prev:hover {
      opacity: 1; }
  .flexslider:hover .flex-direction-nav .flex-next {
    opacity: 0.7;
    right: 10px; }
    .flexslider:hover .flex-direction-nav .flex-next:hover {
      opacity: 1; }
  .flex-direction-nav .flex-disabled {
    opacity: 0 !important;
    filter: alpha(opacity=0);
    cursor: default;
    z-index: -1; }

.flex-pauseplay a {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 5px;
  left: 10px;
  opacity: 0.8;
  z-index: 10;
  overflow: hidden;
  cursor: pointer;
  color: #000; }
  .flex-pauseplay a:before {
    font-family: "flexslider-icon";
    font-size: 20px;
    display: inline-block;
    content: ""; }
  .flex-pauseplay a:hover {
    opacity: 1; }
  .flex-pauseplay a.flex-play:before {
    content: ""; }

.flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -40px;
  text-align: center; }
  .flex-control-nav li {
    padding: 0;
    margin: 0 6px;
    display: inline-block;
    zoom: 1;
    *display: inline; }

.flex-control-paging li {
  margin: 0;
  padding: 0; }
  .flex-control-paging li a {
    width: 11px;
    height: 11px;
    display: block;
    background: #666;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
    text-indent: -9999px;
    -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
    -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
    box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
    border-radius: 20px; }
    .flex-control-paging li a:hover {
      background: #333;
      background: rgba(0, 0, 0, 0.7); }
    .flex-control-paging li a.flex-active {
      background: #000;
      background: rgba(0, 0, 0, 0.9);
      cursor: default; }

.flex-control-thumbs {
  margin: 5px 0 0;
  position: static;
  overflow: hidden; }
  .flex-control-thumbs li {
    width: 25%;
    float: left;
    margin: 0; }
  .flex-control-thumbs img {
    width: 100%;
    height: auto;
    display: block;
    opacity: .7;
    cursor: pointer;
    -moz-user-select: none;
    -webkit-transition: all 1s ease;
    transition: all 1s ease; }
    .flex-control-thumbs img:hover {
      opacity: 1; }
  .flex-control-thumbs .flex-active {
    opacity: 1;
    cursor: default; }

/* ====================================================================================================================
 * RESPONSIVE
 * ====================================================================================================================*/
@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev {
    opacity: 1;
    left: 10px; }
  .flex-direction-nav .flex-next {
    opacity: 1;
    right: 10px; } }

@media screen and (max-width: 39.9375em) {
  .testimonial-slider .testimonial-wrapper {
    padding: 0.46875rem 1.875rem; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  .testimonial-slider .testimonial-wrapper {
    padding: 0.9375rem 3.75rem; } }

@media print, screen and (min-width: 64.0625em) {
  .testimonial-slider .testimonial-wrapper {
    padding: 1.5625rem 6.25rem; } }

.testimonial-slider .flex-direction-nav a {
  opacity: 0.7; }

.testimonial-slider .flex-direction-nav .flex-prev {
  left: 10px; }

.testimonial-slider .flex-direction-nav .flex-next {
  right: 10px; }

.flexslider:hover .testimonial-slider .flex-direction-nav .flex-prev {
  opacity: 0.7;
  left: 10px; }
  .flexslider:hover .testimonial-slider .flex-direction-nav .flex-prev:hover {
    opacity: 1; }

.flexslider:hover .testimonial-slider .flex-direction-nav .flex-next {
  opacity: 0.7;
  right: 10px; }
  .flexslider:hover .testimonial-slider .flex-direction-nav .flex-next:hover {
    opacity: 1; }

.image-grid-container {
  display: table;
  width: 100%; }
  .image-grid-container .grid-item {
    float: left;
    display: inline-block; }
  @supports (grid-auto-rows: 1px) {
    .image-grid-container {
      display: grid;
      grid-gap: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .image-grid-container {
          grid-gap: 1.875rem; } }
      @media print, screen and (min-width: 64.0625em) {
        .image-grid-container {
          grid-gap: 3.125rem; } }
      .image-grid-container .grid-item {
        width: auto; } }

.module--gallery.image-grid-container .grid-item {
  margin-right: 1%; }

.module--gallery.image-grid-container.grid-small-col-1 .grid-item {
  width: 100%;
  margin-right: 0; }

.module--gallery.image-grid-container.grid-small-col-2 .grid-item {
  width: calc(100% / 2 - 1%); }

.module--gallery.image-grid-container.grid-small-col-3 .grid-item {
  width: calc(100% / 3 - 1%); }

.module--gallery.image-grid-container.grid-small-col-4 .grid-item {
  width: calc(100% / 4 - 1%); }

.module--gallery.image-grid-container.grid-small-col-5 .grid-item {
  width: calc(100% / 5 - 1%); }

.module--gallery.image-grid-container.grid-small-col-6 .grid-item {
  width: calc(100% / 6 - 1%); }

@media print, screen and (min-width: 40em) {
  .module--gallery.image-grid-container.grid-medium-col-1 .grid-item {
    width: 100%;
    margin-right: 0; }
  .module--gallery.image-grid-container.grid-medium-col-2 .grid-item {
    width: calc(100% / 2 - 1%); }
  .module--gallery.image-grid-container.grid-medium-col-3 .grid-item {
    width: calc(100% / 3 - 1%); }
  .module--gallery.image-grid-container.grid-medium-col-4 .grid-item {
    width: calc(100% / 4 - 1%); }
  .module--gallery.image-grid-container.grid-medium-col-5 .grid-item {
    width: calc(100% / 5 - 1%); }
  .module--gallery.image-grid-container.grid-medium-col-6 .grid-item {
    width: calc(100% / 6 - 1%); } }

@media print, screen and (min-width: 64.0625em) {
  .module--gallery.image-grid-container.grid-large-col-1 .grid-item {
    width: 100%;
    margin-right: 0; }
  .module--gallery.image-grid-container.grid-large-col-2 .grid-item {
    width: calc(100% / 2 - 1%); }
  .module--gallery.image-grid-container.grid-large-col-3 .grid-item {
    width: calc(100% / 3 - 1%); }
  .module--gallery.image-grid-container.grid-large-col-4 .grid-item {
    width: calc(100% / 4 - 1%); }
  .module--gallery.image-grid-container.grid-large-col-5 .grid-item {
    width: calc(100% / 5 - 1%); }
  .module--gallery.image-grid-container.grid-large-col-6 .grid-item {
    width: calc(100% / 6 - 1%); } }

@supports (grid-auto-rows: 1px) {
  .module--gallery.image-grid-container {
    grid-gap: 0.3125rem; }
    @media print, screen and (min-width: 40em) {
      .module--gallery.image-grid-container {
        grid-gap: 0.625rem; } }
    @media print, screen and (min-width: 64.0625em) {
      .module--gallery.image-grid-container {
        grid-gap: 0.78125rem; } }
    .module--gallery.image-grid-container.grid-small-col-2 {
      grid-template-columns: repeat(2, 1fr); }
    .module--gallery.image-grid-container.grid-small-col-3 {
      grid-template-columns: repeat(3, 1fr); }
    .module--gallery.image-grid-container.grid-small-col-4 {
      grid-template-columns: repeat(4, 1fr); }
    .module--gallery.image-grid-container.grid-small-col-5 {
      grid-template-columns: repeat(5, 1fr); }
    .module--gallery.image-grid-container.grid-small-col-6 {
      grid-template-columns: repeat(6, 1fr); }
    @media print, screen and (min-width: 40em) {
      .module--gallery.image-grid-container.grid-medium-col-2 {
        grid-template-columns: repeat(2, 1fr); }
      .module--gallery.image-grid-container.grid-medium-col-3 {
        grid-template-columns: repeat(3, 1fr); }
      .module--gallery.image-grid-container.grid-medium-col-4 {
        grid-template-columns: repeat(4, 1fr); }
      .module--gallery.image-grid-container.grid-medium-col-5 {
        grid-template-columns: repeat(5, 1fr); }
      .module--gallery.image-grid-container.grid-medium-col-6 {
        grid-template-columns: repeat(6, 1fr); } }
    @media print, screen and (min-width: 64.0625em) {
      .module--gallery.image-grid-container.grid-large-col-2 {
        grid-template-columns: repeat(2, 1fr); }
      .module--gallery.image-grid-container.grid-large-col-3 {
        grid-template-columns: repeat(3, 1fr); }
      .module--gallery.image-grid-container.grid-large-col-4 {
        grid-template-columns: repeat(4, 1fr); }
      .module--gallery.image-grid-container.grid-large-col-5 {
        grid-template-columns: repeat(5, 1fr); }
      .module--gallery.image-grid-container.grid-large-col-6 {
        grid-template-columns: repeat(6, 1fr); } }
    .module--gallery.image-grid-container .grid-item {
      width: auto !important;
      height: auto !important;
      margin: 0 !important; } }

@supports (grid-auto-rows: 1px) {
  .logo-grid .module--gallery.image-grid-container {
    grid-gap: 0.46875rem; }
    @media print, screen and (min-width: 40em) {
      .logo-grid .module--gallery.image-grid-container {
        grid-gap: 0.9375rem; } }
    @media print, screen and (min-width: 64.0625em) {
      .logo-grid .module--gallery.image-grid-container {
        grid-gap: 1.5625rem; } } }

.logo-grid .module--gallery.image-grid-container .grid-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.location-grid.image-grid-container .grid-item {
  width: 49%;
  margin: .5%;
  height: 140px; }
  .location-grid.image-grid-container .grid-item.image-5 {
    width: 24%; }
  .location-grid.image-grid-container .grid-item.image-6 {
    width: 24%; }
  @media print, screen and (min-width: 40em) {
    .location-grid.image-grid-container .grid-item {
      width: 24%;
      height: 180px; }
      .location-grid.image-grid-container .grid-item.image-5 {
        width: 14.5%; }
      .location-grid.image-grid-container .grid-item.image-6 {
        width: 14.5%; }
      .location-grid.image-grid-container .grid-item.image-8 {
        width: 18%; } }
  @media print, screen and (min-width: 64.0625em) {
    .location-grid.image-grid-container .grid-item {
      height: 220px; } }

@supports (grid-auto-rows: 1px) {
  .location-grid.image-grid-container .grid-item {
    display: inline-grid;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    justify-items: center;
    width: auto !important;
    height: auto !important;
    margin: 0; }
  @media screen and (max-width: 39.9375em) {
    .location-grid.image-grid-container {
      grid-gap: 0.46875rem;
      grid-template-columns: repeat(5, 1fr);
      grid-template-rows: repeat(11, 40px); }
      .location-grid.image-grid-container .image-1 {
        grid-column: 1 / span 3;
        grid-row: 1 / span 3; }
      .location-grid.image-grid-container .image-2 {
        grid-column: 4 / span 2;
        grid-row: 1 / span 2; }
      .location-grid.image-grid-container .image-5 {
        grid-column: 1 / span 3;
        grid-row: 4 / span 2; }
      .location-grid.image-grid-container .image-6 {
        grid-column: 4 / span 2;
        grid-row: 3 / span 3; }
      .location-grid.image-grid-container .image-7 {
        grid-column: 1 / span 2;
        grid-row: 6 / span 3; }
      .location-grid.image-grid-container .image-3 {
        grid-column: 3 / span 3;
        grid-row: 6 / span 4; }
      .location-grid.image-grid-container .image-4 {
        grid-column: 1 / span 2;
        grid-row: 9 / span 3; }
      .location-grid.image-grid-container .image-8 {
        grid-column: 3 / span 3;
        grid-row: 10 / span 2; } }
  @media print, screen and (min-width: 40em) {
    .location-grid.image-grid-container {
      grid-gap: 0.625rem;
      grid-template-columns: 28% 20% 28% 24%;
      grid-template-rows: repeat(9, 30px); }
      .location-grid.image-grid-container .image-1 {
        grid-row: 1 / span 5; }
      .location-grid.image-grid-container .image-2 {
        grid-row: 1 / span 4; }
      .location-grid.image-grid-container .image-3 {
        grid-row: 1 / span 4; }
      .location-grid.image-grid-container .image-4 {
        grid-row: 1 / span 6; }
      .location-grid.image-grid-container .image-5 {
        grid-row: 6 / span 4; }
      .location-grid.image-grid-container .image-6 {
        grid-row: 5 / span 5; }
      .location-grid.image-grid-container .image-7 {
        grid-row: 5 / span 5; }
      .location-grid.image-grid-container .image-8 {
        grid-row: 7 / span 3; } }
  @media print, screen and (min-width: 64.0625em) {
    .location-grid.image-grid-container {
      grid-gap: 0.78125rem;
      grid-template-rows: repeat(9, 40px); } } }

.location-grid-2.image-grid-container .grid-item {
  width: 49%;
  margin: .5%;
  height: 140px; }
  .location-grid-2.image-grid-container .grid-item.image-5 {
    width: 24%; }
  .location-grid-2.image-grid-container .grid-item.image-6 {
    width: 24%; }
  @media print, screen and (min-width: 40em) {
    .location-grid-2.image-grid-container .grid-item {
      width: 24%;
      height: 180px; }
      .location-grid-2.image-grid-container .grid-item.image-5 {
        width: 14.5%; }
      .location-grid-2.image-grid-container .grid-item.image-6 {
        width: 14.5%; }
      .location-grid-2.image-grid-container .grid-item.image-8 {
        width: 18%; } }
  @media print, screen and (min-width: 64.0625em) {
    .location-grid-2.image-grid-container .grid-item {
      height: 220px; } }

@supports (grid-auto-rows: 1px) {
  .location-grid-2.image-grid-container .grid-item {
    display: inline-grid;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    justify-items: center;
    width: auto !important;
    height: auto !important;
    margin: 0; }
  @media screen and (max-width: 39.9375em) {
    .location-grid-2.image-grid-container {
      grid-gap: 0.46875rem;
      grid-template-columns: repeat(6, 1fr);
      grid-template-rows: repeat(11, 40px); }
      .location-grid-2.image-grid-container .image-1 {
        grid-column: 1 / span 6;
        grid-row: 1 / span 3; }
      .location-grid-2.image-grid-container .image-5 {
        grid-column: 1 / span 3;
        grid-row: 4 / span 3; }
      .location-grid-2.image-grid-container .image-3 {
        grid-column: 4 / span 3;
        grid-row: 4 / span 6; }
      .location-grid-2.image-grid-container .image-6 {
        grid-column: 1 / span 3;
        grid-row: 7 / span 3; }
      .location-grid-2.image-grid-container .image-2 {
        grid-column: 1 / span 2;
        grid-row: 10 / span 2; }
      .location-grid-2.image-grid-container .image-4 {
        grid-column: 3 / span 2;
        grid-row: 10 / span 2; }
      .location-grid-2.image-grid-container .image-7 {
        grid-column: 5 / span 2;
        grid-row: 10 / span 2; } }
  @media print, screen and (min-width: 40em) {
    .location-grid-2.image-grid-container {
      grid-gap: 0.625rem;
      grid-template-columns: 28% 20% 28% 24%;
      grid-template-rows: repeat(9, 40px); }
      .location-grid-2.image-grid-container .image-1 {
        grid-column: span 2;
        grid-row: 1 / span 5; }
      .location-grid-2.image-grid-container .image-2 {
        grid-row: 1 / span 4; }
      .location-grid-2.image-grid-container .image-3 {
        grid-row: 1 / span 6; }
      .location-grid-2.image-grid-container .image-4 {
        grid-row: 6 / span 4; }
      .location-grid-2.image-grid-container .image-5 {
        grid-row: 6 / span 4; }
      .location-grid-2.image-grid-container .image-6 {
        grid-row: 5 / span 5; }
      .location-grid-2.image-grid-container .image-7 {
        grid-row: 7 / span 3; } }
  @media print, screen and (min-width: 64.0625em) {
    .location-grid-2.image-grid-container {
      grid-gap: 0.78125rem;
      grid-template-rows: repeat(9, 50px); } } }

.brick-grid.image-grid-container .grid-item {
  width: 49%;
  margin: .5%;
  height: 140px; }
  @media print, screen and (min-width: 40em) {
    .brick-grid.image-grid-container .grid-item {
      width: 24%;
      height: 200px; } }
  @media print, screen and (min-width: 64.0625em) {
    .brick-grid.image-grid-container .grid-item {
      height: 310px; } }

@supports (grid-auto-rows: 1px) {
  .brick-grid.image-grid-container .grid-item {
    display: inline-grid;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    justify-items: center;
    width: auto !important;
    height: auto !important;
    margin: 0; }
  @media screen and (max-width: 39.9375em) {
    .brick-grid.image-grid-container {
      grid-gap: 0.46875rem;
      grid-template-columns: repeat(10, 1fr);
      grid-template-rows: repeat(3, 140px); }
      .brick-grid.image-grid-container .image-1 {
        grid-column: span 4; }
      .brick-grid.image-grid-container .image-2 {
        grid-column: span 6; }
      .brick-grid.image-grid-container .image-3 {
        grid-column: span 5; }
      .brick-grid.image-grid-container .image-4 {
        grid-column: span 5; }
      .brick-grid.image-grid-container .image-5 {
        grid-column: span 6; }
      .brick-grid.image-grid-container .image-6 {
        grid-column: span 4; } }
  @media print, screen and (min-width: 40em) {
    .brick-grid.image-grid-container {
      grid-gap: 0.625rem;
      grid-template-columns: 25% 12% 20% 8% 30%;
      grid-template-rows: repeat(2, 200px); }
      .brick-grid.image-grid-container .image-1 {
        grid-column: span 1; }
      .brick-grid.image-grid-container .image-2 {
        grid-column: span 2; }
      .brick-grid.image-grid-container .image-3 {
        grid-column: span 2; }
      .brick-grid.image-grid-container .image-4 {
        grid-column: span 2; }
      .brick-grid.image-grid-container .image-5 {
        grid-column: span 2; }
      .brick-grid.image-grid-container .image-6 {
        grid-column: span 1; } }
  @media print, screen and (min-width: 64.0625em) {
    .brick-grid.image-grid-container {
      grid-gap: 0.78125rem;
      grid-template-rows: repeat(2, 310px); } } }

/* Mobile menu */
.off-canvas {
  height: 100%;
  position: fixed; }
  @media print, screen and (min-width: 64.0625em) {
    .off-canvas {
      display: none; } }
  .off-canvas ul li {
    padding: 0;
    text-align: left;
    font-size: 18px; }
    .off-canvas ul li a {
      color: #e6e6e6;
      text-transform: uppercase;
      font-family: "Perpetua", "Georgia", serif; }
  .off-canvas ul .current-menu-item a {
    color: #0da1ac; }

#main-mobile-menu {
  position: absolute;
  right: -100%;
  top: 0;
  z-index: 9;
  padding-top: 60px;
  padding-bottom: 30px;
  height: 100vh;
  -webkit-transition: all 500ms ease;
  transition: all 500ms ease; }
  @media print, screen and (min-width: 40em) {
    #main-mobile-menu {
      padding-top: 80px; } }

.open-main-menu {
  right: 0 !important; }

.menuToggle {
  right: 0; }

.simple-panel {
  position: fixed;
  height: 100%;
  background-color: #e0e1dc;
  z-index: 9999;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: -webkit-transform ease 0.25s;
  transition: -webkit-transform ease 0.25s;
  transition: transform ease 0.25s;
  transition: transform ease 0.25s, -webkit-transform ease 0.25s;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: all 500ms ease;
  transition: all 500ms ease; }
  @media screen and (max-width: 39.9375em) {
    .simple-panel {
      width: 90vw;
      padding: 15px 15px 15px 40px; } }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .simple-panel {
      width: 70vw;
      padding: 4vh; } }
  @media print, screen and (min-width: 64.0625em) {
    .simple-panel {
      width: 60vw;
      padding: 1.5vh 6vh; } }
  .simple-panel .simple-panel-inner {
    overflow-y: auto;
    height: 100%; }
  .simple-panel.right {
    right: 0;
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .simple-panel.top {
    width: 100%;
    height: 100%;
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%); }
  .simple-panel.bottom {
    width: 100%;
    height: 100%;
    bottom: 0;
    -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
            transform: translateY(100%); }
  .simple-panel.is-active {
    -webkit-box-shadow: 0.01em 0 0.5em #737373;
            box-shadow: 0.01em 0 0.5em #737373;
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
    .simple-panel.is-active .close-button {
      background-color: #e0e1dc;
      color: #123246;
      margin-bottom: 0;
      position: absolute;
      width: 40px;
      height: 40px;
      padding: 9px;
      border-radius: 50%;
      top: 20px;
      left: -18px;
      font-size: 1rem; }
      @media print, screen and (min-width: 64.0625em) {
        .simple-panel.is-active .close-button {
          margin-bottom: 10px;
          top: 0; } }
      .simple-panel.is-active .close-button .close-icon {
        font-size: 1.875rem;
        display: inline-block;
        line-height: 1; }
      .simple-panel.is-active .close-button .close-text {
        font-size: 1.25rem;
        display: inline-block;
        line-height: 1; }
  .simple-panel::-webkit-scrollbar {
    display: none; }
  @media screen and (max-width: 39.9375em) {
    .simple-panel .panel-contact-form {
      padding: 15px; } }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .simple-panel .panel-contact-form {
      padding: 4vh; } }
  @media print, screen and (min-width: 64.0625em) {
    .simple-panel .panel-contact-form {
      padding: 1.5vh 6vh; } }
  .simple-panel .panel-contact-form .gform_wrapper h3.gform_title {
    font-family: "Perpetua", "Georgia", serif;
    font-size: 1.875rem; }
    @media print, screen and (min-width: 64.0625em) {
      .simple-panel .panel-contact-form .gform_wrapper h3.gform_title {
        font-size: 2.5rem; } }
  .simple-panel .panel-contact-form .gform_wrapper .gfield_label,
  .simple-panel .panel-contact-form .gform_wrapper .gfield_required {
    color: #0a0a0a; }
  .simple-panel .panel-contact-form .gform_wrapper .gfield_checkbox li label,
  .simple-panel .panel-contact-form .gform_wrapper .gfield_radio li label {
    color: #09757d; }
  @media screen and (max-width: 39.9375em) {
    .simple-panel .panel-contact-form .gform_confirmation_wrapper {
      padding: 15px 15px 15px 40px; } }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .simple-panel .panel-contact-form .gform_confirmation_wrapper {
      padding: 4vh; } }
  @media print, screen and (min-width: 64.0625em) {
    .simple-panel .panel-contact-form .gform_confirmation_wrapper {
      max-width: 37.5rem; }
      .simple-panel .panel-contact-form .gform_confirmation_wrapper img {
        width: 100%; }
      .simple-panel .panel-contact-form .gform_confirmation_wrapper .confirmation-message {
        padding: 50px 0; } }

.home-link {
  display: block;
  position: relative; }

.card_pages .card a {
  display: block;
  padding: 0.625rem 0.625rem 2.5rem; }

@media screen and (max-width: 39.9375em) {
  .card_pages .card {
    margin-bottom: 0.9375rem; } }

.card_pages .card .card-content {
  padding: 20px 0; }

.card_pages .card .card-icon {
  width: 4.375rem;
  margin: 0 auto; }

.card-shadow {
  position: relative;
  text-decoration: none; }
  .card-shadow::before {
    background: rgba(0, 0, 0, 0.3);
    content: "";
    position: absolute;
    bottom: -.1em;
    left: .1em;
    right: .1em;
    top: .5em;
    z-index: -1; }
  .card-shadow::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: -1; }
  .card-shadow:hover {
    text-decoration: none;
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
        transform: scale(1.04); }
  .card-shadow:hover::before {
    -webkit-transform: translateY(0.1em);
    -ms-transform: translateY(0.1em);
        transform: translateY(0.1em); }
  .card-shadow:active {
    -webkit-transform: translateY(0.2em);
    -ms-transform: translateY(0.2em);
        transform: translateY(0.2em);
    -webkit-transition: none;
    transition: none; }
  .card-shadow:active::before {
    -webkit-transform: translateY(-0.1em);
    -ms-transform: translateY(-0.1em);
        transform: translateY(-0.1em);
    -webkit-transition: none;
    transition: none; }
  .card-shadow, .card-shadow::before, .card-shadow::after {
    -webkit-transition: all 0.5s cubic-bezier(0, 1, 0.3, 1);
    transition: all 0.5s cubic-bezier(0, 1, 0.3, 1); }

.card-shadow-subtle {
  position: relative;
  text-decoration: none; }
  .card-shadow-subtle:hover {
    text-decoration: none;
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
        transform: scale(1.04); }
  .card-shadow-subtle:hover::before {
    -webkit-transform: translateY(0.1em);
    -ms-transform: translateY(0.1em);
        transform: translateY(0.1em); }
  .card-shadow-subtle:active {
    -webkit-transform: translateY(0.2em);
    -ms-transform: translateY(0.2em);
        transform: translateY(0.2em);
    -webkit-transition: none;
    transition: none; }
  .card-shadow-subtle:active::before {
    -webkit-transform: translateY(-0.1em);
    -ms-transform: translateY(-0.1em);
        transform: translateY(-0.1em);
    -webkit-transition: none;
    transition: none; }
  .card-shadow-subtle, .card-shadow-subtle::before, .card-shadow-subtle::after {
    -webkit-transition: all 0.5s cubic-bezier(0, 1, 0.3, 1);
    transition: all 0.5s cubic-bezier(0, 1, 0.3, 1); }

/*
.news-cards.grid-container {
	@include breakpoint(small) {
		grid-gap: map-get($section-padding, small)/2;
	}
	@include breakpoint(medium) {
		grid-gap: map-get($section-padding, medium)/2;
	}
	@include breakpoint(large) {
		grid-gap: map-get($section-padding, large)/2;
	}

}
*/
.news-cards .card-item {
  display: block; }
  .news-cards .card-item .border-inner {
    padding: 8px; }
  .news-cards .card-item .card-link {
    width: 100%; }
  .news-cards .card-item .card-image {
    padding-top: 50%;
    background-size: cover;
    background-position: center;
    -webkit-backface-visibility: hidden;
    -ms-transform: translateZ(0);
    /* IE 9 */
    -webkit-transform: translateZ(0);
    /* Chrome, Safari, Opera */
    transform: translateZ(0); }
  .news-cards .card-item .card-info {
    padding: 20px;
    width: 100%;
    overflow: auto; }
    .news-cards .card-item .card-info > h6 {
      margin-bottom: 20px;
      font-size: 1rem;
      font-family: "Perpetua", "Georgia", serif;
      text-transform: uppercase;
      line-height: 1; }
    .news-cards .card-item .card-info > h3 {
      line-height: 1; }
    .news-cards .card-item .card-info .card-description {
      margin-top: 10px; }
      .news-cards .card-item .card-info .card-description p {
        line-height: 1.3;
        margin-bottom: 0; }
  .news-cards .card-item .card-button {
    margin-top: 0;
    margin-bottom: 26px; }

.news-card.newsletter-style {
  position: relative; }
  .news-card.newsletter-style .border-inner {
    position: relative;
    overflow: hidden; }
  .news-card.newsletter-style .card-link {
    width: 100%; }
    .news-card.newsletter-style .card-link .newsletter-post-date {
      position: absolute;
      bottom: -1px;
      left: 0%;
      right: 0%;
      padding: 10px 10px 5px 10px;
      background-color: #0da1ac;
      color: #fefefe;
      text-align: center;
      text-transform: uppercase;
      width: auto;
      line-height: 1;
      border: 2px solid #0da1ac;
      opacity: 1;
      -webkit-transition: all 0.5s ease-in-out;
      transition: all 0.5s ease-in-out; }
      @media screen and (min-width: 40em) and (max-width: 64em) {
        .news-card.newsletter-style .card-link .newsletter-post-date {
          left: 5%;
          right: 5%; } }
      @media print, screen and (min-width: 64.0625em) {
        .news-card.newsletter-style .card-link .newsletter-post-date {
          left: 15%;
          right: 15%; } }
      .news-card.newsletter-style .card-link .newsletter-post-date .newsletter-post-month {
        display: block;
        font-size: 0.9em; }
      .news-card.newsletter-style .card-link .newsletter-post-date .newsletter-post-year {
        display: block;
        font-size: 1.1em; }
    .news-card.newsletter-style .card-link .card-info-hover {
      max-height: 0;
      opacity: 0;
      position: absolute;
      bottom: -60px;
      left: -1px;
      right: -1px;
      z-index: 80;
      -webkit-transition: all 0.5s ease-in-out;
      transition: all 0.5s ease-in-out; }
      .news-card.newsletter-style .card-link .card-info-hover h5 {
        font-size: 1.5rem; }
  .news-card.newsletter-style .card-link:hover .newsletter-post-date,
  .news-card.newsletter-style .card-link:focus .newsletter-post-date {
    bottom: -60px;
    opacity: 0;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out; }
  .news-card.newsletter-style .card-link:hover .card-info-hover,
  .news-card.newsletter-style .card-link:focus .card-info-hover {
    bottom: -1px;
    opacity: 1;
    max-height: 100%;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out; }

.events-cards .card-item {
  display: block; }
  .events-cards .card-item .border-inner {
    padding: 8px; }
  .events-cards .card-item .card-link {
    width: 100%; }
  .events-cards .card-item .card-info {
    padding: 20px;
    width: 100%; }
    .events-cards .card-item .card-info > h6 {
      margin-bottom: 20px;
      font-size: 1.25rem;
      font-family: "Perpetua", "Georgia", serif;
      text-transform: uppercase;
      line-height: 1; }
    .events-cards .card-item .card-info > h3 {
      line-height: 1; }
    .events-cards .card-item .card-info .card-description {
      margin-top: 10px; }
      .events-cards .card-item .card-info .card-description p {
        line-height: 1.3;
        margin-bottom: 0; }
  .events-cards .card-item .card-button {
    margin-top: 0;
    margin-bottom: 26px; }

.availability-card {
  display: block; }
  .availability-card .border-inner {
    padding: 8px; }
  .availability-card .card-link {
    width: 100%; }
  .availability-card .card-image {
    padding-top: 50%;
    background-size: cover;
    background-position: center;
    -webkit-backface-visibility: hidden;
    -ms-transform: translateZ(0);
    /* IE 9 */
    -webkit-transform: translateZ(0);
    /* Chrome, Safari, Opera */
    transform: translateZ(0); }
  .availability-card .card-info {
    padding: 20px;
    width: 100%;
    overflow: auto; }
    .availability-card .card-info > h6 {
      line-height: 1; }
    .availability-card .card-info > h3 {
      line-height: 1; }
    .availability-card .card-info .card-description {
      margin-top: 10px; }
      .availability-card .card-info .card-description p {
        line-height: 1.3;
        margin-bottom: 0; }
  .availability-card .card-button {
    margin-top: 0;
    margin-bottom: 26px; }

.care-cards .card-item {
  display: block; }
  .care-cards .card-item .card-link {
    width: 100%; }
  .care-cards .card-item .card-image {
    padding-top: 50%;
    background-size: cover;
    background-position: center;
    -webkit-backface-visibility: hidden;
    -ms-transform: translateZ(0);
    /* IE 9 */
    -webkit-transform: translateZ(0);
    /* Chrome, Safari, Opera */
    transform: translateZ(0); }
  .care-cards .card-item .card-info {
    padding: 30px;
    width: 100%;
    overflow: auto; }
    .care-cards .card-item .card-info > h5 {
      line-height: 1; }
    .care-cards .card-item .card-info > h3 {
      line-height: 1; }
    .care-cards .card-item .card-info .card-description {
      margin-top: 10px; }
      .care-cards .card-item .card-info .card-description p {
        line-height: 1.3;
        margin-bottom: 0; }
  .care-cards .card-item .card-button {
    padding: 0 30px;
    margin-top: 0;
    margin-bottom: 26px; }

.location-cards .card-item {
  display: block; }
  .location-cards .card-item .border-inner {
    padding: 5%; }
  .location-cards .card-item .card-link {
    width: 100%; }
  .location-cards .card-item .card-image {
    padding-top: 100%;
    background-size: cover;
    background-position: center;
    -webkit-backface-visibility: hidden;
    -ms-transform: translateZ(0);
    /* IE 9 */
    -webkit-transform: translateZ(0);
    /* Chrome, Safari, Opera */
    transform: translateZ(0); }
  .location-cards .card-item .overlay {
    padding: 10px;
    background-color: rgba(10, 10, 10, 0.5);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; }
  .location-cards .card-item .card-spacer {
    height: 10%; }
  .location-cards .card-item .card-info {
    width: 100%;
    overflow: auto; }
    .location-cards .card-item .card-info > h5 {
      line-height: 1.2;
      overflow: hidden; }
    .location-cards .card-item .card-info .card-description {
      font-size: 1.125rem;
      line-height: 1.3;
      margin-bottom: 0; }
  .location-cards .card-item .card-button {
    padding: 0 10px;
    margin-top: 0;
    margin-bottom: 5%; }
    @media screen and (min-width: 40em) and (max-width: 64em) {
      .location-cards .card-item .card-button {
        margin-bottom: 16px; } }
    @media print, screen and (min-width: 64.0625em) {
      .location-cards .card-item .card-button {
        margin-bottom: 26px; } }

.location-cards.locations-minimal .card-item {
  display: block; }
  .location-cards.locations-minimal .card-item .border-inner {
    padding: 0; }
  .location-cards.locations-minimal .card-item .card-image {
    padding-top: 66%;
    background-size: cover;
    background-position: center;
    -webkit-backface-visibility: hidden;
    -ms-transform: translateZ(0);
    /* IE 9 */
    -webkit-transform: translateZ(0);
    /* Chrome, Safari, Opera */
    transform: translateZ(0); }
  .location-cards.locations-minimal .card-item .card-info {
    padding: 0.625rem 0.3125rem 0.3125rem; }
    .location-cards.locations-minimal .card-item .card-info > h5 {
      font-size: 1.875rem; }
    .location-cards.locations-minimal .card-item .card-info .card-description {
      font-size: 1.125rem; }

.story-cards .card-item {
  display: block; }
  .story-cards .card-item .border-inner {
    padding: 8px; }
  .story-cards .card-item .card-link {
    width: 100%; }
  .story-cards .card-item .card-image {
    padding-top: 50%;
    background-size: cover;
    background-position: center;
    -webkit-backface-visibility: hidden;
    -ms-transform: translateZ(0);
    /* IE 9 */
    -webkit-transform: translateZ(0);
    /* Chrome, Safari, Opera */
    transform: translateZ(0); }
  .story-cards .card-item .card-info {
    padding: 20px;
    width: 100%;
    overflow: auto; }
    .story-cards .card-item .card-info > h3 {
      line-height: 1; }
    .story-cards .card-item .card-info .card-description {
      margin-top: 10px;
      font-size: 1.375rem;
      line-height: 1.3;
      margin-bottom: 0; }
  .story-cards .card-item .card-button {
    margin-top: 0;
    margin-bottom: 26px; }

.suite-cards {
  /*
	.cell-border-outer {
		&:hover,
		&:active,
		&:focus {
			box-shadow: 0 0 8px 3px rgba(0,0,0,0.3);
		}
	}
*/ }
  .suite-cards .card-item {
    display: block; }
    .suite-cards .card-item .border-inner {
      padding: 8px; }
    .suite-cards .card-item .card-link {
      width: 100%; }
    .suite-cards .card-item .card-image {
      position: relative;
      padding-top: 70%;
      background-size: cover;
      background-position: center;
      -webkit-backface-visibility: hidden;
      -ms-transform: translateZ(0);
      /* IE 9 */
      -webkit-transform: translateZ(0);
      /* Chrome, Safari, Opera */
      transform: translateZ(0); }
    .suite-cards .card-item .card-info {
      padding: 10px;
      width: 100%;
      overflow: auto; }
      @media print, screen and (min-width: 40em) {
        .suite-cards .card-item .card-info {
          padding: 10px; } }
      @media print, screen and (min-width: 64.0625em) {
        .suite-cards .card-item .card-info {
          padding: 20px; } }
      .suite-cards .card-item .card-info > h6 {
        margin-top: 10px;
        margin-bottom: 10px;
        font-size: 1.375rem;
        font-family: "Perpetua", "Georgia", serif;
        line-height: 1; }
      .suite-cards .card-item .card-info > h3 {
        line-height: 1; }
    .suite-cards .card-item .card-button {
      margin-top: 0;
      margin-bottom: 10px; }
      @media print, screen and (min-width: 40em) {
        .suite-cards .card-item .card-button {
          margin-bottom: 10px; } }
      @media print, screen and (min-width: 64.0625em) {
        .suite-cards .card-item .card-button {
          margin-bottom: 26px; } }

.suite-cards .status-label-text {
  position: absolute;
  top: 10px;
  right: -10px;
  padding: 10px 15px 6px;
  background-color: #0da1ac;
  color: #fefefe;
  text-transform: uppercase;
  font-size: 1.1em;
  line-height: 1; }
  @media print, screen and (min-width: 64.0625em) {
    .suite-cards .status-label-text {
      top: 20px;
      font-size: 1.4em; } }

@media print, screen and (min-width: 40em) {
  .suite-cards .large-12 .status-label-text {
    top: 30px;
    font-size: 1.6em; } }

@media print, screen and (min-width: 64.0625em) {
  .suite-cards .large-12 .status-label-text {
    top: 40px;
    font-size: 1.6em; } }

.gallery-card {
  display: block; }
  .gallery-card .gallery-image {
    background-size: cover;
    background-position: center;
    height: 9.375rem; }
    @media print, screen and (min-width: 40em) {
      .gallery-card .gallery-image {
        height: 9.375rem; } }
    @media print, screen and (min-width: 64.0625em) {
      .gallery-card .gallery-image {
        height: 11.25rem; } }

.careers-card a {
  display: block;
  border: 2px solid #e0e1dc;
  border-radius: 3px; }

.careers-card h4 {
  font-size: 1.875rem; }

.careers-card h5 {
  font-size: 1.625rem; }

.team-cards .card-item {
  display: block; }
  .team-cards .card-item .border-inner {
    padding: 8px; }
  .team-cards .card-item .card-link {
    width: 100%; }
  .team-cards .card-item .card-image {
    padding-top: 90%;
    background-size: cover;
    background-position: center;
    -webkit-backface-visibility: hidden;
    -ms-transform: translateZ(0);
    /* IE 9 */
    -webkit-transform: translateZ(0);
    /* Chrome, Safari, Opera */
    transform: translateZ(0); }
  .team-cards .card-item .card-info {
    padding: 20px;
    width: 100%;
    overflow: auto; }
    .team-cards .card-item .card-info > h3 {
      line-height: 1; }
    .team-cards .card-item .card-info .card-description {
      margin-top: 10px;
      font-size: 1.375rem;
      line-height: 1.3;
      margin-bottom: 0; }
  .team-cards .card-item .card-button {
    margin-top: 0;
    margin-bottom: 26px; }

.sites-button,
.button-group .button,
body .gform_wrapper .gform_button, body .gform_wrapper .gform_button_select_files {
  background-color: #0da1ac;
  color: #fefefe; }

.panel-contact-form body .gform_wrapper .gform_button,
.panel-contact-form .gform_wrapper .gform_footer input.button,
.panel-contact-form .gform_wrapper .gform_footer input[type=submit] {
  background-color: #0da1ac !important;
  -webkit-box-shadow: none;
          box-shadow: none; }

body .gform_wrapper .gform_button,
body .gform_wrapper .gform_footer input.button,
body .gform_wrapper .gform_footer input[type=submit],
body .gform_wrapper .gform_page_footer input.button,
body .gform_wrapper .gform_page_footer input[type=submit] {
  font-family: "Perpetua", "Georgia", serif;
  padding: 0.75em 1.8em 0.55em !important;
  background-color: #0da1ac;
  color: #fefefe;
  font-size: 1.4rem; }
  body .gform_wrapper .gform_button:hover,
  body .gform_wrapper .gform_footer input.button:hover,
  body .gform_wrapper .gform_footer input[type=submit]:hover,
  body .gform_wrapper .gform_page_footer input.button:hover,
  body .gform_wrapper .gform_page_footer input[type=submit]:hover {
    background-color: #0b8992;
    color: #fefefe; }

.section-cta .button-group {
  margin-bottom: 0; }

p + .button-group {
  margin-top: 20px;
  margin-bottom: 20px; }
  p + .button-group.no-margin {
    margin-bottom: 0; }

.button-group {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .button-group .button {
    margin-right: 10px;
    margin-bottom: 10px; }
  .button-group.no-margin {
    margin-bottom: 0; }

.text-center .button-group .button, .archive-heading .button-group .button {
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 10px; }

.align-center.button-group .button, .text-center .button-group .button, .archive-heading .button-group .button {
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 10px; }

@media screen and (max-width: 39.9375em) {
  .equal-width.button-group .button {
    width: 65vw; } }

.enlarge-button {
  position: absolute;
  bottom: 20px;
  left: 20px; }

.archive-link {
  font-size: 1.5rem; }

.button.link-border {
  background-color: transparent;
  color: #6d6e70;
  padding: 4px 0;
  margin: 10px 0 0;
  position: relative;
  -webkit-transition: right .4s ease-out;
  transition: right .4s ease-out; }
  .button.link-border .fas {
    font-size: 0.7em; }
  .button.link-border:after {
    content: '';
    border-bottom: 3px solid #0da1ac;
    position: absolute;
    bottom: -4px;
    left: 0;
    right: 30%;
    -webkit-transition: right .4s ease-out;
    transition: right .4s ease-out; }
  .button.link-border:hover, .button.link-border:active, .button.link-border:focus {
    background-color: transparent;
    color: #0da1ac !important; }
  .button.link-border:hover::after {
    border-color: #0b8992;
    right: 0; }

.button.link-border.link-border-small {
  padding: 4px 0 2px; }
  .button.link-border.link-border-small:after {
    width: 40px;
    border-bottom-width: 2px;
    bottom: -2px; }

.text-center .button.link-border, .archive-heading .button.link-border {
  -webkit-transition: left .4s ease-out, right .4s ease-out;
  transition: left .4s ease-out, right .4s ease-out; }
  .text-center .button.link-border:after, .archive-heading .button.link-border:after {
    -webkit-transition: left .4s ease-out, right .4s ease-out;
    transition: left .4s ease-out, right .4s ease-out;
    left: 20%;
    right: 20%; }
  .text-center .button.link-border:hover::after, .archive-heading .button.link-border:hover::after {
    border-color: #0b8992;
    left: 0;
    right: 0; }

.card-shadow:hover .button.link-border::after {
  border-color: #0b8992;
  right: 0; }

.card-shadow:hover .text-center .button.link-border::after, .card-shadow:hover .archive-heading .button.link-border::after {
  border-color: #0b8992;
  left: 0;
  right: 0; }

@media screen and (max-width: 39.9375em) {
  .image-header .button,
  .image-header-large .button {
    padding: 0.55em 1em 0.45em; } }

.button.thin {
  font-size: 1.1rem;
  padding: 0.45em 1em 0.25em; }

.cards-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .cards-container .card {
    width: calc(100% - 0.9375rem);
    margin-right: 0.46875rem;
    margin-left: 0.46875rem; }
    .cards-container .card .card-content {
      padding: 1rem; }
    @media print, screen and (min-width: 40em) {
      .cards-container .card {
        width: calc(33.33333% - 0.7rem);
        margin-right: 0.35rem;
        margin-left: 0.35rem; } }

[data-whatinput="mouse"] a:focus, button:focus [data-whatinput="touch"] a:focus, button:focus {
  outline: none; }

.full-width-title {
  padding: 33px 0 20px 0; }
  .full-width-title h1 {
    text-align: left !important;
    padding-left: 10px; }
    @media print, screen and (min-width: 40em) {
      .full-width-title h1 {
        text-align: center !important; } }

.form {
  max-width: 500px;
  margin: 0 auto; }

.form-blurb p {
  margin-bottom: 0; }

.entry-title {
  margin-bottom: 0; }

form input[type='text'],
form input[type='tel'],
form input[type='email'] {
  padding-left: 0; }

form textarea {
  height: 100px; }

form div {
  margin-bottom: 20px; }

form table tbody {
  border: none;
  background: none; }
  form table tbody tr:nth-child(even), form table tbody tr:nth-child(odd) {
    background: none !important; }

form #recaptcha_widget_div {
  margin-top: -110px;
  margin-bottom: 0; }

form .inline-input {
  display: block;
  width: 100%; }
  @media screen and (min-width: 40em) {
    form .inline-input {
      display: inline-block;
      width: 50%; } }

form .inline-input-enquiry {
  display: block;
  width: 100%; }
  @media screen and (min-width: 40em) {
    form .inline-input-enquiry {
      display: inline-block;
      width: 49%; } }

form .inline-checkbox {
  display: inline-block; }
  form .inline-checkbox label {
    margin-left: 10px;
    font-size: 16px; }

form .inline-checkbox-right {
  margin-left: 20px; }

form .contact-form_container {
  float: left;
  width: 100%; }

form .contact-page_details_container {
  background: #fefefe; }

body .gform_wrapper {
  color: #0a0a0a;
  margin: 0; }
  body .gform_wrapper h2.gsection_title,
  body .gform_wrapper h3.gform_title {
    font-weight: normal !important; }
  body .gform_wrapper .gform_body {
    width: 100% !important; }
  body .gform_wrapper .list-dropdown-wrap select {
    width: 100%;
    margin-bottom: 0; }
  body .gform_wrapper .ginput_container {
    margin-bottom: 0.9375rem !important; }
  body .gform_wrapper .top_label .gfield_label {
    margin-bottom: 0; }
  body .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {
    line-height: 1.4;
    margin-bottom: 0; }
  body .gform_wrapper input, body .gform_wrapper select, body .gform_wrapper textarea {
    color: #0a0a0a;
    -webkit-box-shadow: none;
            box-shadow: none;
    margin-bottom: 0; }
  body .gform_wrapper li.hidden_label input,
  body .gform_wrapper ul li.gfield,
  body .gform_wrapper .top_label li.gfield.gf_left_half,
  body .gform_wrapper .top_label li.gfield.gf_right_half,
  body .gform_wrapper .top_label div.ginput_container {
    margin-top: 0 !important;
    padding-left: 0; }
  @media print, screen and (min-width: 40em) {
    body .gform_wrapper .top_label li.gfield.gf_left_half {
      padding-right: 10px; }
    body .gform_wrapper .top_label li.gfield.gf_right_half {
      padding-left: 10px; }
    body .gform_wrapper .top_label li.gfield.gf_left_two_third {
      display: inline-block;
      width: 66.6%;
      vertical-align: top;
      padding-right: 16px;
      float: none; }
    body .gform_wrapper .top_label li.gfield.gf_one_fourth {
      display: inline-block;
      width: 25%;
      vertical-align: top;
      padding-right: 16px;
      float: none; }
    body .gform_wrapper .top_label li.gfield.gf_two_fifth {
      display: inline-block;
      width: 40%;
      vertical-align: top;
      padding-right: 16px;
      float: none; }
    body .gform_wrapper .top_label li.gfield.gf_one_fifth {
      display: inline-block;
      width: 20%;
      vertical-align: top;
      padding-right: 16px;
      float: none; }
    body .gform_wrapper .top_label li.gfield.gf_last_fifth {
      display: inline-block;
      width: 20%;
      vertical-align: top;
      padding-right: 16px;
      float: none; } }
  body .gform_wrapper ul.gform_fields li.gfield {
    clear: none; }
  body .gform_wrapper .top_label .gfield_label {
    font-weight: normal;
    font-size: 1.0625rem; }
  body .gform_wrapper .gfield_checkbox li label,
  body .gform_wrapper .gfield_radio li label {
    font-size: 1.375rem; }
  body .gform_wrapper .gfield_checkbox li input,
  body .gform_wrapper .gfield_checkbox li input[type=checkbox],
  body .gform_wrapper .gfield_radio li input[type=radio] {
    margin-right: 6px;
    margin-top: -5px !important; }
  body .gform_wrapper .field_description_below .gfield_description {
    padding-top: 5px; }
  body .gform_wrapper ::-webkit-input-placeholder {
    color: #6d6e70; }
  body .gform_wrapper :-moz-placeholder {
    /* Firefox 18- */
    color: #6d6e70; }
  body .gform_wrapper ::-moz-placeholder {
    /* Firefox 19+ */
    color: #6d6e70; }
  body .gform_wrapper :-ms-input-placeholder {
    color: #6d6e70; }
  body .gform_wrapper select option:first-child {
    color: #e6e6e6; }
  body .gform_wrapper select option {
    font-size: 1rem !important; }
  body .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
    padding: 5px 10px;
    font-size: 1rem; }
  body .gform_wrapper.gf_browser_gecko select,
  body .gform_wrapper.gf_browser_chrome select {
    padding: 2px 24px 2px 8px; }
  body .gform_wrapper .gform_button {
    width: 100%; }
  body .gform_wrapper .gf_readonly .gfield_label {
    display: none; }
  body .gform_wrapper .gf_readonly.location-name {
    display: none; }
    body .gform_wrapper .gf_readonly.location-name .ginput_container {
      margin-bottom: 0 !important; }
  body .gform_wrapper .gf_readonly textarea[readonly] {
    padding: 0 !important;
    background-color: transparent;
    border: 0 none;
    font-size: 1.8em;
    cursor: not-allowed;
    height: auto;
    max-height: 37px;
    min-height: 0; }
  body .gform_wrapper .gf_readonly input[readonly] {
    padding: 0 !important;
    background-color: transparent;
    border: 0 none;
    font-size: 1.8em;
    cursor: not-allowed; }
  body .gform_wrapper .gf_readonly.location-contact {
    display: none; }
    body .gform_wrapper .gf_readonly.location-contact textarea[readonly] {
      font-size: 1.3em; }
  body .gform_wrapper li.gfield.gf_list_2col ul.gfield_checkbox li label,
  body .gform_wrapper li.gfield.gf_list_2col ul.gfield_radio li label,
  body .gform_wrapper li.gfield.gf_list_3col ul.gfield_checkbox li label,
  body .gform_wrapper li.gfield.gf_list_3col ul.gfield_radio li label,
  body .gform_wrapper li.gfield.gf_list_4col ul.gfield_checkbox li label,
  body .gform_wrapper li.gfield.gf_list_4col ul.gfield_radio li label {
    overflow: visible; }

.location-name,
.location-contact {
  display: none; }

.panel-contact-form .location-name,
.panel-contact-form .location-contact {
  display: none; }

@media print, screen and (min-width: 40em) {
  .form-columns .gform_multi_column_wrapper .gform_body,
  .form-columns .gform_page_multi_column .gform_page_fields {
    margin-left: -8px;
    margin-right: -8px;
    width: calc(100% + 16px) !important; }
  .form-columns .gform_multi_column_wrapper .gform_body:after,
  .form-columns .gform_page_multi_column .gform_page_fields:after {
    content: ' ';
    display: table;
    clear: both; }
  .form-columns .gform_multi_column_wrapper ul.gform_fields,
  .form-columns .gform_page_multi_column ul.gform_fields {
    float: left;
    width: 100%;
    padding-left: 8px;
    padding-right: 8px; }
  .form-columns .gform_column_count_2_wrapper ul.gform_fields,
  .form-columns .gform_page_column_count_2 ul.gform_fields {
    width: 60%; }
  .form-columns .gform_column_count_2_wrapper ul.gform_fields.column_2,
  .form-columns .gform_page_column_count_2 ul.gform_fields.column_2 {
    width: 40%; }
  .form-columns .gform_column_count_3_wrapper ul.gform_fields,
  .form-columns .gform_page_column_count_3 ul.gform_fields {
    width: 33.333333%; }
  .form-columns .gform_column_count_4_wrapper ul.gform_fields,
  .form-columns .gform_page_column_count_4 ul.gform_fields {
    width: 25%; }
  .form-columns .gform_wrapper textarea.medium {
    height: 225px; } }

@media print, screen and (min-width: 64.0625em) {
  .form-columns .gform_wrapper textarea.medium {
    height: 240px; } }

.hide-accommodation-checkbox .accommodation-checkbox {
  display: none; }

.hide-session-field .form-field-session {
  display: none; }

body .gform_wrapper ul.gform_fields li.gfield.location-name, body .gform_wrapper ul.gform_fields li.gfield.location-contact {
  display: none; }

body .panel-contact-form .gform_wrapper ul.gform_fields li.gfield.location-name, body .panel-contact-form .gform_wrapper ul.gform_fields li.gfield.location-contact {
  display: none; }

#search-container-wrapper {
  width: 80%;
  margin: 0 auto; }

#search-container {
  position: relative;
  width: 100%;
  height: 60px;
  overflow: hidden;
  margin-left: 10px;
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
  -webkit-backface-visibility: hidden; }

.searchbox {
  -webkit-transition: width 0.3s;
  transition: width 0.3s; }

.searchbox-input {
  position: absolute;
  top: 0;
  left: 0;
  border: none;
  outline: none;
  background: #fff;
  width: 100%;
  height: 60px;
  margin: 0 !important;
  z-index: 10;
  padding: 14px 65px 10px 20px !important;
  font-family: inherit;
  font-size: 32px;
  color: #2c3e50; }
  .searchbox-input:focus {
    background-color: #fefefe;
    -webkit-box-shadow: none;
            box-shadow: none; }

input[type="search"].searchbox-input {
  -webkit-appearance: none;
  -webkit-border-radius: 0px; }

.searchbox-input::-webkit-input-placeholder {
  color: #123246; }

.searchbox-input:-moz-placeholder {
  color: #123246; }

.searchbox-input::-moz-placeholder {
  color: #123246; }

.searchbox-input:-ms-input-placeholder {
  color: #123246; }

.searchbox-icon,
.searchbox-submit {
  width: 60px;
  height: 60px;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  padding: 0;
  margin: 0;
  line-height: 60px;
  text-align: center;
  cursor: pointer; }
  .searchbox-icon:hover,
  .searchbox-submit:hover {
    color: #777777; }

.searchbox-submit {
  background: #fff;
  /* IE needs this */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  /* IE 8 */
  filter: alpha(opacity=0);
  /* IE 5-7 */
  opacity: 0;
  color: transparent;
  border: none;
  outline: none;
  z-index: -1; }

.searchbox-icon {
  color: #fff;
  background: #123246;
  z-index: 90;
  font-size: 30px;
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased; }

.menu-item .searchbox-icon {
  font-size: 22px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  position: relative; }

/*
.searchbox-icon:before {
	content: "\e000";
}
*/
.mobile-search {
  margin-top: 10px; }
  .mobile-search .icon-container {
    display: inline-block; }
  .mobile-search .searchBtn {
    background: #8f8f8f;
    border-radius: 4px;
    padding: 0 15px 0 10px;
    height: 35px;
    margin-left: 13px;
    vertical-align: top;
    padding-top: 0 !important; }
  .mobile-search .mobile-search-input {
    display: inline-block;
    margin-left: -10px;
    vertical-align: top; }
    .mobile-search .mobile-search-input input {
      background: #8f8f8f;
      border-radius: 4px;
      border-bottom: none;
      padding: 0 10px;
      height: 35px; }
      .mobile-search .mobile-search-input input:focus {
        -webkit-box-shadow: none;
                box-shadow: none;
        outline-style: none; }
    .mobile-search .mobile-search-input input::-webkit-input-placeholder {
      color: #fefefe; }
    .mobile-search .mobile-search-input input:-moz-placeholder {
      color: #fefefe; }
    .mobile-search .mobile-search-input input::-moz-placeholder {
      color: #fefefe; }
    .mobile-search .mobile-search-input input:-ms-input-placeholder {
      color: #fefefe; }
  .mobile-search .search-icon {
    color: #fefefe; }

form#designForm select {
  display: block;
  padding: 7px 50px 7px 13px !important;
  margin-bottom: 0;
  max-width: 100%;
  height: auto !important;
  background-size: 11px 8px;
  background-position: 95% center;
  background-origin: padding-box;
  font-size: 16px;
  line-height: 1.1 !important;
  appearance: none;
  /* this is must */
  -webkit-appearance: none;
  -moz-appearance: none; }
  form#designForm select option {
    padding: 0 4px; }

.title-bar-jump-menu form#designForm select {
  padding: 10px 30px 8px 8px !important;
  font-size: 16px; }

input[type=range] {
  -webkit-appearance: none;
  /*margin: 0 auto;*/
  width: 100%; }

input[type=range]::-ms-tooltip {
  display: none; }

input[type=range]:focus {
  outline: none; }

input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 6px;
  /*border-top: 1px solid #b99400;*/
  /*border-bottom: 2px solid #ffd631;*/
  cursor: pointer;
  /*animate: 0.2s;*/
  /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/
  background: #0da1ac;
  border-radius: 0;
  /*border: 0px solid #000101;*/
  -webkit-transition: background 0.1s ease;
  transition: background 0.1s ease; }

input[type=range]::-webkit-slider-thumb {
  /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/
  border: 6px solid #0da1ac;
  height: 30px;
  width: 30px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -12px;
  -webkit-transition: border 0.1s ease;
  transition: border 0.1s ease; }

/*input[type=range]:focus::-webkit-slider-runnable-track {
  background: #ff0;
}*/
input[type=range]::-moz-range-track {
  width: 100%;
  height: 6px;
  /*border-top: 1px solid #b99400;*/
  /*border-bottom: 2px solid #ffd631;*/
  cursor: pointer;
  animate: 0.2s;
  /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/
  background: #0da1ac;
  border-radius: 0;
  /*border: 0px solid #000101;*/
  -webkit-transition: background 0.1s;
  transition: background 0.1s; }

input[type=range]::-moz-range-thumb {
  /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/
  border: 3px solid #0da1ac;
  height: 30px;
  width: 30px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -14px;
  -webkit-transition: border 0.1s ease;
  transition: border 0.1s ease; }

input[type=range]::-ms-track {
  width: 100%;
  height: 6px;
  /*border-top: 1px solid #b99400;*/
  /*border-bottom: 2px solid #ffd631;*/
  cursor: pointer;
  animate: 0.2s;
  /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/
  /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
  background: transparent;
  /*leave room for the larger thumb to overflow with a transparent border */
  border-color: transparent;
  border-width: 20px 0;
  /*remove default tick marks*/
  color: transparent;
  /*border: 0px solid #000101;*/
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease; }

input[type=range]::-ms-fill-lower {
  background: #0da1ac;
  border: 0px solid #000101;
  border-radius: 0; }

input[type=range]::-ms-fill-upper {
  background: #0da1ac;
  border: 0px solid #000101;
  border-radius: 0; }

input[type=range]::-ms-thumb {
  /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/
  border: 3px solid #0da1ac;
  height: 30px;
  width: 30px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: border 0.1s;
  transition: border 0.1s; }

input[type=range]:focus::-ms-fill-lower {
  background: #0da1ac; }

input[type=range]:focus::-ms-fill-upper {
  background: #0da1ac; }

input[type=range]:hover::-webkit-slider-runnable-track {
  background: #0da1ac; }

input[type=range]:hover::-webkit-slider-thumb {
  /*background: #fff;*/
  border-color: #0da1ac; }

input[type=range]:active::-webkit-slider-runnable-track {
  background: #0da1ac; }

input[type=range]:active::-webkit-slider-thumb {
  /*background: #fff;*/
  border-color: #0da1ac; }

input[type=range]:hover::-moz-range-track {
  background: #0da1ac; }

input[type=range]:hover::-moz-range-thumb {
  background: #fff;
  border-color: #0da1ac; }

input[type=range]:active::-moz-range-track {
  background: #0da1ac; }

input[type=range]:active::-moz-range-thumb {
  background: #fff;
  border-color: #0da1ac; }

/*input[type=range]:focus::-webkit-slider-thumb {
  background: #fff;
  transition: background 0.1s ease;
}*/
/*Styling Selectbox*/
/*
.location-search {
	.dropdown {
		display: inline-block;
		background-color: #fff;
		border-radius: 5px 0 0 5px;
		transition: all .5s ease;
		position: relative;
		//font-size: 1.6em;
		color: $light-blue;
		height: 100%;
		text-align: left;
		width: 100%;
		@include breakpoint(large) {
			width: 300px;
		}	
	}
	.dropdown .select {
	    cursor: pointer;
	    display: block;
	    padding: 10px
	}
	.dropdown .select > i {
	    font-size: 13px;
	    color: #888;
	    cursor: pointer;
	    transition: all .3s ease-in-out;
	    float: right;
	    line-height: 20px
	}
	.dropdown:hover {
	    box-shadow: 0 0 4px rgb(204, 204, 204)
	}
	.dropdown:active {
	    background-color: #f8f8f8
	}
	.dropdown.active:hover,
	.dropdown.active {
	    box-shadow: 0 0 4px rgb(204, 204, 204);
	    border-radius: 5px 5px 0 0;
	    background-color: #f8f8f8
	}
	.dropdown.active .select > i {
	    transform: rotate(-90deg)
	}
	.dropdown .dropdown-menu {
	    position: absolute;
	    background-color: #fff;
	    width: 100%;
	    left: 0;
	    margin-top: 1px;
	    box-shadow: 0 1px 2px rgb(204, 204, 204);
	    border-radius: 0 1px 5px 5px;
	    overflow: hidden;
	    display: none;
	    max-height: 144px;
	    overflow-y: auto;
	    z-index: 9
	}
	.dropdown .dropdown-menu li {
	    padding: 10px;
	    transition: all .2s ease-in-out;
	    cursor: pointer
	} 
	.dropdown .dropdown-menu {
	    padding: 0;
	    list-style: none
	}
	.dropdown .dropdown-menu li:hover {
	    background-color: #f2f2f2
	}
	.dropdown .dropdown-menu li:active {
	    background-color: #e2e2e2
	}	
}
*/
/***
 * dropSelect jQuery Plugin
 * (c) Harmony Institute
 * http://hinstitute.github.io/dropSelect/
 * MIT License - Please keep this header.
***/
.dropSelect {
  border-radius: 5px 5px 0 0;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  position: relative;
  display: inline-block;
  border: 2px solid #0da1ac;
  background-color: #fff;
  color: #0da1ac;
  cursor: pointer;
  font-size: 1.6em;
  vertical-align: middle;
  z-index: 10;
  width: 100% !important; }
  @media print, screen and (min-width: 40em) {
    .dropSelect {
      border-radius: 5px 0 0 5px;
      width: 230px !important; } }
  @media print, screen and (min-width: 64.0625em) {
    .dropSelect {
      width: 300px !important; } }

.dropSelect:hover {
  background-color: #fff;
  color: #0da1ac; }

.dropSelect div.selected {
  height: 100%;
  height: 1.95em;
  line-height: 1;
  padding: 0.5em 1em 0.3em; }

.dropSelect div.icon-arrow-down {
  display: block;
  font-size: 0.7rem;
  position: absolute;
  background: transparent none repeat scroll 0 0;
  right: 1.3rem;
  top: 1.3rem; }

.dropSelect div.icon-arrow-down::after {
  content: "▼"; }

.dropSelect div.items {
  display: none;
  overflow-y: auto;
  /* show 4 items. to show 3, change the multiplier to 3 */
  background: inherit;
  width: inherit;
  position: absolute;
  border: inherit;
  margin-left: -1px; }

.dropSelect:hover div.items {
  display: block;
  border-top: 2px solid #0da1ac; }

.dropSelect div.items a {
  color: #0da1ac;
  background-color: #fff;
  display: block;
  padding: 0.3em 1.6rem;
  white-space: nowrap;
  font-size: 0.8em; }

.dropSelect div.items a.active,
.dropSelect div.items a:hover {
  color: #0da1ac;
  background-color: #fff;
  cursor: default; }

.dropSelect div.items a:not(.active):hover {
  color: #0da1ac;
  background-color: #fff; }

body .gform_wrapper .application-form .gf_progressbar:after {
  margin-top: -44px; }

body .gform_wrapper .application-form .gsection {
  background-color: #0da1ac;
  border-bottom: 0 none;
  padding: 16px 16px 8px 16px !important;
  margin: 28px 0 28px 0;
  clear: both; }
  body .gform_wrapper .application-form .gsection .gsection_title {
    color: #fefefe; }
  body .gform_wrapper .application-form .gsection .gsection_description {
    color: #fefefe;
    font-style: italic; }

body .gform_wrapper .application-form .gfield + .gsection {
  margin-top: 28px !important; }

body .gform_wrapper .application-form .top_label .gfield_label {
  font-weight: bold;
  font-size: 1.2625rem; }

body .gform_wrapper .application-form .top_label div.ginput_container {
  margin-bottom: 0 !important; }

body .gform_wrapper .application-form .gfield_description {
  font-style: italic;
  margin-bottom: 0; }

body .gform_wrapper .application-form ul li.gfield.gf_form_spacer {
  margin-top: 30px !important;
  margin-bottom: 30px;
  border-top: 2px solid #eee; }

body .gform_wrapper .application-form .top_label li.gfield.gf_left_third,
body .gform_wrapper .application-form .top_label li.gfield.gf_middle_third,
body .gform_wrapper .application-form .top_label li.gfield.gf_right_third,
body .gform_wrapper .application-form .top_label li.gfield.gf_left_half,
body .gform_wrapper .application-form .top_label li.gfield.gf_right_half {
  margin-bottom: 16px; }

body .gform_wrapper .application-form .gfield_checkbox li label,
body .gform_wrapper .application-form .gfield_radio li label {
  white-space: normal !important;
  line-height: 1.2; }

body .gform_wrapper .application-form .gf_list_inline .gfield_checkbox li label,
body .gform_wrapper .application-form .gf_list_inline .gfield_radio li label {
  white-space: nowrap !important; }

body .gform_wrapper .application-form .gf_field_indent {
  padding-left: 60px; }

body .gform_wrapper .application-form .gf_field_divider_above {
  border-top: 1px solid #e0e1dc;
  margin-top: 16px;
  padding-top: 16px; }

body .gform_wrapper .application-form .form-table-heading h4 {
  font-size: 30px;
  color: #0da1ac;
  margin-bottom: 0; }

body .gform_wrapper .application-form .form-table {
  border: 1px solid #123246;
  margin-right: -2px; }

body .gform_wrapper .application-form .gf_table_header {
  margin-bottom: 0 !important;
  padding: 10px 16px 8px 16px;
  background-color: #123246;
  color: #fefefe; }

body .gform_wrapper .application-form .gf_table_label {
  margin-bottom: 0 !important;
  padding: 16px 16px 12px 16px;
  border-top: 1px solid #e0e1dc;
  font-size: 18px;
  line-height: 1.2 !important; }
  body .gform_wrapper .application-form .gf_table_label i {
    font-size: 16px; }

body .gform_wrapper .application-form .gf_table_input {
  margin-bottom: 0 !important;
  padding: 10px 16px 12px 16px;
  border-top: 1px solid #e0e1dc; }
  body .gform_wrapper .application-form .gf_table_input div:not(.ginput_container_date) input:not([type=radio]):not([type=checkbox]):not(.ginput_quantity) {
    border-color: #ddd; }

body .gform_wrapper .application-form .gf_table_column_total {
  margin-bottom: 0 !important;
  padding: 10px 16px 12px 16px;
  border-top: 1px solid #e0e1dc; }
  body .gform_wrapper .application-form .gf_table_column_total input[readonly] {
    background-color: transparent;
    border-width: 0px;
    font-weight: bold; }

body .gform_wrapper .application-form .gf_table_label_total {
  margin-bottom: 0 !important;
  padding: 16px 16px 12px 16px;
  border-top: 1px solid #123246;
  font-weight: bold; }

body .gform_wrapper .application-form .gf_table_input_total {
  margin-bottom: 0 !important;
  padding: 10px 16px 12px 16px;
  border-top: 1px solid #123246; }
  body .gform_wrapper .application-form .gf_table_input_total div:not(.ginput_container_date) input:not([type=radio]):not([type=checkbox]):not(.ginput_quantity) {
    border-color: #ddd; }
  body .gform_wrapper .application-form .gf_table_input_total input[readonly] {
    background-color: transparent;
    border-width: 0px;
    font-weight: bold; }

body .gform_wrapper .application-form .gf_table_row_total {
  margin-bottom: 0 !important;
  padding: 10px 16px 12px 16px;
  border-top: 1px solid #123246; }

body .gform_wrapper .application-form input[readonly] {
  background-color: transparent;
  border-width: 0px;
  font-weight: bold; }

.accordion-title {
  font-family: "Perpetua", "Georgia", serif;
  color: #fefefe;
  background-color: #0da1ac;
  border: 1px solid #0da1ac; }
  .accordion-title:hover, .accordion-title:focus {
    color: #fefefe; }

.accordion-content {
  border: 1px solid #6d6e70;
  border-top: 0 none; }
  .accordion-content img {
    max-width: 600px;
    width: 100%; }

.page-template-news-archive .accordion-item {
  margin-left: 0;
  margin-top: 20px; }
  @media screen and (min-width: 40em) {
    .page-template-news-archive .accordion-item {
      margin-top: 30px; } }
  @media screen and (min-width: 64.0625em) {
    .page-template-news-archive .accordion-item {
      margin-top: 40px; } }

.page-template-news-archive .accordion-content ul {
  list-style: none; }
  .page-template-news-archive .accordion-content ul li {
    margin-bottom: 10px; }
    @media screen and (min-width: 40em) {
      .page-template-news-archive .accordion-content ul li {
        margin-bottom: 15px; } }
    @media screen and (min-width: 64.0625em) {
      .page-template-news-archive .accordion-content ul li {
        margin-bottom: 20px; } }

.page-template-news-archive .accordion-content .archive-posts {
  margin: 0;
  padding: 0; }
  .page-template-news-archive .accordion-content .archive-posts li {
    margin-left: 0; }

.page-template-news-archive .accordion-content .archive-post-date {
  background-color: #e0e1dc;
  color: #6d6e70;
  padding: 10px;
  line-height: 1;
  display: table-cell;
  vertical-align: middle; }

.page-template-news-archive .accordion-content .archive-post-title {
  display: table-cell;
  padding-left: 10px;
  line-height: 1.2;
  vertical-align: middle;
  color: #6d6e70; }
  .page-template-news-archive .accordion-content .archive-post-title a {
    color: #6d6e70; }

.page-template-news-archive .accordion-content .post-tags {
  text-transform: uppercase;
  margin-bottom: 0 !important;
  font-size: 1rem; }

.news-accordions .accordion-item {
  margin-left: 0;
  margin-top: 10px; }
  @media screen and (min-width: 40em) {
    .news-accordions .accordion-item {
      margin-top: 15px; } }
  @media screen and (min-width: 64.0625em) {
    .news-accordions .accordion-item {
      margin-top: 20px; } }

.hero-wrapper {
  background-color: #0da1ac; }

.hero {
  border-top: 6px solid #fff;
  border-left: 6px solid #fff;
  border-right: 6px solid #fff; }

.hero-inner {
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  border-right: 2px solid #fff;
  margin-top: 4px;
  margin-left: 4px;
  margin-right: 4px;
  padding-top: 5px;
  padding-left: 5px;
  padding-right: 5px; }

.hero-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 390px;
  position: relative; }
  .hero-image .image-caption {
    position: absolute;
    bottom: 10px;
    right: 40px;
    background-color: rgba(0, 0, 0, 0.3);
    color: #fefefe;
    padding: 0 5px; }
  @media screen and (min-width: 40em) {
    .hero-image {
      height: 600px; } }
  .hero-image .hero_overlay {
    width: 100%;
    padding: 15px;
    height: 290px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
    @media screen and (min-width: 40em) {
      .hero-image .hero_overlay {
        width: 450px;
        padding-bottom: 115px;
        margin-left: 40px;
        height: auto; } }
    @media screen and (min-width: 64.0625em) {
      .hero-image .hero_overlay {
        margin-left: 0; } }
    .hero-image .hero_overlay .hero_content h5 {
      margin-left: 1px;
      line-height: 45px;
      text-transform: capitalize; }
      @media screen and (min-width: 40em) {
        .hero-image .hero_overlay .hero_content h5 {
          margin-left: 4px;
          line-height: 75px; } }
    .hero-image .hero_overlay .hero_content .hero-heading {
      margin-top: -20px !important;
      margin-bottom: 0;
      width: auto;
      line-height: 43px;
      font-family: "Perpetua", "Georgia", serif; }
      @media screen and (min-width: 40em) {
        .hero-image .hero_overlay .hero_content .hero-heading {
          margin-top: -30px !important;
          font-size: 77px;
          line-height: 68px; } }
      @media screen and (min-width: 64.0625em) {
        .hero-image .hero_overlay .hero_content .hero-heading {
          font-size: 77px; } }
      @media screen and (max-width: 39.9375em) {
        .hero-image .hero_overlay .hero_content .hero-heading {
          font-size: 55px;
          line-height: 48px !important; } }
      .hero-image .hero_overlay .hero_content .hero-heading span.hero-text {
        width: auto;
        margin-bottom: 10px; }
        .hero-image .hero_overlay .hero_content .hero-heading span.hero-text:last-child {
          border: none; }
      .hero-image .hero_overlay .hero_content .hero-heading .hero-underline {
        height: 2px;
        margin-bottom: 10px; }
      .hero-image .hero_overlay .hero_content .hero-heading .hero-dot {
        margin-left: -12px !important; }

.news-image {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 5px 5px;
  display: inline-block;
  cursor: pointer;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 0.7; }

.hamburger-box {
  width: 26px;
  height: 15px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1.5px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 26px;
    height: 3px;
    background-color: #fefefe;
    border-radius: 2px;
    position: absolute;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -8px; }
  .hamburger-inner::after {
    bottom: -8px; }

/*
   * Arrow Right
   */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(5.2px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(5.2px, 0, 0) rotate(45deg) scale(0.7, 1); }

.hamburger--arrow-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(5.2px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(5.2px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 1.5px; }
  .hamburger--slider .hamburger-inner::before {
    top: 8px;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 16px; }

.hamburger--slider.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 8px, 0) rotate(45deg);
          transform: translate3d(0, 8px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    -webkit-transform: rotate(-45deg) translate3d(-3.71429px, -5px, 0);
            transform: rotate(-45deg) translate3d(-3.71429px, -5px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -16px, 0) rotate(-90deg);
            transform: translate3d(0, -16px, 0) rotate(-90deg); }

/*
@import "types/3dx";
@import "types/3dx-r";
@import "types/3dy";
@import "types/3dy-r";
@import "types/arrow";
@import "types/arrow-r";
@import "types/arrowalt";
@import "types/arrowalt-r";
@import "types/boring";
@import "types/collapse";
@import "types/collapse-r";
@import "types/elastic";
@import "types/elastic-r";
@import "types/emphatic";
@import "types/emphatic-r";
@import "types/slider";
@import "types/slider-r";
@import "types/spring";
@import "types/spring-r";
@import "types/stand";
@import "types/stand-r";
@import "types/spin";
@import "types/spin-r";
@import "types/squeeze";
@import "types/vortex";
@import "types/vortex-r";
*/
.flexslider ul {
  margin: 0; }
  @media screen and (max-width: 39.9375em) {
    .flexslider ul.slides {
      margin-bottom: 10px; } }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .flexslider ul.slides {
      margin-bottom: 10px; } }
  @media print, screen and (min-width: 64.0625em) {
    .flexslider ul.slides {
      margin-bottom: 10px; } }
  @media screen and (max-width: 39.9375em) {
    .flexslider ul li img {
      max-height: 176px; } }
  @media screen and (min-width: 40em) and (max-width: 64em) {
    .flexslider ul li img {
      max-height: 365px; } }
  @media print, screen and (min-width: 64.0625em) {
    .flexslider ul li img {
      max-height: 600px; } }

@media screen and (max-width: 39.9375em) {
  .home-gallery .flexslider ul li img {
    max-height: 190px; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  .home-gallery .flexslider ul li img {
    max-height: 405px; } }

@media print, screen and (min-width: 64.0625em) {
  .home-gallery .flexslider ul li img {
    max-height: 670px; } }

@media screen and (max-width: 39.9375em) {
  #suite-slider li img {
    max-height: 236px; } }

@media screen and (min-width: 40em) and (max-width: 64em) {
  #suite-slider li img {
    max-height: 315px; } }

@media print, screen and (min-width: 64.0625em) {
  #suite-slider li img {
    max-height: 510px; } }

.carousel.flexslider ul.slides {
  margin: 0; }
  .carousel.flexslider ul.slides li div {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0.5;
    transition: opacity .25s ease-in-out;
    -moz-transition: opacity .25s ease-in-out;
    -webkit-transition: opacity .25s ease-in-out; }
    @media screen and (max-width: 39.9375em) {
      .carousel.flexslider ul.slides li div {
        height: 70px; } }
    @media screen and (min-width: 40em) and (max-width: 64em) {
      .carousel.flexslider ul.slides li div {
        height: 100px; } }
    @media print, screen and (min-width: 64.0625em) {
      .carousel.flexslider ul.slides li div {
        height: 140px; } }
    .carousel.flexslider ul.slides li div:hover {
      opacity: 1; }

.thumbnail-img {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 340px;
  margin-bottom: 30px;
  position: relative; }
  .thumbnail-img .image-caption {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background-color: rgba(0, 0, 0, 0.5);
    color: #fefefe;
    padding: 5px;
    font-size: 0.875rem;
    line-height: 1.1; }

.gallery-img:last-child {
  float: left !important; }

.mfp-counter {
  font-size: 20px !important; }

@media print, screen and (min-width: 40em) {
  .single-event .hero {
    height: 18.75rem; } }

@media print, screen and (min-width: 64.0625em) {
  .single-event .hero {
    height: 25rem; } }

.event-container {
  max-width: 900px;
  margin: 0 auto; }
  .event-container h1,
  .event-container .event-time,
  .event-container p {
    margin-bottom: 30px; }
  .event-container h6 {
    text-transform: none;
    font-size: 1rem; }

.event-info {
  margin-top: 30px; }

.details-container {
  display: inline-block;
  padding: 10px 20px;
  margin-top: 30px;
  border-radius: 4px; }
  .details-container h5 {
    margin-bottom: 0 !important; }

.rsvp-form {
  background-color: #e6e6e6; }
  .rsvp-form h2 {
    margin-bottom: 30px; }

.featured-image {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }

.event-date {
  padding: 10px 40px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; }
  .event-date h5 {
    color: #fefefe !important;
    margin: 0 !important; }

.featured-event-info {
  position: relative;
  padding: 40px;
  background: #fefefe; }
  .featured-event-info h5 {
    margin-top: 40px;
    text-transform: uppercase; }
  .featured-event-info p a {
    text-decoration: underline;
    font-style: italic; }

.events-background {
  height: 200px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }

.view-link {
  text-decoration: underline;
  margin-top: 30px;
  font-style: italic; }

.moreBtn {
  display: inline-block;
  color: #fefefe;
  text-transform: uppercase;
  padding: 5px 10px;
  font-family: "Perpetua", "Georgia", serif;
  border-radius: 4px;
  margin-top: 30px; }
  .moreBtn a {
    color: #fefefe; }

#single-post {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  margin-top: 3rem; }
  #single-post::before, #single-post::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  #single-post::after {
    clear: both; }
  #single-post .main-content {
    width: 100%;
    float: left;
    padding-right: 0.46875rem;
    padding-left: 0.46875rem; }
    @media print, screen and (min-width: 40em) {
      #single-post .main-content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64.0625em) {
      #single-post .main-content {
        padding-right: 1.5625rem;
        padding-left: 1.5625rem; } }
    #single-post .main-content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      #single-post .main-content {
        width: 66.66667%;
        float: left;
        padding-right: 0.46875rem;
        padding-left: 0.46875rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    #single-post .main-content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 64.0625em) {
    #single-post .main-content {
      padding-right: 1.5625rem;
      padding-left: 1.5625rem; } }
    @media print, screen and (min-width: 40em) {
        #single-post .main-content:last-child:not(:first-child) {
          float: right; } }

@media screen and (max-width: 39.9375em) {
  .news-reports-container h3 {
    font-size: 28px; } }

.news-home {
  margin: 0.9375rem 0; }
  .news-home__image {
    display: block;
    height: 12.5rem;
    background-repeat: no-repeat !important;
    background-size: cover;
    background-position: center; }
  .news-home h5 {
    margin: 0;
    text-transform: uppercase;
    padding: 1.25rem; }
  .news-home__blurb {
    padding: 1.25rem; }
    .news-home__blurb p {
      margin-bottom: 0; }
    .news-home__blurb h5 {
      padding: 0; }

.events-home {
  margin: 0.9375rem 0; }
  .events-home__image {
    display: block;
    height: 12.5rem;
    background-repeat: no-repeat !important;
    background-size: cover;
    background-position: center; }
  .events-home h5 {
    margin: 0;
    text-transform: uppercase;
    padding: 1.25rem; }
  .events-home__blurb {
    padding: 1.25rem; }
    .events-home__blurb p {
      margin-bottom: 0; }
    .events-home__blurb h5 {
      padding: 0; }

.news-location-filter select {
  margin-bottom: 0;
  -webkit-box-shadow: none;
          box-shadow: none; }

.entry-content h4 {
  margin-top: 1.875rem; }

.entry-content h5 {
  margin-top: 1.875rem; }
  .entry-content h5 a {
    text-decoration: underline;
    -webkit-transition: all 1s ease;
    transition: all 1s ease; }
    .entry-content h5 a:hover {
      color: #0a0a0a; }

.entry-content .pdf-download {
  text-decoration: underline;
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }

.single-post .post-tags, .single-event .post-tags {
  margin-bottom: 10px; }
  .single-post .post-tags .tag, .single-event .post-tags .tag {
    margin-right: 10px;
    text-transform: uppercase; }

.single-post .cta-footer, .single-event .cta-footer {
  background-color: #767676;
  padding: 2.5rem;
  color: #fefefe; }
  .single-post .cta-footer .border-line, .single-event .cta-footer .border-line {
    background-color: #fefefe; }
  .single-post .cta-footer h4, .single-event .cta-footer h4 {
    font-size: 2.25rem; }
  .single-post .cta-footer .cta-text p, .single-event .cta-footer .cta-text p {
    font-size: 1.875rem;
    line-height: 1.2;
    margin-bottom: 0; }
  .single-post .cta-footer .button, .single-event .cta-footer .button {
    color: #fefefe;
    border-color: #fefefe;
    font-size: 1.875rem;
    padding: 1.375rem; }
    .single-post .cta-footer .button:hover, .single-event .cta-footer .button:hover {
      background-color: #fefefe;
      color: #767676; }
  .single-post .cta-footer div.valign-center, .single-event .cta-footer div.valign-center {
    display: table; }
    .single-post .cta-footer div.valign-center span:not(.no-break), .single-event .cta-footer div.valign-center span:not(.no-break) {
      display: table-cell;
      vertical-align: middle; }

.single-news-image {
  margin-bottom: 1.875rem; }

.featured-caption {
  display: inline-block;
  padding: 5px 10px;
  position: absolute;
  width: 100%;
  left: 0; }

@media screen and (max-width: 39.9375em) {
  .promo-card .promo-link {
    min-height: 9.375rem;
    padding: 0.9375rem; } }

@media print, screen and (min-width: 40em) {
  .promo-card .promo-link {
    min-height: 18.75rem;
    padding: 1.875rem; }
    .promo-card .promo-link h1, .promo-card .promo-link h2 {
      font-size: 2.8125rem; }
    .promo-card .promo-link h3 {
      font-size: 2.25rem; } }

@media print, screen and (min-width: 64.0625em) {
  .promo-card .promo-link {
    min-height: 25rem;
    padding: 3.125rem; } }

@media screen and (max-width: 39.9375em) {
  .luxury-inclusions-ad .promo-link,
  .section-interstitial .promo-link {
    padding: 0.9375rem; } }

@media print, screen and (min-width: 40em) {
  .luxury-inclusions-ad .promo-link,
  .section-interstitial .promo-link {
    padding: 1.875rem; } }

@media print, screen and (min-width: 64.0625em) {
  .luxury-inclusions-ad .promo-link,
  .section-interstitial .promo-link {
    padding: 3.125rem; } }

@media screen and (max-width: 39.9375em) {
  .promo-card + .promo-card {
    margin-top: 0.9375rem; } }

@media print, screen and (min-width: 40em) {
  .medium-grid-1x1 {
    display: grid; } }

@media print, screen and (min-width: 40em) {
  .medium-grid-2x1 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr; } }

.promo-info {
  padding: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.home-designs-card .border-inner {
  padding: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJfc2V0dGluZ3MtcGxjLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJhcHAuc2NzcyIsImdsb2JhbC9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiZ2xvYmFsL190eXBvZ3JhcGh5LXBsYy5zY3NzIiwiZ2xvYmFsL19iYXNlLnNjc3MiLCJnbG9iYWwvX3NlY3Rpb25zLnNjc3MiLCJnbG9iYWwvX21peGlucy5zY3NzIiwiZ2xvYmFsL19pbWFnZXMuc2NzcyIsImdsb2JhbC9fd3AtYWRtaW4uc2NzcyIsImdsb2JhbC9fd3Atb3ZlcnJpZGVzLnNjc3MiLCJtb2R1bGVzL19uYXZpZ2F0aW9uLnNjc3MiLCJtb2R1bGVzL19jb250ZW50LnNjc3MiLCJtb2R1bGVzL19mb290ZXIuc2NzcyIsIm1vZHVsZXMvX2VkaXRvci1zdHlsZS5zY3NzIiwibW9kdWxlcy9fc2xpZGVyLnNjc3MiLCJtb2R1bGVzL19pbWFnZS1ncmlkcy5zY3NzIiwibW9kdWxlcy9fb2ZmLWNhbnZhcy5zY3NzIiwibW9kdWxlcy9fY2FyZHMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJjb21wb25lbnRzL19saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9fYmFja2dyb3VuZHMuc2NzcyIsImNvbXBvbmVudHMvX2hhbWJ1cmdlci5zY3NzIiwidGVtcGxhdGVzL19nYWxsZXJ5LnNjc3MiLCJ0ZW1wbGF0ZXMvX2V2ZW50cy5zY3NzIiwidGVtcGxhdGVzL19zaW5nbGUtcG9zdC5zY3NzIiwidGVtcGxhdGVzL19uZXdzLWV2ZW50cy1ob21lLnNjc3MiLCJ0ZW1wbGF0ZXMvX3NpbmdsZS1uZXdzLWV2ZW50cy5zY3NzIiwidGVtcGxhdGVzL19wcm9tb3Muc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakIsaUVBQWlFO0FBQ2pFLGdEQUFZO0FBR1o7RUFBWSx3QkFBdUI7RUFBRSxrQkFBaUI7RUFBRSxtQkFBa0I7RUFBRSxvQ0FBbUM7RUFBQyw2UUFBd1EsRUFBQTs7QUFHeFg7RUFBWSx3QkFBdUI7RUFBRSxvQkFBbUI7RUFBRSxtQkFBa0I7RUFBRSxvQ0FBbUM7RUFBQyw2UUFBd1EsRUFBQTs7QUFtSnpYO0VBRUUsMEJBaEhZLEVBaUhaOztBQUhGO0VBTUUsMEJBcEhZLEVBcUhaOztBQVBGO0VBU0UsbUNBQWdELEVBQ2hEOztBQUdEO0VBRUMsZUE3SFksRUFrSVo7RUFQRDtJQUtLLDBCQWhJUSxFQWlJWDs7QUFORjtFQVNDLGVBbklZLEVBdUlaO0VBYkQ7SUFXRSwwQkFySVcsRUFzSVg7O0FBWkY7RUFnQkMsZUExSVksRUEySVo7O0FBakJEO0VBb0JDLGVBOUlZLEVBK0laOztBQXJCRDtFQXdCQywwQkFuSlk7RUFvSlosZUFuSlksRUF1Slo7RUE3QkQ7SUEyQkUsd0JBQXFDLEVBQ3JDOztBQUlGO0VBQ0EsMEJBNUphLEVBZ0tiO0VBTEE7SUFHQywwQkE5SlksRUErSlo7O0FBRUQ7RUFDQSxxQ0FBbUMsRUFJbkM7RUFMQTtJQUdDLG1DQUErQyxFQUMvQzs7QUFFRDtFQUNBLDBCQUF3QixFQUl4QjtFQUxBO0lBR0Msd0JBQW9DLEVBQ3BDOztBQUVEO0VBQ0EsMEJBQXdCO0VBQ3hCLHdDQUFzQyxFQUt0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aEJnQyxFTGdHM0I7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosc0JEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosV0NlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixVQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLFdBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSix1QkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLGlCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosV0NlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixVQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLFdBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSix1QkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLGlCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosV0NlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixVQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLFdBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSix1QkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLGlCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosWUNlcUQsRUwyRWhEOztBQWdCRDtFTTlFSix1QkRicUQsRUw2RmhEOztBQUtEO0VPekdGLFlUb0d1RDtFU25HdkQsWUFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVRvRXFELEVTbkV0RDs7QVB3RUM7RU96R0YsWVRvR3VEO0VTbkd2RCxXQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVG9FcUQsRVNuRXREOztBUHdFQztFT3pHRixZVG9HdUQ7RVNuR3ZELGlCQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVG9FcUQsRVNuRXREOztBUHdFQztFT3pHRixZVG9HdUQ7RVNuR3ZELFdBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlUb0VxRCxFU25FdEQ7O0FQd0VDO0VPekdGLFlUb0d1RDtFU25HdkQsV0FBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVRvRXFELEVTbkV0RDs7QVB3RUM7RU96R0YsWVRvR3VEO0VTbkd2RCxpQkFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVRvRXFELEVTbkV0RDs7QVB3RUM7RU96R0YsWVRvR3VEO0VTbkd2RCxpQkFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVRvRXFELEVTbkV0RDs7QVB3RUM7RU96R0YsWVRvR3VEO0VTbkd2RCxhQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVG9FcUQsRVNuRXREOztBUDhFRDtFRy9HQSxpQkFGcUM7RUFHckMsZ0JBSHFDLEVIa0hXOztBQURoRDtFQUlJLGdCQUFlO0VBQ2YsZUFBYyxFQUNmOztBQUdIO0VBQ0UsZ0JBQWU7RUFDZixlQUFjLEVBQ2Y7O0FBRUQ7RUc3SEEsMEJBRnFDO0VBR3JDLHlCQUhxQyxFSGdJb0I7O0FBSXpEO0VNaklBLG1CQUFrQjtFQUNsQixrQkFBaUIsRU5rSWhCO0VNdklEO0lBQ0UsWUFBVztJQUNYLFlBQVcsRUFDWjs7QU51SUQ7OztFTTVIRixpQkFBZ0I7RUFDaEIsWVJ3RnlEO0VRdkZ6RCxnQkFBZTtFQUNmLGVBQWMsRU42SFg7O0FURUM7RVM3REE7SUl4RkosZ0JDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixlQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGdCRGhCZ0MsRUxnRzNCO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosc0JEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixZQ2VxRCxFTDJFaEQ7RUFnQkQ7SU05RUosdUJEYnFELEVMNkZoRDtFQUtEO0lPekdGLFlUb0d1RDtJU25HdkQsWUFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRvRXFELEVTbkV0RDtFUHdFQztJT3pHRixZVG9HdUQ7SVNuR3ZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUb0VxRCxFU25FdEQ7RVB3RUM7SU96R0YsWVRvR3VEO0lTbkd2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRvRXFELEVTbkV0RDtFUHdFQztJT3pHRixZVG9HdUQ7SVNuR3ZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUb0VxRCxFU25FdEQ7RVB3RUM7SU96R0YsWVRvR3VEO0lTbkd2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVG9FcUQsRVNuRXREO0VQd0VDO0lPekdGLFlUb0d1RDtJU25HdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUb0VxRCxFU25FdEQ7RVB3RUM7SU96R0YsWVRvR3VEO0lTbkd2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRvRXFELEVTbkV0RDtFUHdFQztJT3pHRixZVG9HdUQ7SVNuR3ZELGFBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUb0VxRCxFU25FdEQ7RVA4RUQ7SUcvR0EsaUJBRnFDO0lBR3JDLGdCQUhxQyxFSGtIVztFQURoRDtJQUlJLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBR0g7SUFDRSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUVEO0lHN0hBLHlCQUZxQztJQUdyQyx3QkFIcUMsRUhnSW9CO0VBSXpEO0lNaklBLG1CQUFrQjtJQUNsQixrQkFBaUIsRU5rSWhCO0lNdklEO01BQ0UsWUFBVztNQUNYLFlBQVcsRUFDWjtFTnVJRDs7O0lNNUhGLGlCQUFnQjtJQUNoQixZUndGeUQ7SVF2RnpELGdCQUFlO0lBQ2YsZUFBYyxFTjZIWCxFQUFBOztBVEVDO0VTN0RBO0lJeEZKLGdCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixnQkRoQmdDLEVMZ0czQjtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHNCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosWUNlcUQsRUwyRWhEO0VBZ0JEO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFLRDtJT3pHRixZVG9HdUQ7SVNuR3ZELFlBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUb0VxRCxFU25FdEQ7RVB3RUM7SU96R0YsWVRvR3VEO0lTbkd2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVG9FcUQsRVNuRXREO0VQd0VDO0lPekdGLFlUb0d1RDtJU25HdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUb0VxRCxFU25FdEQ7RVB3RUM7SU96R0YsWVRvR3VEO0lTbkd2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVG9FcUQsRVNuRXREO0VQd0VDO0lPekdGLFlUb0d1RDtJU25HdkQsV0FBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRvRXFELEVTbkV0RDtFUHdFQztJT3pHRixZVG9HdUQ7SVNuR3ZELGlCQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVG9FcUQsRVNuRXREO0VQd0VDO0lPekdGLFlUb0d1RDtJU25HdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUb0VxRCxFU25FdEQ7RVB3RUM7SU96R0YsWVRvR3VEO0lTbkd2RCxhQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVG9FcUQsRVNuRXREO0VQOEVEO0lHL0dBLGlCQUZxQztJQUdyQyxnQkFIcUMsRUhrSFc7RUFEaEQ7SUFJSSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUdIO0lBQ0UsZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFFRDtJRzdIQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVIZ0lvQjtFQUl6RDtJTWpJQSxtQkFBa0I7SUFDbEIsa0JBQWlCLEVOa0loQjtJTXZJRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RU51SUQ7OztJTTVIRixpQkFBZ0I7SUFDaEIsWVJ3RnlEO0lRdkZ6RCxnQkFBZTtJQUNmLGVBQWMsRU42SFgsRUFBQTs7QVRPQztFU2xFQTtJSXhGSixnQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosZ0JEaEJnQyxFTGdHM0I7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixzQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLFdDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsV0FIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGlCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLFdDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsV0FIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGlCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLFdDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsV0FIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGlCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLFlDZXFELEVMMkVoRDtFQWdCRDtJTTlFSix1QkRicUQsRUw2RmhEO0VBS0Q7SU96R0YsWVRvR3VEO0lTbkd2RCxZQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVG9FcUQsRVNuRXREO0VQd0VDO0lPekdGLFlUb0d1RDtJU25HdkQsV0FBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRvRXFELEVTbkV0RDtFUHdFQztJT3pHRixZVG9HdUQ7SVNuR3ZELGlCQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVG9FcUQsRVNuRXREO0VQd0VDO0lPekdGLFlUb0d1RDtJU25HdkQsV0FBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRvRXFELEVTbkV0RDtFUHdFQztJT3pHRixZVG9HdUQ7SVNuR3ZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUb0VxRCxFU25FdEQ7RVB3RUM7SU96R0YsWVRvR3VEO0lTbkd2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRvRXFELEVTbkV0RDtFUHdFQztJT3pHRixZVG9HdUQ7SVNuR3ZELGlCQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVG9FcUQsRVNuRXREO0VQd0VDO0lPekdGLFlUb0d1RDtJU25HdkQsYUFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRvRXFELEVTbkV0RDtFUDhFRDtJRy9HQSxpQkFGcUM7SUFHckMsZ0JBSHFDLEVIa0hXO0VBRGhEO0lBSUksZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFHSDtJQUNFLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBRUQ7SUc3SEEseUJBRnFDO0lBR3JDLHdCQUhxQyxFSGdJb0I7RUFJekQ7SU1qSUEsbUJBQWtCO0lBQ2xCLGtCQUFpQixFTmtJaEI7SU12SUQ7TUFDRSxZQUFXO01BQ1gsWUFBVyxFQUNaO0VOdUlEOzs7SU01SEYsaUJBQWdCO0lBQ2hCLFlSd0Z5RDtJUXZGekQsZ0JBQWU7SUFDZixlQUFjLEVONkhYLEVBQUE7O0FUT0M7RVNsRUE7SUl4RkosZ0JDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixlQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGdCRGhCZ0MsRUxnRzNCO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosc0JEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixZQ2VxRCxFTDJFaEQ7RUFnQkQ7SU05RUosdUJEYnFELEVMNkZoRDtFQUtEO0lPekdGLFlUb0d1RDtJU25HdkQsWUFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRvRXFELEVTbkV0RDtFUHdFQztJT3pHRixZVG9HdUQ7SVNuR3ZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUb0VxRCxFU25FdEQ7RVB3RUM7SU96R0YsWVRvR3VEO0lTbkd2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRvRXFELEVTbkV0RDtFUHdFQztJT3pHRixZVG9HdUQ7SVNuR3ZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUb0VxRCxFU25FdEQ7RVB3RUM7SU96R0YsWVRvR3VEO0lTbkd2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVG9FcUQsRVNuRXREO0VQd0VDO0lPekdGLFlUb0d1RDtJU25HdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlUb0VxRCxFU25FdEQ7RVB3RUM7SU96R0YsWVRvR3VEO0lTbkd2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVRvRXFELEVTbkV0RDtFUHdFQztJT3pHRixZVG9HdUQ7SVNuR3ZELGFBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFB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QUtEO0VGOUpKLGlCRGJxRCxFRzZLaEQ7O0FBVkQ7RUFDRSxvQkhwSytDO0VHb0svQyw0QkhwSytDO01Hb0svQyx3QkhwSytDO1VHb0svQyxvQkhwSytDO0VHcUsvQyxxQkhySytDLEVHc0toRDs7QUFLRDtFRjlKSix1QkRicUQsRUc2S2hEOztBQVZEO0VBQ0Usb0JIcEsrQztFR29LL0Msc0JIcEsrQztNR29LL0Msa0JIcEsrQztVR29LL0MsY0hwSytDO0VHcUsvQyxlSHJLK0MsRUdzS2hEOztBQUtEO0VGOUpKLHVCRGJxRCxFRzZLaEQ7O0FBVkQ7RUFDRSxvQkhwSytDO0VHb0svQyw0QkhwSytDO01Hb0svQyx3QkhwSytDO1VHb0svQyxvQkhwSytDO0VHcUsvQyxxQkhySytDLEVHc0toRDs7QUFLRDtFRjlKSixpQkRicUQsRUc2S2hEOztBQVZEO0VBQ0Usb0JIcEsrQztFR29LL0MsNEJIcEsrQztNR29LL0Msd0JIcEsrQztVR29LL0Msb0JIcEsrQztFR3FLL0MscUJIcksrQyxFR3NLaEQ7O0FBS0Q7RUY5SkosdUJEYnFELEVHNktoRDs7QUFWRDtFQUNFLG9CSHBLK0M7RUdvSy9DLHNCSHBLK0M7TUdvSy9DLGtCSHBLK0M7VUdvSy9DLGNIcEsrQztFR3FLL0MsZUhySytDLEVHc0toRDs7QUFLRDtFRjlKSix1QkRicUQsRUc2S2hEOztBQVZEO0VBQ0Usb0JIcEsrQztFR29LL0MsNEJIcEsrQztNR29LL0Msd0JIcEsrQztVR29LL0Msb0JIcEsrQztFR3FLL0MscUJIcksrQyxFR3NLaEQ7O0FBS0Q7RUY5SkosaUJEYnFELEVHNktoRDs7QUFWRDtFQUNFLG9CSHBLK0M7RUdvSy9DLDRCSHBLK0M7TUdvSy9DLHdCSHBLK0M7VUdvSy9DLG9CSHBLK0M7RUdxSy9DLHFCSHJLK0MsRUdzS2hEOztBQUtEO0VGOUpKLHVCRGJxRCxFRzZLaEQ7O0FBVkQ7RUFDRSxvQkhwSytDO0VHb0svQyx1QkhwSytDO01Hb0svQyxtQkhwSytDO1VHb0svQyxlSHBLK0M7RUdxSy9DLGdCSHJLK0MsRUdzS2hEOztBQUtEO0VGOUpKLHVCRGJxRCxFRzZLaEQ7O0FBS0Q7RUExR0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBNEdWO0VBMUdIO0lBR0Esb0JBRnNCO0lBRXRCLHVCQUZzQjtRQUV0QixtQkFGc0I7WUFFdEIsZUFGc0I7SUFHdEIsZ0JBSHNCLEVBSXZCOztBQW1HRztFQTFHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0R1Y7RUExR0g7SUFHQSxvQkFGc0I7SUFFdEIsc0JBRnNCO1FBRXRCLGtCQUZzQjtZQUV0QixjQUZzQjtJQUd0QixlQUhzQixFQUl2Qjs7QUFtR0c7RUExR0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBNEdWO0VBMUdIO0lBR0Esb0JBRnNCO0lBRXRCLDRCQUZzQjtRQUV0Qix3QkFGc0I7WUFFdEIsb0JBRnNCO0lBR3RCLHFCQUhzQixFQUl2Qjs7QUFtR0c7RUExR0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBNEdWO0VBMUdIO0lBR0Esb0JBRnNCO0lBRXRCLHNCQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFQTFHSDtJQUdBLG9CQUZzQjtJQUV0QixzQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQW1HRztFQTFHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0R1Y7RUExR0g7SUFHQSxvQkFGc0I7SUFFdEIsNEJBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQW1HRztFQTFHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0R1Y7RUExR0g7SUFHQSxvQkFGc0I7SUFFdEIsNEJBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQW1HRztFQTFHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0R1Y7RUExR0g7SUFHQSxvQkFGc0I7SUFFdEIsd0JBRnNCO1FBRXRCLG9CQUZzQjtZQUV0QixnQkFGc0I7SUFHdEIsaUJBSHNCLEVBSXZCOztBQStIQztFTHJOQSxpQkFGcUM7RUFHckMsZ0JBSHFDLEVLd05POztBQUc1QztFTHpOQSwwQkFGcUM7RUFHckMseUJBSHFDLEVLNE5nQjs7QWpCN0VuRDtFaUI2QkE7SUFDRSxvQkhwSytDO0lHb0svQywyQkhwSytDO1FHb0svQyx1QkhwSytDO1lHb0svQyxtQkhwSytDO0lHcUsvQyxvQkhySytDLEVHc0toRDtFQUtEO0lGOUpKLGdCRGhCZ0MsRUdnTDNCO0VBVkQ7SUFDRSxvQkhwSytDO0lHb0svQyw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFQUtEO0lGOUpKLHNCRGJxRCxFRzZLaEQ7RUFWRDtJQUNFLG9CSHBLK0M7SUdvSy9DLHNCSHBLK0M7UUdvSy9DLGtCSHBLK0M7WUdvSy9DLGNIcEsrQztJR3FLL0MsZUhySytDLEVHc0toRDtFQUtEO0lGOUpKLHVCRGJxRCxFRzZLaEQ7RUFWRDtJQUNFLG9CSHBLK0M7SUdvSy9DLDRCSHBLK0M7UUdvSy9DLHdCSHBLK0M7WUdvSy9DLG9CSHBLK0M7SUdxSy9DLHFCSHJLK0MsRUdzS2hEO0VBS0Q7SUY5SkosaUJEYnFELEVHNktoRDtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0MsNEJIcEsrQztRR29LL0Msd0JIcEsrQztZR29LL0Msb0JIcEsrQztJR3FLL0MscUJIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSix1QkRicUQsRUc2S2hEO0VBVkQ7SUFDRSxvQkhwSytDO0lHb0svQyxzQkhwSytDO1FHb0svQyxrQkhwSytDO1lHb0svQyxjSHBLK0M7SUdxSy9DLGVIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSix1QkRicUQsRUc2S2hEO0VBVkQ7SUFDRSxvQkhwSytDO0lHb0svQyw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFQUtEO0lGOUpKLGlCRGJxRCxFRzZLaEQ7RUFWRDtJQUNFLG9CSHBLK0M7SUdvSy9DLDRCSHBLK0M7UUdvSy9DLHdCSHBLK0M7WUdvSy9DLG9CSHBLK0M7SUdxSy9DLHFCSHJLK0MsRUdzS2hEO0VBS0Q7SUY5SkosdUJEYnFELEVHNktoRDtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0Msc0JIcEsrQztRR29LL0Msa0JIcEsrQztZR29LL0MsY0hwSytDO0lHcUsvQyxlSHJLK0MsRUdzS2hEO0VBS0Q7SUY5SkosdUJEYnFELEVHNktoRDtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0MsNEJIcEsrQztRR29LL0Msd0JIcEsrQztZR29LL0Msb0JIcEsrQztJR3FLL0MscUJIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSixpQkRicUQsRUc2S2hEO0VBVkQ7SUFDRSxvQkhwSytDO0lHb0svQyw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFQUtEO0lGOUpKLHVCRGJxRCxFRzZLaEQ7RUFWRDtJQUNFLG9CSHBLK0M7SUdvSy9DLHVCSHBLK0M7UUdvSy9DLG1CSHBLK0M7WUdvSy9DLGVIcEsrQztJR3FLL0MsZ0JIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSix1QkRicUQsRUc2S2hEO0VBS0Q7SUExR0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBNEdWO0lBMUdIO01BR0Esb0JBRnNCO01BRXRCLHVCQUZzQjtVQUV0QixtQkFGc0I7Y0FFdEIsZUFGc0I7TUFHdEIsZ0JBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHSDtNQUdBLG9CQUZzQjtNQUV0QixzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHSDtNQUdBLG9CQUZzQjtNQUV0Qiw0QkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFtR0c7SUExR0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBNEdWO0lBMUdIO01BR0Esb0JBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFtR0c7SUExR0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBNEdWO0lBMUdIO01BR0Esb0JBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFtR0c7SUExR0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBNEdWO0lBMUdIO01BR0Esb0JBRnNCO01BRXRCLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQW1HRztJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0g7TUFHQSxvQkFGc0I7TUFFdEIsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHSDtNQUdBLG9CQUZzQjtNQUV0Qix3QkFGc0I7VUFFdEIsb0JBRnNCO2NBRXRCLGdCQUZzQjtNQUd0QixpQkFIc0IsRUFJdkIsRUFBQTs7QWpCdURHO0VpQm9ERTtJQUNFLG9CQTVKTTtJQTRKTixzQkE1Sk07UUE0Sk4sa0JBNUpNO1lBNEpOLGNBNUpNLEVBNkpQLEVBQUE7O0FBS0Q7RUFFSSxvQkFBMkI7RUFBM0IsdUJBQTJCO01BQTNCLG1CQUEyQjtVQUEzQixlQUEyQixFQUs1QjtFakJsRUw7SWlCMkRFO01BS00sb0JBdktFO01BdUtGLHNCQXZLRTtVQXVLRixrQkF2S0U7Y0F1S0YsY0F2S0UsRUF5S0wsRUFBQTs7QWpCbEVMO0VpQndFRjtJTHJOQSxpQkFGcUM7SUFHckMsZ0JBSHFDLEVLd05PO0VBRzVDO0lMek5BLHlCQUZxQztJQUdyQyx3QkFIcUMsRUs0TmdCLEVBQUE7O0FqQjdFbkQ7RWlCNkJBO0lBQ0Usb0JIcEsrQztJR29LL0MsMkJIcEsrQztRR29LL0MsdUJIcEsrQztZR29LL0MsbUJIcEsrQztJR3FLL0Msb0JIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSixnQkRoQmdDLEVHZ0wzQjtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0MsNEJIcEsrQztRR29LL0Msd0JIcEsrQztZR29LL0Msb0JIcEsrQztJR3FLL0MscUJIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSixzQkRicUQsRUc2S2hEO0VBVkQ7SUFDRSxvQkhwSytDO0lHb0svQyxzQkhwSytDO1FHb0svQyxrQkhwSytDO1lHb0svQyxjSHBLK0M7SUdxSy9DLGVIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSix1QkRicUQsRUc2S2hEO0VBVkQ7SUFDRSxvQkhwSytDO0lHb0svQyw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFQUtEO0lGOUpKLGlCRGJxRCxFRzZLaEQ7RUFWRDtJQUNFLG9CSHBLK0M7SUdvSy9DLDRCSHBLK0M7UUdvSy9DLHdCSHBLK0M7WUdvSy9DLG9CSHBLK0M7SUdxSy9DLHFCSHJLK0MsRUdzS2hEO0VBS0Q7SUY5SkosdUJEYnFELEVHNktoRDtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0Msc0JIcEsrQztRR29LL0Msa0JIcEsrQztZR29LL0MsY0hwSytDO0lHcUsvQyxlSHJLK0MsRUdzS2hEO0VBS0Q7SUY5SkosdUJEYnFELEVHNktoRDtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0MsNEJIcEsrQztRR29LL0Msd0JIcEsrQztZR29LL0Msb0JIcEsrQztJR3FLL0MscUJIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSixpQkRicUQsRUc2S2hEO0VBVkQ7SUFDRSxvQkhwSytDO0lHb0svQyw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lH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K0M7SUdvSy9DLDJCSHBLK0M7UUdvSy9DLHVCSHBLK0M7WUdvSy9DLG1CSHBLK0M7SUdxSy9DLG9CSHJLK0MsRUdzS2hEO0VBS0Q7SUY5SkosZ0JEaEJnQyxFR2dMM0I7RUFWRDtJQUNFLG9CSHBLK0M7SUdvSy9DLDRCSHBLK0M7UUdvSy9DLHdCSHBLK0M7WUdvSy9DLG9CSHBLK0M7SUdxSy9DLHFCSHJLK0MsRUdzS2hEO0VBS0Q7SUY5Skosc0JEYnFELEVHNktoRDtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0Msc0JIcEsrQztRR29LL0Msa0JIcEsrQztZR29LL0MsY0hwSytDO0lHcUsvQyxlSHJLK0MsRUdzS2hEO0VBS0Q7SUY5SkosdUJEYnFELEVHNktoRDtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0MsNEJIcEsrQztRR29LL0Msd0JIcEsrQztZR29LL0Msb0JIcEsrQztJR3FLL0MscUJIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSixpQkRicUQsRUc2S2hEO0VBVkQ7SUFDRSxvQkhwSytDO0lHb0svQyw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFQUtEO0lGOUpKLHVCRGJxRCxFRzZLaEQ7RUFWRDtJQUNFLG9CSHBLK0M7SUdvSy9DLHNCSHBLK0M7UUdvSy9DLGtCSHBLK0M7WUdvSy9DLGNIcEsrQztJR3FLL0MsZUhySytDLEVHc0toRDtFQUtEO0lGOUpKLHVCRGJxRCxFRzZLaEQ7RUFWRDtJQUNFLG9CSHBLK0M7SUdvSy9DLDRCSHBLK0M7UUdvSy9DLHdCSHBLK0M7WUdvSy9DLG9CSHBLK0M7SUdxSy9DLHFCSHJLK0MsRUdzS2hEO0VBS0Q7SUY5SkosaUJEYnFELEVHNktoRDtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0MsNEJIcEsrQztRR29LL0Msd0JIcEsrQztZR29LL0Msb0JIcEsrQztJR3FLL0MscUJIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSix1QkRicUQsRUc2S2hEO0VBVkQ7SUFDRSxvQkhwSytDO0lHb0svQyxzQkhwSytDO1FHb0sv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VkQ7SUFDRSxvQkhwSytDO0lHb0svQyw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFQUtEO0lGOUpKLHNCRGJxRCxFRzZLaEQ7RUFWRDtJQUNFLG9CSHBLK0M7SUdvSy9DLHNCSHBLK0M7UUdvSy9DLGtCSHBLK0M7WUdvSy9DLGNIcEsrQztJR3FLL0MsZUhySytDLEVHc0toRDtFQUtEO0lGOUpKLHVCRGJxRCxFRzZLaEQ7RUFWRDtJQUNFLG9CSHBLK0M7SUdvSy9DLDRCSHBLK0M7UUdvSy9DLHdCSHBLK0M7WUdvSy9DLG9CSHBLK0M7SUdxSy9DLHFCSHJLK0MsRUdzS2hEO0VBS0Q7SUY5SkosaUJEYnFELEVHNktoRDtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0MsNEJIcEsrQztRR29LL0Msd0JIcEsrQztZR29LL0Msb0JIcEsrQztJR3FLL0MscUJIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSix1QkRicUQsRUc2S2hEO0VBVkQ7SUFDRSxvQkhwSytDO0lHb0svQyxzQkhwSytDO1FHb0svQyxrQkhwSytDO1lHb0svQyxjSHBLK0M7SUdxSy9DLGVIcksrQyxFR3NLaEQ7RUFLRDtJRjlKSix1QkRicUQsRUc2S2hEO0VBVkQ7SUFDRSxvQkhwSytDO0lHb0svQyw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFQUtEO0lGOUpKLGlCRGJxRCxFRzZLaEQ7RUFWRDtJQUNFLG9CSHBLK0M7SUdvSy9DLDRCSHBLK0M7UUdvSy9DLHdCSHBLK0M7WUdvSy9DLG9CSHBLK0M7SUdxSy9DLHFCSHJLK0MsRUdzS2hEO0VBS0Q7SUY5SkosdUJEYnFELEVHNktoRDtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0Msc0JIcEsrQztRR29LL0Msa0JIcEsrQztZR29LL0MsY0hwSytDO0lHcUsvQyxlSHJLK0MsRUdzS2hEO0VBS0Q7SUY5SkosdUJEYnFELEVHNktoRDtFQVZEO0lBQ0Usb0JIcEsrQztJR29LL0MsNEJI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L0c7RUFGQztJR3pCRiw2QkFEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsbUNBRGdILEVINEIvRztFQUZDO0lHekJGLG1DQURnSCxFSDRCL0c7RUFGQztJR3pCRiw2QkFEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsbUNBRGdILEVINEIvRztFQUZDO0lHekJGLG1DQURnSCxFSDRCL0c7RUFGQztJR3pCRiw4QkFEZ0gsRUg0Qi9HO0VsQjhDQztJa0I1REY7TUdyQkEsWUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsWUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsZ0NBRGdILEVINEIvRztJQUZDO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRiwyQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsaUNBRGdILEVINEIvRztJQUZDO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRiwyQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsaUNBRGdILEVINEIvRztJQUZDO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRiwyQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsaUNBRGdILEVINEIvRztJQUZDO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRiw0QkFEZ0gsRUg0Qi9HO0lBZEQ7TUdyQkEsWUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsWUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsZ0NBRGdILEVINEIvRztJQUZDO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRiwyQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsaUNBRGdILEVINEIvRztJQUZDO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRiwyQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsaUNBRGdILEVINEIvRztJQUZDO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRiwyQkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsaUNBRGdILEVINEIvRztJQUZDO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRiw0QkFEZ0gsRUg0Qi9HLEVBQUE7RWxCOENDO0lrQjVERjtNR3JCQSxZQUFtQixFSHVCcEI7SUFFQztNR3JCQSxZQUFtQixFSHVCcEI7SUFNRztNR3pCRixpQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDZCQURnSCxFSDRCL0c7SUFkRDtNR3JCQSxZQUFtQixFSHVCcEI7SUFFQztNR3JCQSxZQUFtQixFSHVCcEI7SUFNRztNR3pCRixpQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDZCQURnSCxFSDRCL0c7SUFkRDtNR3JCQSxZQUFtQixFSHVCcEI7SUFFQztNR3JCQSxZQUFtQixFSHVCcEI7SUFNRztNR3pCRixpQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDZCQURnSCxFSDRCL0csRUFBQTtFbEJtREM7SWtCakVGO01HckJBLFlBQW1CLEVIdUJwQjtJQUVDO01HckJBLFlBQW1CLEVIdUJwQjtJQU1HO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRyxFQUFBO0VsQm1EQztJa0JqRUY7TUdyQkEsWUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsWUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsaUNBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRiw0QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRiw0QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRiw0QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HLEVBQUE7O0FBOENIO0VDbklNLDBCQUE2RDtFQUE3RCx5QkFBNkQsRUR3SWhFO0VsQkxDO0lrQkFKO01DbklNLHdCQUE2RDtNQUE3RCx1QkFBNkQsRUR3SWhFLEVBQUE7RWxCTEM7SWtCQUo7TUNuSU0seUJBQTZEO01BQTdELHdCQUE2RCxFRHdJaEUsRUFBQTs7QUFJRDtFQzVJSSwwQkFBNkQ7RUFBN0QseUJBQTZELEVEOEloRTtFbEJYQztJa0JTRjtNQzVJSSx3QkFBNkQ7TUFBN0QsdUJBQTZELEVEOEloRSxFQUFBO0VsQlhDO0lrQlNGO01DNUlJLHlCQUE2RDtNQUE3RCx3QkFBNkQsRUQ4SWhFLEVBQUE7O0FBWEg7RUNuSU0sMEJBQTZEO0VBQTdELHlCQUE2RCxFRG1KaEU7RWxCaEJDO0lrQkFKO01DbklNLHdCQUE2RDtNQUE3RCx1QkFBNkQsRURtSmhFLEVBQUE7RWxCaEJDO0lrQkFKO01DbklNLHlCQUE2RDtNQUE3RCx3QkFBNkQsRURtSmhFLEVBQUE7O0FJdEpDO0VENkRGLFlBRG9ELEVDMURyRDs7QUFGRztFRDZERixXQURvRCxFQzFEckQ7O0FBRkc7RUQ2REYsaUJBRG9ELEVDMURyRDs7QUFGRztFRDZERixXQURvRCxFQzFEckQ7O0FBRkc7RUQ2REYsV0FEb0QsRUMxRHJEOztBQUZHO0VENkRGLGlCQURvRCxFQzFEckQ7O0FBRkc7RUQ2REYsaUJBRG9ELEVDMURyRDs7QUFGRztFRDZERixhQURvRCxFQzFEckQ7O0F0Qm9JRztFc0J0SUE7SUQ2REYsWUFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsV0FEb0QsRUMxRHJEO0VBRkc7SUQ2REYsaUJBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLGlCQURvRCxFQzFEckQ7RUFGRztJRDZERixpQkFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsYUFEb0QsRUMxRHJELEVBQUE7O0F0Qm9JRztFc0J0SUE7SUQ2REYsWUFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsV0FEb0QsRUMxRHJEO0VBRkc7SUQ2REYsaUJBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLGlCQURvRCxFQzFEckQ7RUFGRztJRDZERixpQkFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsYUFEb0QsRUMxRHJELEVBQUE7O0F0QnlJRztFc0IzSUE7SUQ2REYsWUFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsV0FEb0QsRUMxRHJEO0VBRkc7SUQ2REYsaUJBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLGlCQURvRCxFQzFEckQ7RUFGRztJRDZERixpQkFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsYUFEb0QsRUMxRHJELEVBQUE7O0F0QnlJRztFc0IzSUE7SUQ2REYsWUFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsV0FEb0QsRUMxRHJEO0VBRkc7SUQ2REYsaUJBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLFdBRG9ELEVDMURyRDtFQUZHO0lENkRGLGlCQURvRCxFQzFEckQ7RUFGRztJRDZERixpQkFEb0QsRUMxRHJEO0VBRkc7SUQ2REYsYUFEb0QsRUMxRHJELEVBQUE7O0FBRkc7RUQ2REYsOEJBRGdILEVDMURqSDs7QUFGRztFRDZERiw2QkFEZ0gsRUMxRGpIOztBQUZHO0VENkRGLG1DQURnSCxFQzFEakg7O0FBRkc7RUQ2REYsNkJBRGdILEVDMURqSDs7QUFGRztFRDZERiw2QkFEZ0gsRUMxRGpIOztBQUZHO0VENkRGLG1DQURnSCxFQzFEakg7O0FBRkc7RUQ2REYsbUNBRGdILEVDMURqSDs7QUFGRztFRDZERiwrQkFEZ0gsRUMxRGpIOztBdEJvSUc7RXNCdElBO0lENkRGLDhCQURnSCxFQzFEakg7RUFGRztJRDZERiw2QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsbUNBRGdILEVDMURqSDtFQUZHO0lENkRGLDZCQURnSCxFQzFEakg7RUFGRztJRDZERiw2QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsbUNBRGdILEVDMURqSDtFQUZHO0lENkRGLG1DQURnSCxFQzFEakg7RUFGRztJRDZERiwrQkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsNEJBRGdILEVDMURqSDtFQUZHO0lENkRGLDJCQURnSCxFQzFEakg7RUFGRztJRDZERixpQ0FEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsMkJBRGdILEVDMURqSDtFQUZHO0lENkRGLDJCQURnSCxFQzFEakg7RUFGRztJRDZERixpQ0FEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsaUNBRGdILEVDMURqSDtFQUZHO0lENkRGLDZCQURnSCxFQzFEakgsRUFBQTs7QXRCb0lHO0VzQnRJQTtJRDZERiw4QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsNEJBRGdILEVDMURqSDtFQUZHO0lENkRGLDZCQURnSCxFQzFEakg7RUFGRztJRDZERiwyQkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsbUNBRGdILEVDMURqSDtFQUZHO0lENkRGLGlDQURnSCxFQzFEakg7RUFGRztJRDZERiw2QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsMkJBRGdILEVDMURqSDtFQUZHO0lENkRGLDZCQURnSCxFQzFEakg7RUFGRztJRDZERiwyQkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsbUNBRGdILEVDMURqSDtFQUZHO0lENkRGLGlDQURnSCxFQzFEakg7RUFGRztJRDZERixtQ0FEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsaUNBRGdILEVDMURqSDtFQUZHO0lENkRGLCtCQURnSCxFQzFEakg7RUFGRztJRDZERiw2QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsNkJBRGdILEVDMURqSDtFQUZHO0lENkRGLDRCQURnSCxFQzFEakg7RUFGRztJRDZERixrQ0FEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsNEJBRGdILEVDMURqSDtFQUZHO0lENkRGLDRCQURnSCxFQzFEakg7RUFGRztJRDZERixrQ0FEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsa0NBRGdILEVDMURqSDtFQUZHO0lENkRGLDhCQURnSCxFQzFEakgsRUFBQTs7QXRCeUlHO0VzQjNJQTtJRDZERiw2QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsNEJBRGdILEVDMURqSDtFQUZHO0lENkRGLGtDQURnSCxFQzFEakg7RUFGRztJRDZERiw0QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsNEJBRGdILEVDMURqSDtFQUZHO0lENkRGLGtDQURnSCxFQzFEakg7RUFGRztJRDZERixrQ0FEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsOEJBRGdILEVDMURqSCxFQUFBOztBdEJ5SUc7RXNCM0lBO0lENkRGLDZCQURnSCxFQzFEakg7RUFGRztJRDZERiw0QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsa0NBRGdILEVDMURqSDtFQUZHO0lENkRGLDRCQURnSCxFQzFEakg7RUFGRztJRDZERiw0QkFEZ0gsRUMxRGpIO0VBRkc7SUQ2REYsa0NBRGdILEVDMURqSDtFQUZHO0lENkRGLGtDQURnSCxFQzFEakg7RUFGRztJRDZERiw4QkFEZ0gsRUMxRGpILEVBQUE7O0FKZ01HO0VLdk1FLGdCQUEwQjtFQUExQixlQUEwQixFTHlNM0I7RUt0TUM7SUFFRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUFFN0I7RUFvQk87SUZ1Q1YsZ0JBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixZQURvRCxFRXBDM0M7RXZCOEdQO0l1QmhIUTtNRnVDVixnQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFdBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsV0FEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixXQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFlBRG9ELEVFcEMzQyxFQUFBO0V2QjhHUDtJdUJoSFE7TUZ1Q1YsZ0JBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixXQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFdBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsV0FEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixZQURvRCxFRXBDM0MsRUFBQTtFdkJtSFA7SXVCckhRO01GdUNWLGdCQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsV0FEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixXQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFdBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsWUFEb0QsRUVwQzNDLEVBQUE7RXZCbUhQO0l1QnJIUTtNRnVDVixnQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFdBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsV0FEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLGlCQURvRCxFRXBDM0M7SUFGQztNRnVDVixXQURvRCxFRXBDM0M7SUFGQztNRnVDVixpQkFEb0QsRUVwQzNDO0lBRkM7TUZ1Q1YsaUJBRG9ELEVFcEMzQztJQUZDO01GdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBTGdMUDtFS3RLRSxnQkFBMEI7RUFBMUIsZUFBMEIsRUx3SzNCO0VLcktDO0lBRUUsaUJBQTRCO0lBQTVCLGdCQUE0QixFQUUvQjs7QXZCNkZEO0VrQjREQTtJS3ZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx5TTNCO0lLdE1DO01BRUUsZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0F2Qm9JRDtFdUJ6SFE7SUZnRFYsZ0JBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixZQURvRCxFRTdDM0MsRUFBQTs7QXZCdUhQO0V1QmhIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBdkI4R1A7RXVCaEhRO0lGdUNWLGdCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsWUFEb0QsRUVwQzNDLEVBQUE7O0F2Qm1IUDtFdUJySFE7SUZ1Q1YsZ0JBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixZQURvRCxFRXBDM0MsRUFBQTs7QXZCbUhQO0V1QnJIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBdkI4R1A7RWtCa0VBO0lLdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTHdLM0I7SUtyS0M7TUFFRSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0F2QjZGRDtFa0I0REE7SUt2TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMeU0zQjtJS3RNQztNQUVFLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBdkJvSUQ7RXVCekhRO0lGZ0RWLGdCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsWUFEb0QsRUU3QzNDLEVBQUE7O0F2QnVIUDtFdUJ6SFE7SUZnRFYsZ0JBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixZQURvRCxFRTdDM0MsRUFBQTs7QXZCdUhQO0V1QmhIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBdkJtSFA7RXVCckhRO0lGdUNWLGdCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsWUFEb0QsRUVwQzNDLEVBQUE7O0F2Qm1IUDtFdUJySFE7SUZ1Q1YsZ0JBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixZQURvRCxFRXBDM0MsRUFBQTs7QXZCOEdQO0VrQmtFQTtJS3RLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx3SzNCO0lLcktDO01BRUUsaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBdkJrR0Q7RWtCdURBO0lLdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTHlNM0I7SUt0TUM7TUFFRSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QXZCeUlEO0V1QjlIUTtJRmdEVixnQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFlBRG9ELEVFN0MzQyxFQUFBOztBdkI0SFA7RXVCOUhRO0lGZ0RWLGdCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsWUFEb0QsRUU3QzNDLEVBQUE7O0F2QjRIUDtFdUI5SFE7SUZnRFYsZ0JBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixZQURvRCxFRTdDM0MsRUFBQTs7QXZCNEhQO0V1QnJIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBdkJtSFA7RXVCckhRO0lGdUNWLGdCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsWUFEb0QsRUVwQzNDLEVBQUE7O0F2Qm1IUDtFa0I2REE7SUt0S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMd0szQjtJS3JLQztNQUVFLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QXZCa0dEO0VrQnVEQTtJS3ZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx5TTNCO0lLdE1DO01BRUUsZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0F2QnlJRDtFdUI5SFE7SUZnRFYsZ0JBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixZQURvRCxFRTdDM0MsRUFBQTs7QXZCNEhQO0V1QjlIUTtJRmdEVixnQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFlBRG9ELEVFN0MzQyxFQUFBOztBdkI0SFA7RXVCOUhRO0lGZ0RWLGdCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsWUFEb0QsRUU3QzNDLEVBQUE7O0F2QjRIUDtFdUI5SFE7SUZnRFYsZ0JBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixXQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLFdBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixpQkFEb0QsRUU3QzNDO0VBRkM7SUZnRFYsV0FEb0QsRUU3QzNDO0VBRkM7SUZnRFYsaUJBRG9ELEVFN0MzQztFQUZDO0lGZ0RWLGlCQURvRCxFRTdDM0M7RUFGQztJRmdEVixZQURvRCxFRTdDM0MsRUFBQTs7QXZCNEhQO0V1QnJIUTtJRnVDVixnQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFdBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsV0FEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLGlCQURvRCxFRXBDM0M7RUFGQztJRnVDVixXQURvRCxFRXBDM0M7RUFGQztJRnVDVixpQkFEb0QsRUVwQzNDO0VBRkM7SUZ1Q1YsaUJBRG9ELEVFcEMzQztFQUZDO0lGdUNWLFlBRG9ELEVFcEMzQyxFQUFBOztBdkJtSFA7RWtCNkRBO0lLdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTHdLM0I7SUtyS0M7TUFFRSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FMNktEO0VNMU5GLGdCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsbUNBQTZCLEVOZ08xQjs7QUFORDtFTTFORixzQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLHlDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORiwwQ0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLGlCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsb0NBQTZCLEVOZ08xQjs7QUFORDtFTTFORix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLDBDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORiwwQ0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLGlCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsb0NBQTZCLEVOZ08xQjs7QUFORDtFTTFORix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLDBDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORiwwQ0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLGlCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsb0NBQTZCLEVOZ08xQjs7QUFORDtFTTFORix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLDBDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORiwwQ0FBNkIsRU5nTzFCOztBbEJ0RkQ7RWtCZ0ZBO0lNMU5GLGdCQUE2QixFTjROMUI7RUFFRDtJTTlORixpQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHVDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsd0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixrQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsd0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixrQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsd0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixrQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsd0NBQTZCLEVOZ08xQixFQUFBOztBbEJ0RkQ7RWtCZ0ZBO0lNMU5GLGdCQUE2QixFTjROMUI7RUFFRDtJTTlORixrQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQixFQUFBOztBbEJqRkQ7RWtCMkVBO0lNMU5GLGdCQUE2QixFTjROMUI7RUFFRDtJTTlORixrQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQixFQUFBOztBbEJqRkQ7RWtCMkVBO0lNMU5GLGdCQUE2QixFTjROMUI7RUFFRDtJTTlORixrQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixtQ0FBNkIsRU5nTzFCO0VB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OEJBRGdILEVINEIvRztFQUZDO0lHekJGLG9DQURnSCxFSDRCL0c7RUFGQztJR3pCRixvQ0FEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsOEJBRGdILEVINEIvRztFQUZDO0lHekJGLG9DQURnSCxFSDRCL0c7RUFGQztJR3pCRixvQ0FEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsOEJBRGdILEVINEIvRztFQUZDO0lHekJGLG9DQURnSCxFSDRCL0c7RUFGQztJR3pCRixvQ0FEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsK0JBRGdILEVINEIvRztFbEI4Q0M7SWtCNURGO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQWREO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRyxFQUFBO0VsQjhDQztJa0I1REY7TUdyQkEsYUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsYUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBZEQ7TUdyQkEsYUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsYUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBZEQ7TUdyQkEsYUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsYUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HLEVBQUE7RWxCbURDO0lrQmpFRjtNR3JCQSxhQUFtQixFSHVCcEI7SUFFQztNR3JCQSxhQUFtQixFSHVCcEI7SUFNRztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLDZCQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLDZCQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLDZCQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLDhCQURnSCxFSDRCL0csRUFBQTtFbEJtREM7SWtCakVGO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9H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S0c7SWtCcENKO01DL0ZNLHNCQUE2RDtNQUE3RCx5QkFBNkQsRUQ4SGxFLEVBQUE7RWxCS0c7SWtCcENKO01DL0ZNLHVCQUE2RDtNQUE3RCwwQkFBNkQsRUQ4SGxFLEVBQUE7RUEvQkQ7SUdoREUsK0JBRDRFO0lGckMxRSx1QkFBNkQ7SUFBN0QsMEJBQTZELEVENEY5RDtFbEI4QkM7SWtCcENKO01HaERFLDZCQUQ0RTtNRnJDMUUscUJBQTZEO01BQTdELHdCQUE2RCxFRG1HMUQsRUFBQTtFbEJ1Qkg7SWtCcENKO01HaERFLDhCQUQ0RTtNRnJDMUUsc0JBQTZEO01BQTdELHlCQUE2RCxFRG1HMUQsRUFBQTtFQXJDTDtJR3JCQSxhQUFtQixFSHVCcEI7RUFFQztJR3JCQSxhQUFtQixFSHVCcEI7RUFNRztJR3pCRixtQ0FEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsb0NBRGdILEVINEIvRztFQUZDO0lHekJGLDhCQURnSCxFSDRCL0c7RUFGQztJR3pCRixvQ0FEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsb0NBRGdILEVINEIvRztFQUZDO0lHekJGLDhCQURnSCxFSDRCL0c7RUFGQztJR3pCRixvQ0FEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsb0NBRGdILEVINEIvRztFQUZDO0lHekJGLDhCQURnSCxFSDRCL0c7RUFGQztJR3pCRixvQ0FEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsb0NBRGdILEVINEIvRztFQUZDO0lHekJGLCtCQURnSCxFSDRCL0c7RWxCOENDO0lrQjVERjtNR3JCQSxhQUFtQixFSHVCcEI7SUFFQztNR3JCQSxhQUFtQixFSHVCcEI7SUFNRztNR3pCRixpQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDZCQURnSCxFSDRCL0c7SUFkRDtNR3JCQSxhQUFtQixFSHVCcEI7SUFFQztNR3JCQSxhQUFtQixFSHVCcEI7SUFNRztNR3pCRixpQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDRCQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLDZCQURnSCxFSDRCL0csRUFBQTtFbEI4Q0M7SWtCNURGO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQWREO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRztJQWREO01HckJBLGFBQW1CLEVIdUJwQjtJQUVDO01HckJBLGFBQW1CLEVIdUJwQjtJQU1HO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsOEJBRGdILEVINEIvRyxFQUFBO0VsQm1EQztJa0JqRUY7TUdyQkEsYUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsYUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HLEVBQUE7RWxCbURDO0lrQmpFRjtNR3JCQSxhQUFtQixFSHVCcEI7SUFFQztNR3JCQSxhQUFtQixFSHVCcEI7SUFNRztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLDZCQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLDZCQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLDZCQURnSCxFSDRCL0c7SUFGQztNR3pCRixtQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLDhCQURnSCxFSDRCL0csRUFBQTs7QUF5U0Q7RU8zWEksZ0NBQW1DLEVQNlh0QztFbEI3UEM7SWtCMlBGO01PM1hJLDhCQUFtQyxFUDZYdEMsRUFBQTtFbEI3UEM7SWtCMlBGO01PM1hJLCtCQUFtQyxFUDZYdEMsRUFBQTtFbEJ4UEM7SWtCc1BGO01PM1hJLCtCQUFtQyxFUDZYdEMsRUFBQTtFbEJ4UEM7SWtCc1BGO01PM1hJLCtCQUFtQyxFUDZYdEMsRUFBQTs7QWxCN1BDO0VrQitQQTtJTy9YRSw4QkFBbUMsRVBpWXBDLEVBQUE7O0FsQmpRRDtFa0IrUEE7SU8vWEUsK0JBQW1DLEVQaVlwQyxFQUFBOztBbEI1UEQ7RWtCMFBBO0lPL1hFLCtCQUFtQyxFUGlZcEMsRUFBQTs7QWxCNVBEO0VrQjBQQTtJTy9YRSwrQkFBbUMsRVBpWXBDLEVBQUE7O0FRcktMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxvQnpCckgwQjtFeUJ1SDFCLG1CQUFrQjtFQUNsQixpQnpCekhzQjtFeUIwSHRCLG1DekJ4SHlDLEV5QnlIMUM7O0FBR0Q7O0VBRUUsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFHRDs7RUFFRSxrQnpCdk5xQjtFeUJ3TnJCLHFCQUFvQixFQUNyQjs7QUFHRDtFQUNFLGV6Qi9JaUI7RXlCZ0pqQixxQkFBb0IsRUFDckI7O0FBR0Q7Ozs7OztFQU1FLDBDM0I5U21EO0UyQitTbkQsbUJ6QjdMc0I7RXlCOEx0QixvQnpCL0x1QjtFeUJnTXZCLGV6QjdMa0I7RXlCOExsQixtQ3pCL0pzQyxFeUJxS3ZDO0VBaEJEOzs7Ozs7SUFhSSxlQUFjO0lBQ2QsZTNCalJlLEUyQmtSaEI7O0FBUUc7RUFJSSxvQmZ2UDZDO0VlK1A3QyxpQjNCclVrQztFMkJpVmxDLGNBQWE7RUFPYixzQnpCeE9pQixFeUIwT3BCOztBQWpDRDtFQUlJLG9CZnZQNkM7RWVtUTdDLGlCekIxTlc7RXlCa09YLGNBQWE7RUFPYixzQnpCeE9pQixFeUIwT3BCOztBQWpDRDtFQUlJLG9CZnZQNkM7RWVtUTdDLGlCekIxTlc7RXlCa09YLGNBQWE7RUFPYixzQnpCeE9pQixFeUIwT3BCOztBQWpDRDtFQUlJLG9CZnZQNkM7RWUrUDdDLGlCM0JsVWtDO0UyQjhVbEMsY0FBYTtFQU9iLHNCekJ4T2lCLEV5QjBPcEI7O0FBakNEO0VBSUksa0JmdlA2QztFZStQN0MsaUIzQmpVa0M7RTJCNlVsQyxjQUFhO0VBT2Isc0J6QnhPaUIsRXlCME9wQjs7QUFqQ0Q7RUFJSSxvQmZ2UDZDO0VlbVE3QyxpQnpCMU5XO0V5QmtPWCxjQUFhO0VBT2Isc0J6QnhPaUIsRXlCME9wQjs7QTFCek1IO0UwQndLRTtJQUlJLG1CZnZQNkMsRWVvUmhEO0VBakNEO0lBSUksbUJmdlA2QyxFZW9SaEQ7RUFqQ0Q7SUFJSSxvQmZ2UDZDO0llK1A3QyxpQjNCM1RrQyxFMkJnVnJDO0VBakNEO0lBSUksb0JmdlA2QyxFZW9SaEQ7RUFqQ0Q7SUFJSSxvQmZ2UDZDLEVlb1JoRDtFQWpDRDtJQUlJLG1CZnZQNkMsRWVvUmhELEVBQUE7O0ExQnpNSDtFMEJ3S0U7SUFJSSxnQmZ2UDZDO0llK1A3QyxlM0JyVGdDLEUyQjBVbkM7RUFqQ0Q7SUFJSSxnQmZ2UDZDO0llK1A3QyxlM0JwVGdDLEUyQnlVbkM7RUFqQ0Q7SUFJSSxvQmZ2UDZDO0llK1A3QyxlM0JuVGdDLEUyQndVbkM7RUFqQ0Q7SUFJSSxxQmZ2UDZDO0llK1A3QyxlM0JsVGdDLEUyQnVVbkM7RUFqQ0Q7SUFJSSxnQmZ2UDZDLEVlb1JoRDtFQWpDRDtJQUlJLG9CZnZQNkMsRWVvUmhELEVBQUE7O0FBTVA7RUFDRSxxQkFBb0I7RUFDcEIsZTNCOVRnQjtFMkIrVGhCLHNCekJ4TXlCO0V5QjBNekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlekIvTTJELEV5Qm1ONUQ7RUFiSDtJQWdCSSxVQUFTLEVBQ1Y7O0FBSUg7RUFDRSxZQUFXO0VBRVgsaUJmbFRxRDtFZW1UckQsVUFBUztFQUNULHFCekIzTnlCO0V5QjZOekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUMzQi9WaUI7RTJCZ1dqQixlQUFjLEVBQ2Y7O0FBR0Q7OztFQUdFLG9CekJyUDBCO0V5QnNQMUIsNkJ6QnBPeUI7RXlCcU96QixpQnpCeFBzQixFeUJ5UHZCOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0UscUJ6QjlPc0I7RXlCK090QixzQnpCalBrQixFeUJrUG5COztBQUdEO0VBQ0UscUJ6QnBQc0IsRXlCcVB2Qjs7QUFHRDtFQUVJLHFCekJ6UDJCO0V5QjBQM0IsaUJBQWdCLEVBQ2pCOztBQUlIO0VBQ0Usb0J6Qi9QeUIsRXlCcVExQjtFQVBEO0lBSUksc0J6QmhROEI7SXlCaVE5QixrQnpCeldtQixFeUIwV3BCOztBQUlIO0VBQ0UsaUJ6QjlSMEI7RXlCK1IxQix1Q2YxV3FEO0VlMldyRCwrQjNCbFppQixFMkJ3WmxCO0VBVEQ7SUFNSSxpQnpCcFNvQjtJeUJxU3BCLFkzQnZaVSxFMkJ3Wlg7O0FBSUg7RUFDRSxlQUFjO0VBQ2QscUJmdFhxRDtFZXVYckQsWTNCL1pZLEUyQm9hYjtFQVJEO0lBTUksY3pCbFJnQixFQUFhOztBeUJ1UmpDO0VBQ0Usa0MzQjVhVztFMkI2YVgs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WUFBVztJQUNYLGVBQWdDLEVBQ2pDOztBQUVIO0VBR0ksc0JBQXFCLEVBQ3RCOztBaENtdU5MOztFaUNyaU9FLGVBQWM7RUFDZCwrQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLFlBQVc7RUFDWCxrQkFMc0o7RUFNdEosaUJwQkh1RDtFb0JJdkQsZ0I5QjhWK0I7RThCNVYvQiwwQmhDN0NtQjtFZ0M4Q25CLG1COUJaaUI7RThCYWpCLDJDaENuRGE7RWdDb0RiLDBEaENyRGE7VWdDcURiLGtEaENyRGE7RWdDdURiLHFCOUI4VXlCO0U4QjdVekIsZ0JwQlp1RDtFb0JhdkQsb0I5QnBCMkI7RThCcUIzQixpQjlCOUJxQjtFOEIrQnJCLGVoQzNEYTtFZ0M4RFgsNEU5Qm9WOEQ7RThCcFY5RCxvRTlCb1Y4RDtFOEJwVjlELDREOUJvVjhEO0U4QnBWOUQscUY5Qm9WOEQ7RThCL1Q5RCx5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQixFQUNqQjtFakMrZ09EOztJaUNoaU9FLGNBQWE7SUFDYix1QmhDaEVZO0lnQ2lFWiwyQ2hDcEVXO0lnQ3FFWCxvQ2hDakVpQjtZZ0NpRWpCLDRCaENqRWlCO0lnQ29FZiw0RTlCeVU0RDtJOEJ6VTVELG9FOUJ5VTREO0k4QnpVNUQsNEQ5QnlVNEQ7SThCelU1RCxxRjlCeVU0RCxFOEJ2VS9EOztBQVlEO0VBQ0UsZ0JBQWUsRUFLaEI7RUFORDtJQUlJLGFBQVksRUFDYjs7QUFHSDs7RUFJSSxlaEM5RmUsRWdDK0ZoQjs7QUFMSDs7RUFJSSxlaEM5RmUsRWdDK0ZoQjs7QUFMSDs7RUFJSSxlaEM5RmUsRWdDK0ZoQjs7QUFMSDs7RUFJSSxlaEM5RmUsRWdDK0ZoQjs7QUFMSDs7O0VBVUksMEJoQ25HYztFZ0NvR2Qsb0I5QnVTNkIsRThCdFM5Qjs7QWpDK2dPTDs7RWlDemdPSSx5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixtQjlCM0VlLEU4QjRFaEI7O0FBR0Q7RUFDRSwrQkFBc0I7VUFBdEIsdUJBQXNCLEVBQ3ZCOztBakMwZ09IOzs7RWtDbHFP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bkRrQjtFQW1EbEIsZ0NBbkRrQjtNQW1EbEIsc0JBbkRrQjtVQW1EbEIsd0JBbkRrQjtFQW9EbEIsMEJBeENnQjtFQXdDaEIsNEJBeENnQjtNQXdDaEIsdUJBeENnQjtVQXdDaEIsb0JBeENnQjtFRHNGZCw4QkFBcUI7TUFBckIsMkJBQXFCO1VBQXJCLHNCQUFxQixFQUN0Qjs7QUFLRztFQzlCSiw2QkQ2QmdCO0VDN0JoQixpQkQ2QmdCO01DN0JoQixrQkQ2QmdCO1VDN0JoQixTRDZCZ0IsRUFHWDs7QUFGRDtFQzlCSiw2QkQ2QmdCO0VDN0JoQixpQkQ2QmdCO01DN0JoQixrQkQ2QmdCO1VDN0JoQixTRDZCZ0IsRUFHWDs7QUFGRDtFQzlCSiw2QkQ2QmdCO0VDN0JoQixpQkQ2QmdCO01DN0JoQixrQkQ2QmdCO1VDN0JoQixTRDZCZ0IsRUFHWDs7QUFGRDtFQzlCSiw2QkQ2QmdCO0VDN0JoQixpQkQ2QmdCO01DN0JoQixrQkQ2QmdCO1VDN0JoQixTRDZCZ0IsRUFHWDs7QUFGRDtFQzlCSiw2QkQ2QmdCO0VDN0JoQixpQkQ2QmdCO01DN0JoQixrQkQ2QmdCO1VDN0JoQixTRDZCZ0IsRUFHWDs7QUFGRDtFQzlCSiw2QkQ2QmdCO0VDN0JoQixpQkQ2QmdCO01DN0JoQixrQkQ2QmdCO1VDN0JoQixTRDZCZ0IsRUFHWDs7QXZFcUREO0V1RXZEQTtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWDtFQUZEO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWDtFQUZEO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1gsRUFBQTs7QXZFcUREO0V1RXZEQTtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWDtFQUZEO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWDtFQUZEO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1gsRUFBQTs7QXZFMEREO0V1RTVEQTtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWDtFQUZEO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtRQzdCaEIsa0JENkJnQjtZQzdCaEIsU0Q2QmdCLEVBR1g7RUFGRDtJQzlCSiw2QkQ2QmdCO0lDN0JoQixpQkQ2QmdCO1FDN0JoQixrQkQ2QmdCO1lDN0JoQixTRDZCZ0IsRUFHWDtFQUZEO0lDOUJKLDZCRDZCZ0I7SUM3QmhCLGlCRDZCZ0I7UUM3QmhCLGtCRDZCZ0I7WUM3QmhCLFNENkJnQixFQUdYO0VBRkQ7SUM5QkosNkJENkJnQjtJQzdCaEIsaUJENkJnQjtR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RGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyw4QkY1Qm1EO01FNEJuRCwwQkY1Qm1EO1VFNEJuRCxzQkY1Qm1EO0VNR2pELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxnQ0YzQnFEO01FMkJyRCw0QkYzQnFEO1VFMkJyRCx3QkYzQnFEO0VNRW5ELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYixzREduQ2lDO1VIbUNqQyw4Q0duQ2lDO0VIbUNqQyxpQ0YxQnNEO01FMEJ0RCw2QkYxQnNEO1VFMEJ0RCx5QkYxQnNEO0VNQ3BELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYixzREdsQytCO1VIa0MvQiw4Q0dsQytCO0VIa0MvQiwrQkZ6Qm9EO01FeUJwRCwyQkZ6Qm9EO1VFeUJwRCx1QkZ6Qm9EO0VNQWxELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsbUNDa0JjO1VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7VURqQ2YsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYix3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5Qyw4QkZ0Qm1EO01Fc0JuRCwwQkZ0Qm1EO1VFc0JuRCxzQkZ0Qm1EO0VNSGpELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxnQ0ZyQnFEO01FcUJyRCw0QkZyQnFEO1VFcUJyRCx3QkZyQnFEO0VNSm5ELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VDc0JuQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0ZwQnNEO01Fb0J0RCw2QkZwQnNEO1VFb0J0RCx5QkZwQnNEO0VNTHBELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSxzREduQ2lDO1VIbUNqQyw4Q0duQ2lDO0VDcUIvQixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QywrQkZuQm9EO01FbUJwRCwyQkZuQm9EO1VFbUJwRCx1QkZuQm9EO0VNTmxELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSxzREdsQytCO1VIa0MvQiw4Q0dsQytCO0VDb0I3QixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3JDbUM7VUhxQ25DLCtDR3JD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RCxFNkVpQ3ZELEVBQUE7O0F4RitDSTtFd0ZoRU47SUFNRyxrQjdFdEJzRCxFNkVpQ3ZELEVBQUE7O0F4RjBDSTtFd0YzRE47SUFTRyxxQjdFekJzRCxFNkVpQ3ZELEVBQUE7O0F4RitDSTtFd0ZoRU47SUFZRyxvQjdFNUJzRCxFNkVpQ3ZELEVBQUE7O0F4RitDSTtFd0ZoRU47SUFlRyxxQjdFL0JzRCxFNkVpQ3ZELEVBQUE7O0F4RitDSTtFd0Y3Q047SUFHRyxxQjdFdENzRCxFNkVrRHZELEVBQUE7O0F4RjhCSTtFd0Y3Q047SUFNRyxrQjdFekNzRCxFNkVrRHZELEVBQUE7O0F4RnlCSTtFd0Z4Q047SUFTRyxxQjdFNUNzRCxFNkVrRHZELEVBQUE7O0F4RjhCSTtFd0Y3Q047SUFZRyxvQjdFL0NzRCxFNkVrRHZELEVBQUE7O0F4RjhCSTtFd0Y1Qk47SUFHRyxrQjdFdkRzRCxFNkUrRHZELEVBQUE7O0F4RmlCSTtFd0Y1Qk47SUFNRyxxQjdFMURzRCxFNkUrRHZELEVBQUE7O0F4RllJO0V3RnZCTjtJQVNHLHFCN0U3RHNELEU2RStEdkQsRUFBQTs7QXhGaUJJO0V3RmZOO0lBR0csaUJBQWdCLEVBUWpCLEVBQUE7O0F4RklJO0V3RmZOO0lBTUcscUI3RXZFc0QsRTZFNEV2RCxFQUFBOztBeEZESTtFd0ZWTjtJQVNHLHFCN0UxRXNELEU2RTRFdkQsRUFBQTs7QUFFRjtFQUNDLG1CQUFrQjtFQUNsQixZQUFXLEVBQ1g7O0FBQ0Q7RUFDQyxXQUFVLEVBSVY7RUFMRDtJQUdFLFdBQVUsRUFDVjs7QUFFRjtFQUNDLG1CQUFrQixFQWNsQjtFeEZ2Qks7SXdGUU47TUFJRSxtQjdFNUZ1RCxFNkV1R3hELEVBQUE7RXhGdkJLO0l3RlFOO01BT0Usc0JBQTZDLEVBUTlDLEVBQUE7RXhGdkJLO0l3RlFOO01BVUUsa0I3RWxHdUQsRTZFdUd4RCxFQUFBO0V4RjVCSztJd0ZhTjtNQWFFLGtCN0VyR3VELEU2RXVHeEQsRUFBQTs7QUFDRDtFQUNDLFdBQVUsRUFDVjs7QUFDRDtFQUNDLGdCQUFlO0VBQ2YsaUJBQWdCLEVB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LDBCQUF5QixFQUN6Qjs7QUFOSDtFQVNFLDBCakg4Qlk7RWlIN0JaLGdCckd1RHVEO0VxR3REdkQsZWpIV2EsRWlIa0JiO0VBeENGO0lBYUcsMEJqSFNZLEVpSFJaO0VBZEg7SUFnQkcsbUJyR2lEc0QsRXFHaER0RDtFQWpCSDtJQW1CRyxvQnJHOENzRDtJcUc3Q3RELGlCQUFnQjtJQUNoQixpQkFBZ0IsRUFDaEI7RUF0Qkg7SUF3QkcsZWpIRlk7SWlIR1osc0JqSEhZO0lpSElaLG9Cckd1Q3NEO0lxR3RDdEQsa0JyR3NDc0QsRXFHakN0RDtJQWhDSDtNQTZCSSwwQmpIUFc7TWlIUVgsZWpIU1UsRWlIUlY7RUEvQko7SUFrQ00sZUFBYyxFQUtqQjtJQXZDSDtNQW9DVSxvQkFBbUI7TUFDbkIsdUJBQXNCLEVBQ3pCOztBQUtQO0VBQ0Msd0JyR3FCd0QsRXFHcEJ4RDs7QUFDRDtFQUNDLHNCQUFxQjtFQUNyQixrQkFBaUI7RUFJakIsbUJBQWtCO0VBQ2YsWUFBVztFQUNYLFFBQU8sRUFDVjs7QWhIMEZLO0VpSHhLTjtJQUdHLHFCdEdxRnNEO0lzR3BGdEQsbUJ0R29Gc0QsRXNHbkV2RCxFQUFBOztBakg4SUk7RWlIbktOO0lBT0cscUJ0R2lGc0Q7SXNHaEZ0RCxrQnRHZ0ZzRCxFc0duRXZEO0lBckJGO01BVUkscUJ0RzhFcUQsRXNHN0VyRDtJQVhKO01BYUksbUJ0RzJFcUQsRXNHMUVyRCxFQUFBOztBakhxSkU7RWlIbktOO0lBaUJHLGtCdEd1RXNEO0lzR3RFdEQsa0J0R3NFc0QsRXNHbkV2RCxFQUFBOztBakhtSkk7RWlIaEpOOztJQUlHLG1CdEc0RHNELEVzR25EdkQsRUFBQTs7QWpIOEhJO0VpSDNJTjs7SUFPRyxrQnRHeURzRCxFc0duRHZELEVBQUE7O0FqSDhISTtFaUgzSU47O0lBVUcsa0J0R3NEc0QsRXNHbkR2RCxFQUFBOztBakhtSUk7RWlIOUhMO0lBQ0Msc0J0RzZDdUQsRXNHNUN2RCxFQUFBOztBakh1SEk7RWlIcEhOO0lBRUUsY0FBYSxFQUdkLEVBQUE7O0FqSCtHSztFaUg5R047SUFFRSxjQUFhO0lBQ1YsK0JBQThCO0lBQzlCLHdCQUF1QixFQUczQixFQUFBOztBQUNEO0VBQ0ksY0FBYTtFQUNiLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFBc0I7RUFBdEIsOEJBQXNCO0VBQXRCLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLHlCQUF1QjtFQUF2QixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QixFQUMxQjs7QUFDRDtFQUVFLFdBQVUsRUFDViIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogQGltcG9ydCBtdXN0IGJlIGF0IHRvcCBvZiBmaWxlLCBvdGhlcndpc2UgQ1NTIHdpbGwgbm90IHdvcmsgKi9cbkBpbXBvcnQgdXJsKFwiLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC8zNzQ1MTFcIik7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQZXJwZXR1YSc7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMzc0NTExXzBfMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMzc0NTExXzBfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy8zNzQ1MTFfMF8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8zNzQ1MTFfMF8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMzc0NTExXzBfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzLzM3NDUxMV8wXzAuc3ZnI3dmXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQZXJwZXR1YSc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8zNzQ1MTFfMV8wLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8zNzQ1MTFfMV8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzLzM3NDUxMV8xXzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzM3NDUxMV8xXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8zNzQ1MTFfMV8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvMzc0NTExXzFfMC5zdmcjd2ZcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5ibGFjayBhLmFjY29yZGlvbi10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7IH1cblxuLmJsYWNrIC5ob21lLWxpbmsgLnNuaXBwZXQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7IH1cblxuLmJsYWNrIC5ob21lLWxpbms6aG92ZXIgLnNuaXBwZXQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tYmxhY2sgaDEge1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuc2VjdGlvbi1ibGFjayBoMSAuYm9yZGVyLWxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7IH1cblxuLnNlY3Rpb24tYmxhY2sgLmhvbWVfX2hlcm8gaDEge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuc2VjdGlvbi1ibGFjayAuaG9tZV9faGVybyBoMSAuYm9yZGVyLWxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuLnNlY3Rpb24tYmxhY2sgLmNvbnRhY3RfZGV0YWlscyBoMSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLWJsYWNrIC50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnNlY3Rpb24tYmxhY2sgLmJ1dHRvbi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnNlY3Rpb24tYmxhY2sgLmJ1dHRvbi1wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuXG4uYmctYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iZy1ibGFjazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7IH1cblxuLmJ1dHRvbi5idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi5idXR0b24tYmxhY2s6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IH1cblxuLmJ1dHRvbi5idXR0b24tdGV4dC1ibGFjayB7XG4gIGNvbG9yOiAjMGEwYTBhICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi5idXR0b24tdGV4dC1ibGFjazpob3ZlciB7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbGluay5saW5rLWJsYWNrIHtcbiAgY29sb3I6ICMwYTBhMGEgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzBhMGEwYSAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxpbmsubGluay1ibGFjazpob3ZlciB7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogYmxhY2sgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ibGFjayB7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC50ZXh0LWJsYWNrIGgxLCAudGV4dC1ibGFjayBoMiwgLnRleHQtYmxhY2sgaDQsIC50ZXh0LWJsYWNrIGEsIC50ZXh0LWJsYWNrIGxpIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uYm9yZGVyLWJsYWNrIHtcbiAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhOyB9XG5cbi5saW5lLWJsYWNrIHtcbiAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhOyB9XG5cbi5oZWFkaW5nLXVuZGVybGluZS51bmRlcmxpbmUtYmxhY2sge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMGEwYTBhOyB9XG5cbi5idXR0b24ubGluay1ib3JkZXIubGluay1ib3JkZXItYmxhY2s6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24ubGluay1ib3JkZXIubGluay1ib3JkZXItYmxhY2s6YWZ0ZXI6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGJsYWNrOyB9XG5cbi5idXR0b24ubGluay1ib3JkZXIudGV4dC1ibGFjayB7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24ubGluay1ib3JkZXIudGV4dC1ibGFjazpob3ZlciB7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IH1cblxuLndoaXRlIGEuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG4ud2hpdGUgLmhvbWUtbGluayAuc25pcHBldC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG4ud2hpdGUgLmhvbWUtbGluazpob3ZlciAuc25pcHBldC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDhkOCAhaW1wb3J0YW50OyB9XG5cbi5zZWN0aW9uLXdoaXRlIGgxIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnNlY3Rpb24td2hpdGUgaDEgLmJvcmRlci1saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLXdoaXRlIC5ob21lX19oZXJvIGgxIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnNlY3Rpb24td2hpdGUgLmhvbWVfX2hlcm8gaDEgLmJvcmRlci1saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLXdoaXRlIC5jb250YWN0X2RldGFpbHMgaDEge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uc2VjdGlvbi13aGl0ZSAudGV4dC13aGl0ZSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLXdoaXRlIC5idXR0b24tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5zZWN0aW9uLXdoaXRlIC5idXR0b24tcHJpbWFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgfVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iZy13aGl0ZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi5idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi5idXR0b24td2hpdGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjEgIWltcG9ydGFudDsgfVxuXG4uYnV0dG9uLmJ1dHRvbi10ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuICAuYnV0dG9uLmJ1dHRvbi10ZXh0LXdoaXRlOmhvdmVyIHtcbiAgICBjb2xvcjogI2YxZjFmMSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWxpbmsubGluay13aGl0ZSB7XG4gIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuICAudGV4dC1saW5rLmxpbmstd2hpdGU6aG92ZXIge1xuICAgIGNvbG9yOiAjZjFmMWYxICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2YxZjFmMSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRleHQtd2hpdGUgaDEsIC50ZXh0LXdoaXRlIGgyLCAudGV4dC13aGl0ZSBoNCwgLnRleHQtd2hpdGUgYSwgLnRleHQtd2hpdGUgbGkge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICNmZWZlZmU7IH1cblxuLmxpbmUtd2hpdGUge1xuICBib3JkZXItY29sb3I6ICNmZWZlZmU7IH1cblxuLmhlYWRpbmctdW5kZXJsaW5lLnVuZGVybGluZS13aGl0ZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi5saW5rLWJvcmRlci5saW5rLWJvcmRlci13aGl0ZTphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5saW5rLWJvcmRlci5saW5rLWJvcmRlci13aGl0ZTphZnRlcjpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2Q4ZDhkODsgfVxuXG4uYnV0dG9uLmxpbmstYm9yZGVyLnRleHQtd2hpdGUge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmxpbmstYm9yZGVyLnRleHQtd2hpdGU6aG92ZXIge1xuICAgIGNvbG9yOiAjZDhkOGQ4ICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LWdyZXkgYS5hY2NvcmRpb24tdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMWRjOyB9XG5cbi5saWdodC1ncmV5IC5ob21lLWxpbmsgLnNuaXBwZXQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUxZGM7IH1cblxuLmxpZ2h0LWdyZXkgLmhvbWUtbGluazpob3ZlciAuc25pcHBldC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JjYmViMyAhaW1wb3J0YW50OyB9XG5cbi5zZWN0aW9uLWxpZ2h0LWdyZXkgaDEge1xuICBjb2xvcjogI2UwZTFkYzsgfVxuICAuc2VjdGlvbi1saWdodC1ncmV5IGgxIC5ib3JkZXItbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTFkYzsgfVxuXG4uc2VjdGlvbi1saWdodC1ncmV5IC5ob21lX19oZXJvIGgxIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnNlY3Rpb24tbGlnaHQtZ3JleSAuaG9tZV9faGVybyBoMSAuYm9yZGVyLWxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuLnNlY3Rpb24tbGlnaHQtZ3JleSAuY29udGFjdF9kZXRhaWxzIGgxIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnNlY3Rpb24tbGlnaHQtZ3JleSAudGV4dC13aGl0ZSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLWxpZ2h0LWdyZXkgLmJ1dHRvbi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTFkYztcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnNlY3Rpb24tbGlnaHQtZ3JleSAuYnV0dG9uLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOGM5YzE7IH1cblxuLmJnLWxpZ2h0LWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMWRjOyB9XG4gIC5iZy1saWdodC1ncmV5OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTFkYzsgfVxuXG4uYnV0dG9uLmJ1dHRvbi1saWdodC1ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTFkYyAhaW1wb3J0YW50OyB9XG4gIC5idXR0b24uYnV0dG9uLWxpZ2h0LWdyZXk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ1Y2UgIWltcG9ydGFudDsgfVxuXG4uYnV0dG9uLmJ1dHRvbi10ZXh0LWxpZ2h0LWdyZXkge1xuICBjb2xvcjogI2UwZTFkYyAhaW1wb3J0YW50OyB9XG4gIC5idXR0b24uYnV0dG9uLXRleHQtbGlnaHQtZ3JleTpob3ZlciB7XG4gICAgY29sb3I6ICNkNGQ1Y2UgIWltcG9ydGFudDsgfVxuXG4udGV4dC1saW5rLmxpbmstbGlnaHQtZ3JleSB7XG4gIGNvbG9yOiAjZTBlMWRjICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNlMGUxZGMgIWltcG9ydGFudDsgfVxuICAudGV4dC1saW5rLmxpbmstbGlnaHQtZ3JleTpob3ZlciB7XG4gICAgY29sb3I6ICNkNGQ1Y2UgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDRkNWNlICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbGlnaHQtZ3JleSB7XG4gIGNvbG9yOiAjZTBlMWRjOyB9XG4gIC50ZXh0LWxpZ2h0LWdyZXkgaDEsIC50ZXh0LWxpZ2h0LWdyZXkgaDIsIC50ZXh0LWxpZ2h0LWdyZXkgaDQsIC50ZXh0LWxpZ2h0LWdyZXkgYSwgLnRleHQtbGlnaHQtZ3JleSBsaSB7XG4gICAgY29sb3I6ICNlMGUxZGM7IH1cblxuLmJvcmRlci1saWdodC1ncmV5IHtcbiAgYm9yZGVyLWNvbG9yOiAjZTBlMWRjOyB9XG5cbi5saW5lLWxpZ2h0LWdyZXkge1xuICBib3JkZXItY29sb3I6ICNlMGUxZGM7IH1cblxuLmhlYWRpbmctdW5kZXJsaW5lLnVuZGVybGluZS1saWdodC1ncmV5IHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2UwZTFkYzsgfVxuXG4uYnV0dG9uLmxpbmstYm9yZGVyLmxpbmstYm9yZGVyLWxpZ2h0LWdyZXk6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZTBlMWRjOyB9XG4gIC5idXR0b24ubGluay1ib3JkZXIubGluay1ib3JkZXItbGlnaHQtZ3JleTphZnRlcjpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2JjYmViMzsgfVxuXG4uYnV0dG9uLmxpbmstYm9yZGVyLnRleHQtbGlnaHQtZ3JleSB7XG4gIGNvbG9yOiAjZTBlMWRjOyB9XG4gIC5idXR0b24ubGluay1ib3JkZXIudGV4dC1saWdodC1ncmV5OmhvdmVyIHtcbiAgICBjb2xvcjogI2JjYmViMyAhaW1wb3J0YW50OyB9XG5cbi5tZWRpdW0tZ3JleSBhLmFjY29yZGlvbi10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZDZlNzA7IH1cblxuLm1lZGl1bS1ncmV5IC5ob21lLWxpbmsgLnNuaXBwZXQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZDZlNzA7IH1cblxuLm1lZGl1bS1ncmV5IC5ob21lLWxpbms6aG92ZXIgLnNuaXBwZXQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NzQ4NDkgIWltcG9ydGFudDsgfVxuXG4uc2VjdGlvbi1tZWRpdW0tZ3JleSBoMSB7XG4gIGNvbG9yOiAjNmQ2ZTcwOyB9XG4gIC5zZWN0aW9uLW1lZGl1bS1ncmV5IGgxIC5ib3JkZXItbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmU3MDsgfVxuXG4uc2VjdGlvbi1tZWRpdW0tZ3JleSAuaG9tZV9faGVybyBoMSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5zZWN0aW9uLW1lZGl1bS1ncmV5IC5ob21lX19oZXJvIGgxIC5ib3JkZXItbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG4uc2VjdGlvbi1tZWRpdW0tZ3JleSAuY29udGFjdF9kZXRhaWxzIGgxIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnNlY3Rpb24tbWVkaXVtLWdyZXkgLnRleHQtd2hpdGUge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uc2VjdGlvbi1tZWRpdW0tZ3JleSAuYnV0dG9uLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ2ZTcwO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuc2VjdGlvbi1tZWRpdW0tZ3JleSAuYnV0dG9uLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDU1NTY7IH1cblxuLmJnLW1lZGl1bS1ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmU3MDsgfVxuICAuYmctbWVkaXVtLWdyZXk6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ2ZTcwOyB9XG5cbi5idXR0b24uYnV0dG9uLW1lZGl1bS1ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmU3MCAhaW1wb3J0YW50OyB9XG4gIC5idXR0b24uYnV0dG9uLW1lZGl1bS1ncmV5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjA2MTYzICFpbXBvcnRhbnQ7IH1cblxuLmJ1dHRvbi5idXR0b24tdGV4dC1tZWRpdW0tZ3JleSB7XG4gIGNvbG9yOiAjNmQ2ZTcwICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi5idXR0b24tdGV4dC1tZWRpdW0tZ3JleTpob3ZlciB7XG4gICAgY29sb3I6ICM2MDYxNjMgIWltcG9ydGFudDsgfVxuXG4udGV4dC1saW5rLmxpbmstbWVkaXVtLWdyZXkge1xuICBjb2xvcjogIzZkNmU3MCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNmQ2ZTcwICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtbGluay5saW5rLW1lZGl1bS1ncmV5OmhvdmVyIHtcbiAgICBjb2xvcjogIzYwNjE2MyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM2MDYxNjMgIWltcG9ydGFudDsgfVxuXG4udGV4dC1tZWRpdW0tZ3JleSB7XG4gIGNvbG9yOiAjNmQ2ZTcwOyB9XG4gIC50ZXh0LW1lZGl1bS1ncmV5IGgxLCAudGV4dC1tZWRpdW0tZ3JleSBoMiwgLnRleHQtbWVkaXVtLWdyZXkgaDQsIC50ZXh0LW1lZGl1bS1ncmV5IGEsIC50ZXh0LW1lZGl1bS1ncmV5IGxpIHtcbiAgICBjb2xvcjogIzZkNmU3MDsgfVxuXG4uYm9yZGVyLW1lZGl1bS1ncmV5IHtcbiAgYm9yZGVyLWNvbG9yOiAjNmQ2ZTcwOyB9XG5cbi5saW5lLW1lZGl1bS1ncmV5IHtcbiAgYm9yZGVyLWNvbG9yOiAjNmQ2ZTcwOyB9XG5cbi5oZWFkaW5nLXVuZGVybGluZS51bmRlcmxpbmUtbWVkaXVtLWdyZXkge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNmQ2ZTcwOyB9XG5cbi5idXR0b24ubGluay1ib3JkZXIubGluay1ib3JkZXItbWVkaXVtLWdyZXk6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNmQ2ZTcwOyB9XG4gIC5idXR0b24ubGluay1ib3JkZXIubGluay1ib3JkZXItbWVkaXVtLWdyZXk6YWZ0ZXI6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM0NzQ4NDk7IH1cblxuLmJ1dHRvbi5saW5rLWJvcmRlci50ZXh0LW1lZGl1bS1ncmV5IHtcbiAgY29sb3I6ICM2ZDZlNzA7IH1cbiAgLmJ1dHRvbi5saW5rLWJvcmRlci50ZXh0LW1lZGl1bS1ncmV5OmhvdmVyIHtcbiAgICBjb2xvcjogIzQ3NDg0OSAhaW1wb3J0YW50OyB9XG5cbi5kYXJrLWdyZXkgYS5hY2NvcmRpb24tdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyOyB9XG5cbi5kYXJrLWdyZXkgLmhvbWUtbGluayAuc25pcHBldC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjsgfVxuXG4uZGFyay1ncmV5IC5ob21lLWxpbms6aG92ZXIgLnNuaXBwZXQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tZGFyay1ncmV5IGgxIHtcbiAgY29sb3I6ICMyMjI7IH1cbiAgLnNlY3Rpb24tZGFyay1ncmV5IGgxIC5ib3JkZXItbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjsgfVxuXG4uc2VjdGlvbi1kYXJrLWdyZXkgLmhvbWVfX2hlcm8gaDEge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuc2VjdGlvbi1kYXJrLWdyZXkgLmhvbWVfX2hlcm8gaDEgLmJvcmRlci1saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLWRhcmstZ3JleSAuY29udGFjdF9kZXRhaWxzIGgxIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnNlY3Rpb24tZGFyay1ncmV5IC50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnNlY3Rpb24tZGFyay1ncmV5IC5idXR0b24tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5zZWN0aW9uLWRhcmstZ3JleSAuYnV0dG9uLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTA5MDk7IH1cblxuLmJnLWRhcmstZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjI7IH1cbiAgLmJnLWRhcmstZ3JleTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7IH1cblxuLmJ1dHRvbi5idXR0b24tZGFyay1ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMiAhaW1wb3J0YW50OyB9XG4gIC5idXR0b24uYnV0dG9uLWRhcmstZ3JleTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1MTUxNSAhaW1wb3J0YW50OyB9XG5cbi5idXR0b24uYnV0dG9uLXRleHQtZGFyay1ncmV5IHtcbiAgY29sb3I6ICMyMjIgIWltcG9ydGFudDsgfVxuICAuYnV0dG9uLmJ1dHRvbi10ZXh0LWRhcmstZ3JleTpob3ZlciB7XG4gICAgY29sb3I6ICMxNTE1MTUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1saW5rLmxpbmstZGFyay1ncmV5IHtcbiAgY29sb3I6ICMyMjIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzIyMiAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxpbmsubGluay1kYXJrLWdyZXk6aG92ZXIge1xuICAgIGNvbG9yOiAjMTUxNTE1ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzE1MTUxNSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWRhcmstZ3JleSB7XG4gIGNvbG9yOiAjMjIyOyB9XG4gIC50ZXh0LWRhcmstZ3JleSBoMSwgLnRleHQtZGFyay1ncmV5IGgyLCAudGV4dC1kYXJrLWdyZXkgaDQsIC50ZXh0LWRhcmstZ3JleSBhLCAudGV4dC1kYXJrLWdyZXkgbGkge1xuICAgIGNvbG9yOiAjMjIyOyB9XG5cbi5ib3JkZXItZGFyay1ncmV5IHtcbiAgYm9yZGVyLWNvbG9yOiAjMjIyOyB9XG5cbi5saW5lLWRhcmstZ3JleSB7XG4gIGJvcmRlci1jb2xvcjogIzIyMjsgfVxuXG4uaGVhZGluZy11bmRlcmxpbmUudW5kZXJsaW5lLWRhcmstZ3JleSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMyMjI7IH1cblxuLmJ1dHRvbi5saW5rLWJvcmRlci5saW5rLWJvcmRlci1kYXJrLWdyZXk6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjIyOyB9XG4gIC5idXR0b24ubGluay1ib3JkZXIubGluay1ib3JkZXItZGFyay1ncmV5OmFmdGVyOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsgfVxuXG4uYnV0dG9uLmxpbmstYm9yZGVyLnRleHQtZGFyay1ncmV5IHtcbiAgY29sb3I6ICMyMjI7IH1cbiAgLmJ1dHRvbi5saW5rLWJvcmRlci50ZXh0LWRhcmstZ3JleTpob3ZlciB7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IH1cblxuLmRhcmstYmx1ZSBhLmFjY29yZGlvbi10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjMyNDY7IH1cblxuLmRhcmstYmx1ZSAuaG9tZS1saW5rIC5zbmlwcGV0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIzMjQ2OyB9XG5cbi5kYXJrLWJsdWUgLmhvbWUtbGluazpob3ZlciAuc25pcHBldC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyMDcwOSAhaW1wb3J0YW50OyB9XG5cbi5zZWN0aW9uLWRhcmstYmx1ZSBoMSB7XG4gIGNvbG9yOiAjMTIzMjQ2OyB9XG4gIC5zZWN0aW9uLWRhcmstYmx1ZSBoMSAuYm9yZGVyLWxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjMyNDY7IH1cblxuLnNlY3Rpb24tZGFyay1ibHVlIC5ob21lX19oZXJvIGgxIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnNlY3Rpb24tZGFyay1ibHVlIC5ob21lX19oZXJvIGgxIC5ib3JkZXItbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG4uc2VjdGlvbi1kYXJrLWJsdWUgLmNvbnRhY3RfZGV0YWlscyBoMSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLWRhcmstYmx1ZSAudGV4dC13aGl0ZSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLWRhcmstYmx1ZSAuYnV0dG9uLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIzMjQ2O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuc2VjdGlvbi1kYXJrLWJsdWUgLmJ1dHRvbi1wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgxNTFkOyB9XG5cbi5iZy1kYXJrLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIzMjQ2OyB9XG4gIC5iZy1kYXJrLWJsdWU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIzMjQ2OyB9XG5cbi5idXR0b24uYnV0dG9uLWRhcmstYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjMyNDYgIWltcG9ydGFudDsgfVxuICAuYnV0dG9uLmJ1dHRvbi1kYXJrLWJsdWU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDI0MzIgIWltcG9ydGFudDsgfVxuXG4uYnV0dG9uLmJ1dHRvbi10ZXh0LWRhcmstYmx1ZSB7XG4gIGNvbG9yOiAjMTIzMjQ2ICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi5idXR0b24tdGV4dC1kYXJrLWJsdWU6aG92ZXIge1xuICAgIGNvbG9yOiAjMGQyNDMyICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbGluay5saW5rLWRhcmstYmx1ZSB7XG4gIGNvbG9yOiAjMTIzMjQ2ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMxMjMyNDYgIWltcG9ydGFudDsgfVxuICAudGV4dC1saW5rLmxpbmstZGFyay1ibHVlOmhvdmVyIHtcbiAgICBjb2xvcjogIzBkMjQzMiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwZDI0MzIgIWltcG9ydGFudDsgfVxuXG4udGV4dC1kYXJrLWJsdWUge1xuICBjb2xvcjogIzEyMzI0NjsgfVxuICAudGV4dC1kYXJrLWJsdWUgaDEsIC50ZXh0LWRhcmstYmx1ZSBoMiwgLnRleHQtZGFyay1ibHVlIGg0LCAudGV4dC1kYXJrLWJsdWUgYSwgLnRleHQtZGFyay1ibHVlIGxpIHtcbiAgICBjb2xvcjogIzEyMzI0NjsgfVxuXG4uYm9yZGVyLWRhcmstYmx1ZSB7XG4gIGJvcmRlci1jb2xvcjogIzEyMzI0NjsgfVxuXG4ubGluZS1kYXJrLWJsdWUge1xuICBib3JkZXItY29sb3I6ICMxMjMyNDY7IH1cblxuLmhlYWRpbmctdW5kZXJsaW5lLnVuZGVybGluZS1kYXJrLWJsdWUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMTIzMjQ2OyB9XG5cbi5idXR0b24ubGluay1ib3JkZXIubGluay1ib3JkZXItZGFyay1ibHVlOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzEyMzI0NjsgfVxuICAuYnV0dG9uLmxpbmstYm9yZGVyLmxpbmstYm9yZGVyLWRhcmstYmx1ZTphZnRlcjpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAyMDcwOTsgfVxuXG4uYnV0dG9uLmxpbmstYm9yZGVyLnRleHQtZGFyay1ibHVlIHtcbiAgY29sb3I6ICMxMjMyNDY7IH1cbiAgLmJ1dHRvbi5saW5rLWJvcmRlci50ZXh0LWRhcmstYmx1ZTpob3ZlciB7XG4gICAgY29sb3I6ICMwMjA3MDkgIWltcG9ydGFudDsgfVxuXG4ubWVkaXVtLWJsdWUgYS5hY2NvcmRpb24tdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3OTg4OyB9XG5cbi5tZWRpdW0tYmx1ZSAuaG9tZS1saW5rIC5zbmlwcGV0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3OTg4OyB9XG5cbi5tZWRpdW0tYmx1ZSAuaG9tZS1saW5rOmhvdmVyIC5zbmlwcGV0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNTNjICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tbWVkaXVtLWJsdWUgaDEge1xuICBjb2xvcjogIzAwNzk4ODsgfVxuICAuc2VjdGlvbi1tZWRpdW0tYmx1ZSBoMSAuYm9yZGVyLWxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc5ODg7IH1cblxuLnNlY3Rpb24tbWVkaXVtLWJsdWUgLmhvbWVfX2hlcm8gaDEge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuc2VjdGlvbi1tZWRpdW0tYmx1ZSAuaG9tZV9faGVybyBoMSAuYm9yZGVyLWxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuLnNlY3Rpb24tbWVkaXVtLWJsdWUgLmNvbnRhY3RfZGV0YWlscyBoMSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLW1lZGl1bS1ibHVlIC50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnNlY3Rpb24tbWVkaXVtLWJsdWUgLmJ1dHRvbi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzk4ODtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnNlY3Rpb24tbWVkaXVtLWJsdWUgLmJ1dHRvbi1wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0YzU1OyB9XG5cbi5iZy1tZWRpdW0tYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc5ODg7IH1cbiAgLmJnLW1lZGl1bS1ibHVlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzk4ODsgfVxuXG4uYnV0dG9uLmJ1dHRvbi1tZWRpdW0tYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc5ODggIWltcG9ydGFudDsgfVxuICAuYnV0dG9uLmJ1dHRvbi1tZWRpdW0tYmx1ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjI2ZiAhaW1wb3J0YW50OyB9XG5cbi5idXR0b24uYnV0dG9uLXRleHQtbWVkaXVtLWJsdWUge1xuICBjb2xvcjogIzAwNzk4OCAhaW1wb3J0YW50OyB9XG4gIC5idXR0b24uYnV0dG9uLXRleHQtbWVkaXVtLWJsdWU6aG92ZXIge1xuICAgIGNvbG9yOiAjMDA2MjZmICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbGluay5saW5rLW1lZGl1bS1ibHVlIHtcbiAgY29sb3I6ICMwMDc5ODggIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwNzk4OCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxpbmsubGluay1tZWRpdW0tYmx1ZTpob3ZlciB7XG4gICAgY29sb3I6ICMwMDYyNmYgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDA2MjZmICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbWVkaXVtLWJsdWUge1xuICBjb2xvcjogIzAwNzk4ODsgfVxuICAudGV4dC1tZWRpdW0tYmx1ZSBoMSwgLnRleHQtbWVkaXVtLWJsdWUgaDIsIC50ZXh0LW1lZGl1bS1ibHVlIGg0LCAudGV4dC1tZWRpdW0tYmx1ZSBhLCAudGV4dC1tZWRpdW0tYmx1ZSBsaSB7XG4gICAgY29sb3I6ICMwMDc5ODg7IH1cblxuLmJvcmRlci1tZWRpdW0tYmx1ZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwNzk4ODsgfVxuXG4ubGluZS1tZWRpdW0tYmx1ZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwNzk4ODsgfVxuXG4uaGVhZGluZy11bmRlcmxpbmUudW5kZXJsaW5lLW1lZGl1bS1ibHVlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwNzk4ODsgfVxuXG4uYnV0dG9uLmxpbmstYm9yZGVyLmxpbmstYm9yZGVyLW1lZGl1bS1ibHVlOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwNzk4ODsgfVxuICAuYnV0dG9uLmxpbmstYm9yZGVyLmxpbmstYm9yZGVyLW1lZGl1bS1ibHVlOmFmdGVyOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAzNTNjOyB9XG5cbi5idXR0b24ubGluay1ib3JkZXIudGV4dC1tZWRpdW0tYmx1ZSB7XG4gIGNvbG9yOiAjMDA3OTg4OyB9XG4gIC5idXR0b24ubGluay1ib3JkZXIudGV4dC1tZWRpdW0tYmx1ZTpob3ZlciB7XG4gICAgY29sb3I6ICMwMDM1M2MgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtYmx1ZSBhLmFjY29yZGlvbi10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7IH1cblxuLmxpZ2h0LWJsdWUgLmhvbWUtbGluayAuc25pcHBldC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYzsgfVxuXG4ubGlnaHQtYmx1ZSAuaG9tZS1saW5rOmhvdmVyIC5zbmlwcGV0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDg1ZTY1ICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tbGlnaHQtYmx1ZSBoMSB7XG4gIGNvbG9yOiAjMGRhMWFjOyB9XG4gIC5zZWN0aW9uLWxpZ2h0LWJsdWUgaDEgLmJvcmRlci1saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRhMWFjOyB9XG5cbi5zZWN0aW9uLWxpZ2h0LWJsdWUgLmhvbWVfX2hlcm8gaDEge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuc2VjdGlvbi1saWdodC1ibHVlIC5ob21lX19oZXJvIGgxIC5ib3JkZXItbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG4uc2VjdGlvbi1saWdodC1ibHVlIC5jb250YWN0X2RldGFpbHMgaDEge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uc2VjdGlvbi1saWdodC1ibHVlIC50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnNlY3Rpb24tbGlnaHQtYmx1ZSAuYnV0dG9uLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRhMWFjO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuc2VjdGlvbi1saWdodC1ibHVlIC5idXR0b24tcHJpbWFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA5NzU3ZDsgfVxuXG4uYmctbGlnaHQtYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7IH1cbiAgLmJnLWxpZ2h0LWJsdWU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRhMWFjOyB9XG5cbi5idXR0b24uYnV0dG9uLWxpZ2h0LWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRhMWFjICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi5idXR0b24tbGlnaHQtYmx1ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBiOGI5NCAhaW1wb3J0YW50OyB9XG5cbi5idXR0b24uYnV0dG9uLXRleHQtbGlnaHQtYmx1ZSB7XG4gIGNvbG9yOiAjMGRhMWFjICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi5idXR0b24tdGV4dC1saWdodC1ibHVlOmhvdmVyIHtcbiAgICBjb2xvcjogIzBiOGI5NCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWxpbmsubGluay1saWdodC1ibHVlIHtcbiAgY29sb3I6ICMwZGExYWMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzBkYTFhYyAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxpbmsubGluay1saWdodC1ibHVlOmhvdmVyIHtcbiAgICBjb2xvcjogIzBiOGI5NCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwYjhiOTQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1saWdodC1ibHVlIHtcbiAgY29sb3I6ICMwZGExYWM7IH1cbiAgLnRleHQtbGlnaHQtYmx1ZSBoMSwgLnRleHQtbGlnaHQtYmx1ZSBoMiwgLnRleHQtbGlnaHQtYmx1ZSBoNCwgLnRleHQtbGlnaHQtYmx1ZSBhLCAudGV4dC1saWdodC1ibHVlIGxpIHtcbiAgICBjb2xvcjogIzBkYTFhYzsgfVxuXG4uYm9yZGVyLWxpZ2h0LWJsdWUge1xuICBib3JkZXItY29sb3I6ICMwZGExYWM7IH1cblxuLmxpbmUtbGlnaHQtYmx1ZSB7XG4gIGJvcmRlci1jb2xvcjogIzBkYTFhYzsgfVxuXG4uaGVhZGluZy11bmRlcmxpbmUudW5kZXJsaW5lLWxpZ2h0LWJsdWUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMGRhMWFjOyB9XG5cbi5idXR0b24ubGluay1ib3JkZXIubGluay1ib3JkZXItbGlnaHQtYmx1ZTphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwZGExYWM7IH1cbiAgLmJ1dHRvbi5saW5rLWJvcmRlci5saW5rLWJvcmRlci1saWdodC1ibHVlOmFmdGVyOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDg1ZTY1OyB9XG5cbi5idXR0b24ubGluay1ib3JkZXIudGV4dC1saWdodC1ibHVlIHtcbiAgY29sb3I6ICMwZGExYWM7IH1cbiAgLmJ1dHRvbi5saW5rLWJvcmRlci50ZXh0LWxpZ2h0LWJsdWU6aG92ZXIge1xuICAgIGNvbG9yOiAjMDg1ZTY1ICFpbXBvcnRhbnQ7IH1cblxuLmdyZWVuIGEuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5ZDUzMjsgfVxuXG4uZ3JlZW4gLmhvbWUtbGluayAuc25pcHBldC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5ZDUzMjsgfVxuXG4uZ3JlZW4gLmhvbWUtbGluazpob3ZlciAuc25pcHBldC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg2OWIyMCAhaW1wb3J0YW50OyB9XG5cbi5zZWN0aW9uLWdyZWVuIGgxIHtcbiAgY29sb3I6ICNiOWQ1MzI7IH1cbiAgLnNlY3Rpb24tZ3JlZW4gaDEgLmJvcmRlci1saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkNTMyOyB9XG5cbi5zZWN0aW9uLWdyZWVuIC5ob21lX19oZXJvIGgxIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnNlY3Rpb24tZ3JlZW4gLmhvbWVfX2hlcm8gaDEgLmJvcmRlci1saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLWdyZWVuIC5jb250YWN0X2RldGFpbHMgaDEge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uc2VjdGlvbi1ncmVlbiAudGV4dC13aGl0ZSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLWdyZWVuIC5idXR0b24tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWQ1MzI7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5zZWN0aW9uLWdyZWVuIC5idXR0b24tcHJpbWFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk4YjAyNDsgfVxuXG4uYmctZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkNTMyOyB9XG4gIC5iZy1ncmVlbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWQ1MzI7IH1cblxuLmJ1dHRvbi5idXR0b24tZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkNTMyICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi5idXR0b24tZ3JlZW46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWM1MjggIWltcG9ydGFudDsgfVxuXG4uYnV0dG9uLmJ1dHRvbi10ZXh0LWdyZWVuIHtcbiAgY29sb3I6ICNiOWQ1MzIgIWltcG9ydGFudDsgfVxuICAuYnV0dG9uLmJ1dHRvbi10ZXh0LWdyZWVuOmhvdmVyIHtcbiAgICBjb2xvcjogI2FhYzUyOCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWxpbmsubGluay1ncmVlbiB7XG4gIGNvbG9yOiAjYjlkNTMyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiOWQ1MzIgIWltcG9ydGFudDsgfVxuICAudGV4dC1saW5rLmxpbmstZ3JlZW46aG92ZXIge1xuICAgIGNvbG9yOiAjYWFjNTI4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2FhYzUyOCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWdyZWVuIHtcbiAgY29sb3I6ICNiOWQ1MzI7IH1cbiAgLnRleHQtZ3JlZW4gaDEsIC50ZXh0LWdyZWVuIGgyLCAudGV4dC1ncmVlbiBoNCwgLnRleHQtZ3JlZW4gYSwgLnRleHQtZ3JlZW4gbGkge1xuICAgIGNvbG9yOiAjYjlkNTMyOyB9XG5cbi5ib3JkZXItZ3JlZW4ge1xuICBib3JkZXItY29sb3I6ICNiOWQ1MzI7IH1cblxuLmxpbmUtZ3JlZW4ge1xuICBib3JkZXItY29sb3I6ICNiOWQ1MzI7IH1cblxuLmhlYWRpbmctdW5kZXJsaW5lLnVuZGVybGluZS1ncmVlbiB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiOWQ1MzI7IH1cblxuLmJ1dHRvbi5saW5rLWJvcmRlci5saW5rLWJvcmRlci1ncmVlbjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiOWQ1MzI7IH1cbiAgLmJ1dHRvbi5saW5rLWJvcmRlci5saW5rLWJvcmRlci1ncmVlbjphZnRlcjpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzg2OWIyMDsgfVxuXG4uYnV0dG9uLmxpbmstYm9yZGVyLnRleHQtZ3JlZW4ge1xuICBjb2xvcjogI2I5ZDUzMjsgfVxuICAuYnV0dG9uLmxpbmstYm9yZGVyLnRleHQtZ3JlZW46aG92ZXIge1xuICAgIGNvbG9yOiAjODY5YjIwICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci1iZy1wZXRhbHMtZ3JleS1kb3duIC5jZWxsLWJvcmRlcixcbi5yb3ctaW5uZXItYm9yZGVyLmJvcmRlci1wZXRhbHMtZ3JleS1kb3duIC5ncmlkLXgsXG4uYmctcGV0YWxzLWdyZXktZG93biB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvYmctcGV0YWxzLWdyZXktZG93bi5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uYm9yZGVyLWJnLXBldGFscy1ncmV5LXVwIC5jZWxsLWJvcmRlcixcbi5yb3ctaW5uZXItYm9yZGVyLmJvcmRlci1wZXRhbHMtZ3JleS11cCAuZ3JpZC14LFxuLmJnLXBldGFscy1ncmV5LXVwIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy9iZy1wZXRhbHMtZ3JleS11cC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uYm9yZGVyLWJnLXBldGFscy13aGl0ZS1kb3duIC5jZWxsLWJvcmRlcixcbi5yb3ctaW5uZXItYm9yZGVyLmJvcmRlci1wZXRhbHMtd2hpdGUtZG93biAuZ3JpZC14LFxuLmJnLXBldGFscy13aGl0ZS1kb3duIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy9iZy1wZXRhbHMtZ3JleS1kb3duLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5ib3JkZXItYmctcGV0YWxzLXdoaXRlLXVwIC5jZWxsLWJvcmRlcixcbi5yb3ctaW5uZXItYm9yZGVyLmJvcmRlci1wZXRhbHMtd2hpdGUtdXAgLmdyaWQteCxcbi5iZy1wZXRhbHMtd2hpdGUtdXAge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi8uLi8uLi91cGxvYWRzL2JnLXBldGFscy1ncmV5LXVwLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5jYXJkX3BhZ2VzIC5jYXJkIC5jYXJkLWljb24gc3ZnIHtcbiAgZmlsbDogIzBkYTFhYzsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIHNlbGVjdCBvcHRpb246Zmlyc3QtY2hpbGQge1xuICBjb2xvcjogI2UwZTFkYzsgfVxuXG5mb3JtI2Rlc2lnbkZvcm0gc2VsZWN0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzEyMzI0NjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMxMjMyNDY7IH1cblxuLnRpdGxlLWJhci1qdW1wLW1lbnUge1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgLnRpdGxlLWJhci1qdW1wLW1lbnUgLmp1bXAtbWVudSB7XG4gICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC50aXRsZS1iYXItanVtcC1tZW51IGZvcm0jZGVzaWduRm9ybSBzZWxlY3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjMyNDY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBjb2xvcjogIzEyMzI0NjsgfVxuXG4uaG9tZS1jb250YWN0IC5nZm9ybV9mb290ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmJvcmRlci1zb2xpZCB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG5cbi5ib3JkZXItc29saWQtdGhpY2sge1xuICBib3JkZXItd2lkdGg6IDEycHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLnBldGFsLW9mZnNldDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG9wYWNpdHk6IDAuNjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucGV0YWwtb2Zmc2V0OjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy9wYXR0ZXJuLXBldGFsc193aGl0ZS1zbWFsbC5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3MDBweCA2MDBweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMyNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wZXRhbC1vZmZzZXQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi8uLi8uLi91cGxvYWRzL3BhdHRlcm4tcGV0YWxzX3doaXRlLXNtYWxsLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTcwMHB4IDYwMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTc1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZXRhbC1vZmZzZXQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi8uLi8uLi91cGxvYWRzL3BhdHRlcm4tcGV0YWxzX3doaXRlLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjUwMHB4IDE3NnB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAzMDBweCk7IH0gfVxuXG4uc2VjdGlvbi1iZy1wZXRhbHMtZ3JleV91cDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnNlY3Rpb24tYmctcGV0YWxzLWdyZXlfdXA6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi8uLi91cGxvYWRzL2JvcmRlci1wZXRhbHMtZ3JleV91cC5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDUxcHggNTRweDtcbiAgICAgIGhlaWdodDogMzZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2VjdGlvbi1iZy1wZXRhbHMtZ3JleV91cDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvYm9yZGVyLXBldGFscy1ncmV5X3VwLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAycHggMTA2cHg7XG4gICAgICBoZWlnaHQ6IDY2cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLWJnLXBldGFscy1ncmV5X3VwOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy9ib3JkZXItcGV0YWxzLWdyZXlfdXAuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTRweCAxNjBweDtcbiAgICAgIGhlaWdodDogODZweDsgfSB9XG5cbi5zZWN0aW9uLWJnLXBldGFsc191cC13aGl0ZS1zZWFtbGVzczo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnNlY3Rpb24tYmctcGV0YWxzX3VwLXdoaXRlLXNlYW1sZXNzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy9ib3JkZXItcGV0YWxzX3VwLXdoaXRlLXNlYW1sZXNzLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNzBweCA4MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zZWN0aW9uLWJnLXBldGFsc191cC13aGl0ZS1zZWFtbGVzczo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvYm9yZGVyLXBldGFsc191cC13aGl0ZS1zZWFtbGVzcy5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMnB4IDExNnB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1iZy1wZXRhbHNfdXAtd2hpdGUtc2VhbWxlc3M6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi8uLi91cGxvYWRzL2JvcmRlci1wZXRhbHNfdXAtd2hpdGUtc2VhbWxlc3Muc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTRweCAxNzZweDsgfSB9XG5cbi5zZWN0aW9uLWJnLXBldGFsc191cC13aGl0ZS1zZWFtbGVzcyAuc2ltcGxlLXBhbmVsLWlubmVyIHtcbiAgei1pbmRleDogMTsgfVxuXG4uZGl2aWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmRpdmlkZXIuZ3JpZC1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDM7IH1cbiAgLmRpdmlkZXIuYmctcGV0YWxzLWdyZXktZG93biB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzZweCAyMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvZGl2aWRlci1wZXRhbHMtZ3JleS1kb3duLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjsgfVxuICAuZGl2aWRlci5iZy1wZXRhbHMtZ3JleS11cCB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzZweCAyMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvZGl2aWRlci1wZXRhbHMtZ3JleS11cC5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7IH1cbiAgLmRpdmlkZXIuYmctcGV0YWxzLXdoaXRlLWRvd24ge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDc2cHggMjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi8uLi91cGxvYWRzL2RpdmlkZXItcGV0YWxzLXdoaXRlLWRvd24uc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyOyB9XG4gIC5kaXZpZGVyLmJnLXBldGFscy13aGl0ZS11cCB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzZweCAyMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvZGl2aWRlci1wZXRhbHMtd2hpdGUtdXAuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyOyB9XG4gIC5kaXZpZGVyLmJnLXNvbGlkLWRhcmstZ3JleSB7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODg4ODsgfVxuICAuZGl2aWRlci5iZy1zb2xpZC1saWdodC1ncmV5IHtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMWRjOyB9XG4gIC5kaXZpZGVyLmJnLXNvbGlkLWxpZ2h0LWJsdWUge1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNvbHVtbi1kaXZpZGVyLXJpZ2h0IHtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMnB4OyB9XG4gICAgLmNvbHVtbi1kaXZpZGVyLXJpZ2h0LmRpdmlkZXItc29saWQtbGlnaHQtYmx1ZSB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwZGExYWM7IH0gfVxuXG4uYmctbGlnaHQtZ3JleSArIC5iZy1wZXRhbHMtZ3JleV91cCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUxZGM7IH1cblxuLmRpdmlkZXItZnJvbnQgKyAuZGl2aWRlciB7XG4gIHotaW5kZXg6IDM7IH1cblxuLmdhbGxlcnktY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUxZGM7IH1cbiAgLmdhbGxlcnktY2FyZCAuYm9yZGVyLWlubmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gIC5nYWxsZXJ5LWNhcmQgLmdhbGxlcnktbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2FsbGVyeS1jYXJkIC5nYWxsZXJ5LWluZm8ge1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nYWxsZXJ5LWNhcmQgaDYsIC5nYWxsZXJ5LWNhcmQgaDQge1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5iYW5uZXItcHJvbW8ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMGRhMWFjO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAyMHB4IGF1dG8gMDsgfVxuICAuYmFubmVyLXByb21vIC5iYW5uZXItcHJvbW8taW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDE0cHggMzBweDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYXZhaWxhYmlsaXR5LXN0YXR1cyB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3JkZXI6IDNweCBzb2xpZCAjMGRhMWFjOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmF2YWlsYWJpbGl0eS1zdGF0dXMge1xuICAgICAgZm9udC1zaXplOiAxLjhlbTsgfSB9XG4gIC5hdmFpbGFiaWxpdHktc3RhdHVzIC5hdmFpbGFiaWxpdHktbG9jYXRpb24ge1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbSAwLjNlbTsgfVxuICAuYXZhaWxhYmlsaXR5LXN0YXR1cyAuYXZhaWxhYmlsaXR5LW51bWJlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMCA2cHggNnB4IDA7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtIDAuM2VtOyB9XG5cbi50eXBlcy1vZi1jYXJlLWJveGVzIC5jYXJlLWJveCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwZGExYWM7XG4gIGNvbG9yOiAjMGRhMWFjO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50eXBlcy1vZi1jYXJlLWJveGVzIC5jYXJlLWJveCB7XG4gICAgICBmb250LXNpemU6IDEuNWVtOyB9IH1cbiAgLnR5cGVzLW9mLWNhcmUtYm94ZXMgLmNhcmUtYm94OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMTAwJTsgfVxuICAudHlwZXMtb2YtY2FyZS1ib3hlcyAuY2FyZS1ib3g6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvdHRvbTogMSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAudHlwZXMtb2YtY2FyZS1ib3hlcyAuY2FyZS1ib3ggLmNhcmUtYm94LWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgICAudHlwZXMtb2YtY2FyZS1ib3hlcyAuY2FyZS1ib3ggLmNhcmUtYm94LWNvbnRlbnQ6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAudHlwZXMtb2YtY2FyZS1ib3hlcyAuY2FyZS1ib3g6aG92ZXIge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7IH1cblxuLnJldmVhbC5yZXZlYWwtY2FyZS10eXBlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xuICB3aWR0aDogOTYlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi50eXBlcy1vZi1jYXJlLWxpc3Qge1xuICBmb250LXNpemU6IDEuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudHlwZXMtb2YtY2FyZS1saXN0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS40ZW07IH0gfVxuICAudHlwZXMtb2YtY2FyZS1saXN0IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDAuMmVtIGF1dG8gMC4yZW07XG4gICAgcGFkZGluZzogMC4yZW0gMC40ZW0gMDtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMwZGExYWM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnR5cGVzLW9mLWNhcmUtbGlzdCBzcGFuIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gYXV0byAwLjhlbTtcbiAgICAgICAgcGFkZGluZzogMC4yZW0gMC43ZW0gMDsgfSB9XG4gICAgLnR5cGVzLW9mLWNhcmUtbGlzdCBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwIG5vbmU7IH1cblxuLnByaWNpbmctdGFibGUtaGVhZGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZkNmU3MDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtYXJnaW4tdG9wOiAzZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICBwYWRkaW5nLXRvcDogMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJpY2luZy10YWJsZS1oZWFkZXIge1xuICAgICAgbWFyZ2luLXRvcDogNGVtOyB9IH1cbiAgLnByaWNpbmctdGFibGUtaGVhZGVyIC5hdmFpbGFiaWxpdHktc3RhdHVzLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnBsYy1wcmljaW5nIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZkNmU3MDtcbiAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAucGxjLXByaWNpbmcgLnByaWNpbmctaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgcGFkZGluZzogMC42ZW0gMWVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNmQ2ZTcwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnBsYy1wcmljaW5nIC5zdWl0ZS1pdGVtIHtcbiAgICBkaXNwbGF5OiAtbXMtZ3JpZDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIC1tcy1ncmlkLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtY2VsbCB7XG4gICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNmQ2ZTcwOyB9XG4gICAgICAucGxjLXByaWNpbmcgLnN1aXRlLWl0ZW0gLnN1aXRlLWNlbGwgLmNlbGwtaGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiAjMGRhMWFjOyB9XG4gICAgLnBsYy1wcmljaW5nIC5zdWl0ZS1pdGVtIC5zdWl0ZS10aXRsZSB7XG4gICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7IH1cbiAgICAucGxjLXByaWNpbmcgLnN1aXRlLWl0ZW0gLnN1aXRlLW1heC1yYWQge1xuICAgICAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDE7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAxOyB9XG4gICAgLnBsYy1wcmljaW5nIC5zdWl0ZS1pdGVtIC5zdWl0ZS1tYXgtZGFwIHtcbiAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfVxuICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtc2xpZGVyIHtcbiAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAyO1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfVxuICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtcmFkIHtcbiAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfVxuICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtZGFwIHtcbiAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfVxuICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtZGFpbHktZmVlIHtcbiAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAyO1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucGxjLXByaWNpbmcgLnN1aXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGxjLXByaWNpbmcgLnN1aXRlLWl0ZW0gLnN1aXRlLW1heC1yYWQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzZkNmU3MDsgfVxuICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtcmFkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM2ZDZlNzA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBsYy1wcmljaW5nIC5wcmljaW5nLWhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIHBhZGRpbmc6IDAuNGVtIDAuNmVtIDAuM2VtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2ZDZlNzA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRhMWFjO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAucGxjLXByaWNpbmcgLnN1aXRlLWl0ZW0ge1xuICAgICAgLW1zLWdyaWQtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIDFmcik7IH1cbiAgICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtY2VsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA1O1xuICAgICAgICBwYWRkaW5nOiAwLjZlbSAwLjVlbSAwLjRlbTtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAucGxjLXByaWNpbmcgLnN1aXRlLWl0ZW0gLnN1aXRlLXRpdGxlIHtcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDI7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM2ZDZlNzA7IH1cbiAgICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtbWF4LXJhZCB7XG4gICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMztcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDE7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM2ZDZlNzA7IH1cbiAgICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtbWF4LWRhcCB7XG4gICAgICAgIC1tcy1ncmlkLWNvbHVtbjogNDtcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDE7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM2ZDZlNzA7IH1cbiAgICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtc2xpZGVyIHtcbiAgICAgICAgLW1zLWdyaWQtcm93OiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uOiA2O1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDYgLyBzcGFuIDI7IH1cbiAgICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtcmFkIHtcbiAgICAgICAgLW1zLWdyaWQtcm93OiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uOiA1O1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDUgLyBzcGFuIDE7IH1cbiAgICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtZGFwIHtcbiAgICAgICAgLW1zLWdyaWQtcm93OiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uOiA4O1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDggLyBzcGFuIDE7IH1cbiAgICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtZGFpbHktZmVlIHtcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAzO1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBsYy1wcmljaW5nIC5wcmljaW5nLWhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIHBhZGRpbmc6IDAuNmVtIDFlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNmQ2ZTcwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYztcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnBsYy1wcmljaW5nIC5zdWl0ZS1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLW1zLWdyaWQtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIDFmcik7IH1cbiAgICAgIC5wbGMtcHJpY2luZyAuc3VpdGUtaXRlbSAuc3VpdGUtY2VsbCB7XG4gICAgICAgIHBhZGRpbmc6IDAuOGVtIDFlbSAwLjZlbTtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAucGxjLXByaWNpbmcgLnN1aXRlLWl0ZW0gLnN1aXRlLXRpdGxlIHtcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAxO1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzZkNmU3MDsgfVxuICAgICAgLnBsYy1wcmljaW5nIC5zdWl0ZS1pdGVtIC5zdWl0ZS1tYXgtcmFkIHtcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAzO1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzZkNmU3MDsgfVxuICAgICAgLnBsYy1wcmljaW5nIC5zdWl0ZS1pdGVtIC5zdWl0ZS1tYXgtZGFwIHtcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uOiA0O1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzZkNmU3MDsgfVxuICAgICAgLnBsYy1wcmljaW5nIC5zdWl0ZS1pdGVtIC5zdWl0ZS1zbGlkZXIge1xuICAgICAgICAtbXMtZ3JpZC1yb3c6IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDY7XG4gICAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAyO1xuICAgICAgICBncmlkLWNvbHVtbjogNiAvIHNwYW4gMjsgfVxuICAgICAgLnBsYy1wcmljaW5nIC5zdWl0ZS1pdGVtIC5zdWl0ZS1yYWQge1xuICAgICAgICAtbXMtZ3JpZC1yb3c6IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDU7XG4gICAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xuICAgICAgICBncmlkLWNvbHVtbjogNSAvIHNwYW4gMTsgfVxuICAgICAgLnBsYy1wcmljaW5nIC5zdWl0ZS1pdGVtIC5zdWl0ZS1kYXAge1xuICAgICAgICAtbXMtZ3JpZC1yb3c6IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDg7XG4gICAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xuICAgICAgICBncmlkLWNvbHVtbjogOCAvIHNwYW4gMTsgfVxuICAgICAgLnBsYy1wcmljaW5nIC5zdWl0ZS1pdGVtIC5zdWl0ZS1kYWlseS1mZWUge1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiA2O1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA2OyB9IH1cbiAgLnBsYy1wcmljaW5nIC5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIEN1c3RvbSBhcnJvdyBzaXRzIG9uIHRvcCBvZiB0aGUgc2VsZWN0IC0gY291bGQgYmUgYW4gaW1hZ2UsIFNWRywgaWNvbiBmb250LCBldGMuIG9yIHRoZSBhcnJvdyBjb3VsZCBqdXN0IGJha2VkIGludG8gdGhlIGJnIGltYWdlIG9uIHRoZSBzZWxlY3QgKi8gfVxuICAgIC5wbGMtcHJpY2luZyAuZHJvcGRvd24gc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzLjNlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAvKiBQcmVmaXhlZCBib3gtc2l6aW5nIHJ1bGVzIG5lY2Vzc2FyeSBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAvKiBSZW1vdmUgc2VsZWN0IHN0eWxpbmcgKi9cbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAvKiBNYWdpYyBmb250IHNpemUgbnVtYmVyIHRvIHByZXZlbnQgaU9TIHRleHQgem9vbSAqL1xuICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgIGNvbG9yOiAjMGRhMWFjO1xuICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNmQ2ZTcwOyB9XG4gICAgLnBsYy1wcmljaW5nIC5kcm9wZG93biBzZWxlY3QsXG4gICAgLnBsYy1wcmljaW5nIC5kcm9wZG93biBsYWJlbCB7XG4gICAgICBjb2xvcjogIzBkYTFhYzsgfVxuICAgIC5wbGMtcHJpY2luZyAuZHJvcGRvd246OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogOXB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAxZW07XG4gICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDEyJyUzRSUzQ3BvbHlnb24gZmlsbD0ncmdiKDEwMiwxMDIsMTAyKScgcG9pbnRzPSc4LDEyIDAsMCAxNiwwJy8lM0UlM0Mvc3ZnJTNFXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAvKiBUaGVzZSBoYWNrcyBtYWtlIHRoZSBzZWxlY3QgYmVoaW5kIHRoZSBhcnJvdyBjbGlja2FibGUgaW4gc29tZSBicm93c2VycyAqL1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5sb2NhdGlvbi1zZWFyY2gge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG4ubG9jYXRpb24tc2VhcmNoIC5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogQ3VzdG9tIGFycm93IHNpdHMgb24gdG9wIG9mIHRoZSBzZWxlY3QgLSBjb3VsZCBiZSBhbiBpbWFnZSwgU1ZHLCBpY29uIGZvbnQsIGV0Yy4gb3IgdGhlIGFycm93IGNvdWxkIGp1c3QgYmFrZWQgaW50byB0aGUgYmcgaW1hZ2Ugb24gdGhlIHNlbGVjdCAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5sb2NhdGlvbi1zZWFyY2ggLmRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmxvY2F0aW9uLXNlYXJjaCAuZHJvcGRvd24gc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIuMWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLyogUHJlZml4ZWQgYm94LXNpemluZyBydWxlcyBuZWNlc3NhcnkgZm9yIG9sZGVyIGJyb3dzZXJzICovXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIFJlbW92ZSBzZWxlY3Qgc3R5bGluZyAqL1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIE1hZ2ljIGZvbnQgc2l6ZSBudW1iZXIgdG8gcHJldmVudCBpT1MgdGV4dCB6b29tICovXG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBjb2xvcjogIzBkYTFhYztcbiAgICBwYWRkaW5nOiAwLjVlbSAxLjVlbSAwLjRlbSAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMGRhMWFjO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubG9jYXRpb24tc2VhcmNoIC5kcm9wZG93biBzZWxlY3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDsgfSB9XG4gIC5sb2NhdGlvbi1zZWFyY2ggLmRyb3Bkb3duIHNlbGVjdCxcbiAgLmxvY2F0aW9uLXNlYXJjaCAuZHJvcGRvd24gbGFiZWwge1xuICAgIGNvbG9yOiAjMGRhMWFjOyB9XG4gICAgLmxvY2F0aW9uLXNlYXJjaCAuZHJvcGRvd24gc2VsZWN0IG9wdGdyb3VwLFxuICAgIC5sb2NhdGlvbi1zZWFyY2ggLmRyb3Bkb3duIGxhYmVsIG9wdGdyb3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC5sb2NhdGlvbi1zZWFyY2ggLmRyb3Bkb3duOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDlweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMWVtO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgei1pbmRleDogMjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxMiclM0UlM0Nwb2x5Z29uIGZpbGw9J3JnYigxMDIsMTAyLDEwMiknIHBvaW50cz0nOCwxMiAwLDAgMTYsMCcvJTNFJTNDL3N2ZyUzRVwiKSAwIDAgbm8tcmVwZWF0O1xuICAgIC8qIFRoZXNlIGhhY2tzIG1ha2UgdGhlIHNlbGVjdCBiZWhpbmQgdGhlIGFycm93IGNsaWNrYWJsZSBpbiBzb21lIGJyb3dzZXJzICovXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmxvY2F0aW9uLXNlYXJjaCAubG9jYXRpb24tYXZhaWxhYmlsaXR5IHtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubG9jYXRpb24tc2VhcmNoIC5sb2NhdGlvbi1hdmFpbGFiaWxpdHkgLmZsZXgtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmxvY2F0aW9uLXNlYXJjaCAubG9jYXRpb24tYXZhaWxhYmlsaXR5IC5hdmFpbGFiaWxpdHktdGV4dCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzBkYTFhYztcbiAgICBoZWlnaHQ6IDIuMWVtO1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbSAwLjNlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmxvY2F0aW9uLXNlYXJjaCAubG9jYXRpb24tYXZhaWxhYmlsaXR5IC5hdmFpbGFiaWxpdHktdGV4dCB7XG4gICAgICAgIGJvcmRlci10b3A6IDAgbm9uZTtcbiAgICAgICAgd2lkdGg6IDYwJTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5sb2NhdGlvbi1zZWFyY2ggLmxvY2F0aW9uLWF2YWlsYWJpbGl0eSAuYXZhaWxhYmlsaXR5LXRleHQge1xuICAgICAgICBib3JkZXItbGVmdDogMCBub25lOyB9IH1cbiAgLmxvY2F0aW9uLXNlYXJjaCAubG9jYXRpb24tYXZhaWxhYmlsaXR5IC5hdmFpbGFiaWxpdHktbnVtYmVyIHtcbiAgICBoZWlnaHQ6IDIuMWVtO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwZGExYWM7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtIDAuM2VtO1xuICAgIGJvcmRlci1sZWZ0OiAwIG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5sb2NhdGlvbi1zZWFyY2ggLmxvY2F0aW9uLWF2YWlsYWJpbGl0eSAuYXZhaWxhYmlsaXR5LW51bWJlciB7XG4gICAgICAgIGJvcmRlci10b3A6IDAgbm9uZTtcbiAgICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5sb2NhdGlvbi1zZWFyY2ggLmxvY2F0aW9uLWF2YWlsYWJpbGl0eSAuYXZhaWxhYmlsaXR5LW51bWJlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmxvY2F0aW9uLXNlYXJjaCAubG9jYXRpb24tYXZhaWxhYmlsaXR5IC5hdmFpbGFiaWxpdHktbGluayB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5sb2NhdGlvbi1zZWFyY2ggLmxvY2F0aW9uLWF2YWlsYWJpbGl0eSAuYXZhaWxhYmlsaXR5LWxpbmsgYSB7XG4gICAgaGVpZ2h0OiAxLjk1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW0gMC4zZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmxvY2F0aW9uLXNlYXJjaCAubG9jYXRpb24tYXZhaWxhYmlsaXR5IC5hdmFpbGFiaWxpdHktbGluayBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDsgfSB9XG5cbiNzZWFyY2gtbW9kYWwucmV2ZWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYzsgfVxuICAjc2VhcmNoLW1vZGFsLnJldmVhbCAucmV2ZWFsLWlubmVyIHtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9XG5cbnVsLnRhYnMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIHVsLnRhYnMgbGkudGFicy10aXRsZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiA0cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHVsLnRhYnMgbGkudGFicy10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gICAgdWwudGFicyBsaS50YWJzLXRpdGxlID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGRhMWFjOyB9XG4gICAgICB1bC50YWJzIGxpLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICB1bC50YWJzIGxpLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAuNTVlbSAuNmVtIC40ZW07IH0gfVxuXG4udGVzdGltb25pYWxzLWxpZ2h0Ym94LWdyaWQgLnRlc3RpbW9uaWFsLXdyYXBwZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UwZTFkYzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudGVzdGltb25pYWxzLWxpZ2h0Ym94LWdyaWQgLnRlc3RpbW9uaWFsLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMjBweCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC50ZXN0aW1vbmlhbC1yZXZlYWwge1xuICAgIHdpZHRoOiA5MnZ3ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiA0dncgIWltcG9ydGFudDtcbiAgICBsZWZ0OiA0dncgIWltcG9ydGFudDtcbiAgICBib3R0b206IDR2dyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi50ZXN0aW1vbmlhbC1yZXZlYWwgcCB7XG4gIGZvbnQtc2l6ZTogMTEwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5hbGwtbG9jYXRpb24tY29udGFjdHMgLmNvbHVtbi1kaXZpZGVyLXJpZ2h0Om50aC1jaGlsZCgybikge1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH1cbiAgLmFsbC1sb2NhdGlvbi1jb250YWN0cyAuZ3JpZC1wYWRkaW5nLXggPiAuY29sdW1uLWRpdmlkZXItcmlnaHQubWVkaXVtLTY6bnRoLWNoaWxkKDJuKSAuY2VsbC1ib3JkZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5hbGwtbG9jYXRpb24tY29udGFjdHMgLmNvbHVtbi1kaXZpZGVyLXJpZ2h0Om50aC1jaGlsZCgzbikge1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH1cbiAgLmFsbC1sb2NhdGlvbi1jb250YWN0cyAuZ3JpZC1wYWRkaW5nLXggPiAuY29sdW1uLWRpdmlkZXItcmlnaHQubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI5JTsgfVxuICAuYWxsLWxvY2F0aW9uLWNvbnRhY3RzIC5ncmlkLXBhZGRpbmcteCA+IC5jb2x1bW4tZGl2aWRlci1yaWdodC5sYXJnZS00Om50aC1jaGlsZCgyKSxcbiAgLmFsbC1sb2NhdGlvbi1jb250YWN0cyAuZ3JpZC1wYWRkaW5nLXggPiAuY29sdW1uLWRpdmlkZXItcmlnaHQubGFyZ2UtNDpudGgtY2hpbGQoNSkge1xuICAgIHdpZHRoOiA0MiU7XG4gICAgbWF4LXdpZHRoOiA0MiU7IH1cbiAgICAuYWxsLWxvY2F0aW9uLWNvbnRhY3RzIC5ncmlkLXBhZGRpbmcteCA+IC5jb2x1bW4tZGl2aWRlci1yaWdodC5sYXJnZS00Om50aC1jaGlsZCgyKSAuY2VsbC1ib3JkZXIsXG4gICAgLmFsbC1sb2NhdGlvbi1jb250YWN0cyAuZ3JpZC1wYWRkaW5nLXggPiAuY29sdW1uLWRpdmlkZXItcmlnaHQubGFyZ2UtNDpudGgtY2hpbGQoNSkgLmNlbGwtYm9yZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5hbGwtbG9jYXRpb24tY29udGFjdHMgLmdyaWQtcGFkZGluZy14ID4gLmNvbHVtbi1kaXZpZGVyLXJpZ2h0LmxhcmdlLTQ6bnRoLWNoaWxkKDMpLFxuICAuYWxsLWxvY2F0aW9uLWNvbnRhY3RzIC5ncmlkLXBhZGRpbmcteCA+IC5jb2x1bW4tZGl2aWRlci1yaWdodC5sYXJnZS00Om50aC1jaGlsZCg2KSB7XG4gICAgd2lkdGg6IDI5JTsgfVxuICAgIC5hbGwtbG9jYXRpb24tY29udGFjdHMgLmdyaWQtcGFkZGluZy14ID4gLmNvbHVtbi1kaXZpZGVyLXJpZ2h0LmxhcmdlLTQ6bnRoLWNoaWxkKDMpIC5jZWxsLWJvcmRlcixcbiAgICAuYWxsLWxvY2F0aW9uLWNvbnRhY3RzIC5ncmlkLXBhZGRpbmcteCA+IC5jb2x1bW4tZGl2aWRlci1yaWdodC5sYXJnZS00Om50aC1jaGlsZCg2KSAuY2VsbC1ib3JkZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc2luZ2xlLXN1aXRlIC5zdGF0dXMtbGFiZWwtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0yMHB4OyB9XG4gIC5zaW5nbGUtc3VpdGUgLnN0YXR1cy1sYWJlbC10ZXh0IC5jZWxsLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweCA4cHg7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzYpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzYpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbGFyZ2U6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDcwKSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDU3KSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDM2KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4qL1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC40LXJjMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG4gIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovIH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NC4wNjI1ZW0meGxhcmdlPTg3LjVlbSZ4eGxhcmdlPTEyNWVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIlBlcnBldHVhXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMyMjI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93OjpiZWZvcmUsIC5yb3c6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAucm93OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjQ2ODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC40Njg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xLjU2MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEuNTYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjU2MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xLjU2MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtOyB9IH1cbiAgICAucm93IC5yb3cuY29sbGFwc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gICAgLnJvdy5leHBhbmRlZCAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5yb3c6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC40Njg3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNDY4NzVyZW07IH1cbiAgLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAucm93Lmd1dHRlci1sYXJnZSA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLWxhcmdlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC40Njg3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH0gfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQ2ODc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNDY4NzVyZW07IH1cblxuLnNtYWxsLWNlbnRlcmVkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuc21hbGwtY2VudGVyZWQsIC5zbWFsbC1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdW5jZW50ZXJlZCxcbi5zbWFsbC1wdXNoLTAsXG4uc21hbGwtcHVsbC0wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLm1lZGl1bS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5tZWRpdW0tY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5tZWRpdW0tY2VudGVyZWQsIC5tZWRpdW0tY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdW5jZW50ZXJlZCxcbiAgLm1lZGl1bS1wdXNoLTAsXG4gIC5tZWRpdW0tcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5sYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTsgfVxuICAubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5sYXJnZS1jZW50ZXJlZCwgLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdW5jZW50ZXJlZCxcbiAgLmxhcmdlLXB1c2gtMCxcbiAgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC54bGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC54bGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC54bGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAueGxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAueGxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAueGxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAueGxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAueGxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAueGxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAueGxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTggPiAuY29sdW1uLCAueGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLnhsYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnhsYXJnZS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueGxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC54bGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLnhsYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9XG4gIC54bGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC54bGFyZ2UtY2VudGVyZWQsIC54bGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC54bGFyZ2UtdW5jZW50ZXJlZCxcbiAgLnhsYXJnZS1wdXNoLTAsXG4gIC54bGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLnh4bGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLnh4bGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLnh4bGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAueHhsYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAueHhsYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueHhsYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueHhsYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueHhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueHhsYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueHhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAueHhsYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAueHhsYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueHhsYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueHhsYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueHhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueHhsYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueHhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAueHhsYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueHhsYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC54eGxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54eGxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54eGxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnh4bGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLnh4bGFyZ2UtY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9XG4gIC54eGxhcmdlLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAueHhsYXJnZS1jZW50ZXJlZCwgLnh4bGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC54eGxhcmdlLXVuY2VudGVyZWQsXG4gIC54eGxhcmdlLXB1c2gtMCxcbiAgLnh4bGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuY29sdW1uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gICAgICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjQ2ODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC40Njg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xLjU2MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEuNTYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjU2MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xLjU2MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtOyB9IH1cbiAgICAucm93IC5yb3cuY29sbGFwc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gICAgLnJvdy5leHBhbmRlZCAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5yb3c6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5yb3cuaXMtY29sbGFwc2UtY2hpbGQsXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zID4gLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1yaWdodDogMC40Njg3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtO1xuICBtaW4td2lkdGg6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTsgfSB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC40Njg3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLnhsYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAueGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueGxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAueGxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueGxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLnhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gICAgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC54bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAueHhsYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54eGxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnh4bGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnh4bGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54eGxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueHhsYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueHhsYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueHhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueHhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC54eGxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueHhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueHhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC54eGxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTggPiAuY29sdW1uLCAueHhsYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgICAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9IH1cblxuLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQ2ODc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNDY4NzVyZW07XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNDY4NzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eGxhcmdlLTIsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eGxhcmdlLTUsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNywgLmdyaWQteCA+IC54eGxhcmdlLTgsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC40Njg3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC40Njg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjkzNzVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjQ2ODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC40Njg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuOTM3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuOTM3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDAuOTM3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDAuOTM3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDAuOTM3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjkzNzVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC40Njg3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjQ2ODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC40Njg3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjQ2ODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQ2ODc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNDY4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC54bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDAuOTM3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDAuOTM3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMC45Mzc1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuOTM3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDAuOTM3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuOTM3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDAuOTM3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC40Njg3NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjQ2ODc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC40Njg3NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNDY4NzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjQ2ODc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC40Njg3NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNDY4NzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjQ2ODc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC40Njg3NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNDY4NzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNDY4NzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuNDY4NzVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54eGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eGxhcmdlLTMsIC5ncmlkLXkgPiAueHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eGxhcmdlLTYsIC5ncmlkLXkgPiAueHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eGxhcmdlLTksIC5ncmlkLXkgPiAueHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC40Njg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNDY4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC40Njg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNDY4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjQ2ODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC40Njg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC45Mzc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjQ2ODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNDY4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDAuOTM3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuOTM3NXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjQ2ODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC40Njg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC45Mzc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjQ2ODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNDY4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMC45Mzc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDAuOTM3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAwLjkzNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuOTM3NXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDAuOTM3NXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJQZXJwZXR1YVwiLCBcIkdlb3JnaWFcIiwgc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICM2ZDZlNzA7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNHJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS40cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjRyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNHJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNHJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS40cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDIuNDM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMwZGExYWM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMGI4YTk0OyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzZkNmU3MDtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAycmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNmQ2ZTcwOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzIyMjsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzIyMjsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZkNmU3MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTFkYztcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMWRjO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjMjIyOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciwgLmFyY2hpdmUtaGVhZGluZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAueGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBcIlBlcnBldHVhXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjtcbiAgcGFkZGluZzogMC43NWVtIDEuOGVtIDAuNTVlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYztcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBiODk5MjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC43cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGE4MThhO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDZlNzA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU3NTg1YTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uYWNjZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRhMWFjO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5hY2NlbnQ6aG92ZXIsIC5idXR0b24uYWNjZW50OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTgxOGE7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLmxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5saWdodDpob3ZlciwgLmJ1dHRvbi5saWdodDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kYXJrOmhvdmVyLCAuYnV0dG9uLmRhcms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDZlNzA7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hY2NlbnQsIC5idXR0b25bZGlzYWJsZWRdLmFjY2VudCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hY2NlbnQsIC5idXR0b24uZGlzYWJsZWQuYWNjZW50OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFjY2VudDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWNjZW50LCAuYnV0dG9uW2Rpc2FibGVkXS5hY2NlbnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFjY2VudDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5saWdodCwgLmJ1dHRvbltkaXNhYmxlZF0ubGlnaHQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQubGlnaHQsIC5idXR0b24uZGlzYWJsZWQubGlnaHQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQubGlnaHQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmxpZ2h0LCAuYnV0dG9uW2Rpc2FibGVkXS5saWdodDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ubGlnaHQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuZGFyaywgLmJ1dHRvbltkaXNhYmxlZF0uZGFyayB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5kYXJrLCAuYnV0dG9uLmRpc2FibGVkLmRhcms6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuZGFyazpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uZGFyaywgLmJ1dHRvbltkaXNhYmxlZF0uZGFyazpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uZGFyazpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZGExYWM7XG4gICAgY29sb3I6ICMwZGExYWM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzUxNTY7XG4gICAgICBjb2xvcjogIzA3NTE1NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZGExYWM7XG4gICAgICAgIGNvbG9yOiAjMGRhMWFjOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGRhMWFjO1xuICAgICAgY29sb3I6ICMwZGExYWM7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwNzUxNTY7XG4gICAgICAgIGNvbG9yOiAjMDc1MTU2OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkYTFhYztcbiAgICAgICAgICBjb2xvcjogIzBkYTFhYzsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNmQ2ZTcwO1xuICAgICAgY29sb3I6ICM2ZDZlNzA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzczNzM4O1xuICAgICAgICBjb2xvcjogIzM3MzczODsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZkNmU3MDtcbiAgICAgICAgICBjb2xvcjogIzZkNmU3MDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFjY2VudCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGRhMWFjO1xuICAgICAgY29sb3I6ICMwZGExYWM7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFjY2VudDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWNjZW50OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDc1MTU2O1xuICAgICAgICBjb2xvcjogIzA3NTE1NjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hY2NlbnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFjY2VudDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFjY2VudDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWNjZW50OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkYTFhYztcbiAgICAgICAgICBjb2xvcjogIzBkYTFhYzsgfVxuICAgIC5idXR0b24uaG9sbG93LmxpZ2h0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cubGlnaHQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmxpZ2h0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBncmF5O1xuICAgICAgICBjb2xvcjogZ3JheTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5saWdodDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cubGlnaHQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5saWdodDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cubGlnaHQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGFyayB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmRhcms6aG92ZXIsIC5idXR0b24uaG9sbG93LmRhcms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmRhcms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRhcms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5kYXJrOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kYXJrOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzBkYTFhYztcbiAgICBjb2xvcjogIzBkYTFhYzsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwNzUxNTY7XG4gICAgICBjb2xvcjogIzA3NTE1NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkYTFhYztcbiAgICAgICAgY29sb3I6ICMwZGExYWM7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkYTFhYztcbiAgICAgIGNvbG9yOiAjMGRhMWFjOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzA3NTE1NjtcbiAgICAgICAgY29sb3I6ICMwNzUxNTY7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZGExYWM7XG4gICAgICAgICAgY29sb3I6ICMwZGExYWM7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZkNmU3MDtcbiAgICAgIGNvbG9yOiAjNmQ2ZTcwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzNzM3Mzg7XG4gICAgICAgIGNvbG9yOiAjMzczNzM4OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2ZDZlNzA7XG4gICAgICAgICAgY29sb3I6ICM2ZDZlNzA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5hY2NlbnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBkYTFhYztcbiAgICAgIGNvbG9yOiAjMGRhMWFjOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFjY2VudDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hY2NlbnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwNzUxNTY7XG4gICAgICAgIGNvbG9yOiAjMDc1MTU2OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWNjZW50OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFjY2VudDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWNjZW50OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFjY2VudDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZGExYWM7XG4gICAgICAgICAgY29sb3I6ICMwZGExYWM7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWNjZW50LCAuYnV0dG9uLmNsZWFyLmFjY2VudC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hY2NlbnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFjY2VudDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hY2NlbnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWNjZW50OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hY2NlbnQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWNjZW50OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFjY2VudDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5saWdodCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIubGlnaHQ6aG92ZXIsIC5idXR0b24uY2xlYXIubGlnaHQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IGdyYXk7XG4gICAgICAgIGNvbG9yOiBncmF5OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIubGlnaHQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIubGlnaHQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmxpZ2h0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmxpZ2h0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5saWdodCwgLmJ1dHRvbi5jbGVhci5saWdodC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5saWdodFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIubGlnaHQ6aG92ZXIsIC5idXR0b24uY2xlYXIubGlnaHQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIubGlnaHQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmxpZ2h0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmxpZ2h0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmxpZ2h0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRhcmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmRhcms6aG92ZXIsIC5idXR0b24uY2xlYXIuZGFyazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5kYXJrOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRhcms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmRhcms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGFyazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuZGFyaywgLmJ1dHRvbi5jbGVhci5kYXJrLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRhcmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmRhcms6aG92ZXIsIC5idXR0b24uY2xlYXIuZGFyazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kYXJrOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5kYXJrOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmRhcms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGFyazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMS44ZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMGRhMWFjOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMGRhMWFjOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM2ZDZlNzA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWNjZW50OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkYTFhYzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5saWdodDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuZGFyazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZkNmU3MDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNik7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMjI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjgpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggIzZkNmU3MDtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNmQ2ZTcwOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUxZGM7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4OyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmQ2ZTcwO1xuICBiYWNrZ3JvdW5kOiAjZTBlMWRjO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmQ2ZTcwOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmQ2ZTcwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzLCAxNjEsIDE3MiUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzIyMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjNmQ2ZTcwO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTFkYztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWNlYTsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZDZlNzA7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwZGExYWM7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2ZDZlNzA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBiOGI5NDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6ICcrJzsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDEzJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmQ2ZTcwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzIyMjsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzZkNmU3MDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgbGkge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjNyZW0gMC4zNXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjVyZW0gMS4zcmVtIDAuMzVyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwZGExYWMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzBkYTFhYyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMGRhMWFjO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzBkYTFhYztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNmQ2ZTcwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5hY2NlbnQge1xuICAgIGJhY2tncm91bmQ6ICMwZGExYWM7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLmxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5kYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogIzZkNmU3MDsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMwZGExYWM7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzZkNmU3MDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjdyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGE4MThhO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmU3MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU3NTg1YTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuYWNjZW50IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFjY2VudCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFjY2VudCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTgxOGE7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLmxpZ2h0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmxpZ2h0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAubGlnaHQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5kYXJrIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmRhcmsgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5kYXJrIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMyMjI7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJmOWZjO1xuICAgIGNvbG9yOiAjMjIyOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZTllYTtcbiAgICBjb2xvcjogIzIyMjsgfVxuICAuY2FsbG91dC5hY2NlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMmY5ZmM7XG4gICAgY29sb3I6ICMyMjI7IH1cbiAgLmNhbGxvdXQubGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjMjIyOyB9XG4gIC5jYWxsb3V0LmRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gICAgY29sb3I6ICMyMjI7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTtcbiAgICBjb2xvcjogIzIyMjsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5O1xuICAgIGNvbG9yOiAjMjIyOyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlNGUxO1xuICAgIGNvbG9yOiAjMjIyOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTFkYztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzIyMjsgfVxuICAuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWRpdmlkZXIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2UwZTFkYzsgfVxuICAuY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1pbWFnZSB7XG4gIG1pbi1oZWlnaHQ6IDFweDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzIyMjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgYSxcbiAgLm1lbnUgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjNyZW0gMC4zNXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LnhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUueHhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueHhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi10b3AgYSwgLm1lbnUuaWNvbi1yaWdodCBhLCAubWVudS5pY29uLWJvdHRvbSBhLCAubWVudS5pY29uLWxlZnQgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLWxlZnQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzBkYTFhYzsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMwZGExYWM7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSwgLnRleHQtY2VudGVyIC5tZW51LmJ1dHRvbi1ncm91cCBsaSwgLmFyY2hpdmUtaGVhZGluZyAubWVudS5idXR0b24tZ3JvdXAgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGksIC50ZXh0LWNlbnRlciAubWVudS5idXR0b24tZ3JvdXAgbGkgLnN1Ym1lbnUgbGksIC5hcmNoaXZlLWhlYWRpbmcgLm1lbnUuYnV0dG9uLWdyb3VwIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS4zcmVtIDAuMzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZlZmVmZSwgMCAxNHB4IDAgI2ZlZmVmZTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzZkNmU3MDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM2ZDZlNzAsIDAgMTRweCAwICM2ZDZlNzA7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjVyZW0gMS4zcmVtIDAuMzVyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS4zcmVtIDAuMzVyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGRhMWFjOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZlZmVmZTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBkYTFhYyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmQ2ZTcwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbi5kcm9wZG93bi5tZW51IGEge1xuICBwYWRkaW5nOiAwLjVyZW0gMS4zcmVtIDAuMzVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwZGExYWM7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmVmZWZlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZWZlZmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZlZmVmZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmVmZWZlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZWZlZmU7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZDZlNzA7XG4gIGJhY2tncm91bmQ6ICMxMjMyNDY7IH1cbiAgLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjNyZW0gMC4zNXJlbTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmVmZWZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMGRhMWFjO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzBkYTFhYztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNmQ2ZTcwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5hY2NlbnQge1xuICAgIGJhY2tncm91bmQ6ICMwZGExYWM7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLmxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC5kYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlMGUxZGM7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2UwZTFkYzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNWVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDZlNzA7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlMGUxZGM7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMGRhMWFjO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzZkNmU3MDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBhYic7IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGJiJzsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmU3MDsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDZlNzA7IH1cbiAgLnByb2dyZXNzLmFjY2VudCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7IH1cbiAgLnByb2dyZXNzLmxpZ2h0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAucHJvZ3Jlc3MuZGFyayAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRhMWFjO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTFkYztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZDZlNzA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRhMWFjO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI4OTkyOyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMCBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICM2ZDZlNzA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgY29udGVudDogJyc7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGRhMWFjOyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjc1cmVtOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICB0aGVhZCwgdGJvZHksIHRmb290IHtcbiAgICBib3JkZXI6IDBweCBzb2xpZCAjZjFmMWYxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjYyNXJlbSAwLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMyMjI7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMyMjI7IH1cbiAgdGhlYWQgdHIsIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCwgdGhlYWQgdGQsIHRmb290IHRoLCB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjYyNXJlbSAwLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCwgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMC42MjVyZW0gMC41cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkICNmMWYxZjE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMGRhMWFjOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMGVhZmJiOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMmVtIDAuNmVtO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMwZGExYWM7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzBkYTFhYztcbiAgICAgIGNvbG9yOiAjMGI4YTk0OyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwZGExYWM7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICM2ZDZlNzA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMWVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMTMsIDE2MSwgMTcyLCAwLjUpOyB9XG4gIGEudGh1bWJuYWlsIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMxMjMyNDY7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzIyMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSwgLnRleHQtY2VudGVyIC50b29sdGlwLmJvdHRvbS5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmFyY2hpdmUtaGVhZGluZyAudG9vbHRpcC5ib3R0b20uYnV0dG9uLWdyb3VwOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUsIC50ZXh0LWNlbnRlciAudG9vbHRpcC50b3AuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5hcmNoaXZlLWhlYWRpbmcgLnRvb2x0aXAudG9wLmJ1dHRvbi1ncm91cDo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUsIC50ZXh0LWNlbnRlciAudG9vbHRpcC5sZWZ0LmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYXJjaGl2ZS1oZWFkaW5nIC50b29sdGlwLmxlZnQuYnV0dG9uLWdyb3VwOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3JlLCAudGV4dC1jZW50ZXIgLnRvb2x0aXAucmlnaHQuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5hcmNoaXZlLWhlYWRpbmcgLnRvb2x0aXAucmlnaHQuYnV0dG9uLWdyb3VwOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTsgfVxuICAudG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTsgfVxuXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyMzI0NjsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4Ny40Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjQuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogODcuNDM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4Ny40Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSBhbmQgKG1heC13aWR0aDogMTI0LjkzNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg3LjQzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI0LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI0LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLCAudGV4dC1jZW50ZXIgLmJ1dHRvbi1ncm91cCwgLmFyY2hpdmUtaGVhZGluZyAuYnV0dG9uLWdyb3VwIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSwgLnRleHQtY2VudGVyIC52ZXJ0aWNhbC5tZW51LmJ1dHRvbi1ncm91cCA+IGxpID4gYSwgLmFyY2hpdmUtaGVhZGluZyAudmVydGljYWwubWVudS5idXR0b24tZ3JvdXAgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLnhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAueHhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyB9XG5cbmgxIHtcbiAgY29sb3I6ICM2ZDZlNzA7IH1cbiAgaDEuYm9keS1mb250IHtcbiAgICBmb250LWZhbWlseTogXCJQZXJwZXR1YVwiLCBcIkdlb3JnaWFcIiwgc2VyaWY7IH1cbiAgaDEgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuNTVlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBoMSBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjQ1ZW07IH0gfVxuXG5oMiB7XG4gIGNvbG9yOiAjNmQ2ZTcwOyB9XG4gIGgyLmJvZHktZm9udCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUGVycGV0dWFcIiwgXCJHZW9yZ2lhXCIsIHNlcmlmOyB9XG5cbmgzLCBoNCB7XG4gIGNvbG9yOiAjNmQ2ZTcwOyB9XG4gIGgzLmJvZHktZm9udCwgaDQuYm9keS1mb250IHtcbiAgICBmb250LWZhbWlseTogXCJQZXJwZXR1YVwiLCBcIkdlb3JnaWFcIiwgc2VyaWY7IH1cblxuaDUge1xuICBjb2xvcjogIzBkYTFhYzsgfVxuICBoNS5ib2R5LWZvbnQge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBlcnBldHVhXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjsgfVxuXG5oNiB7XG4gIGNvbG9yOiAjNmQ2ZTcwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIGg2IHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBoNi5ib2R5LWZvbnQge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBlcnBldHVhXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjsgfVxuXG5oMS5uby1tYXJnaW4sIGgyLm5vLW1hcmdpbiwgaDMubm8tbWFyZ2luLCBoNC5uby1tYXJnaW4sIGg1Lm5vLW1hcmdpbiwgaDYubm8tbWFyZ2luIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuaDEgLnNlYXJjaC10eXBlLCBoMiAuc2VhcmNoLXR5cGUsIGgzIC5zZWFyY2gtdHlwZSwgaDQgLnNlYXJjaC10eXBlLCBoNSAuc2VhcmNoLXR5cGUsIGg2IC5zZWFyY2gtdHlwZSB7XG4gIGZvbnQtc2l6ZTogNjAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ2ZTcwO1xuICBwYWRkaW5nOiA1cHggOHB4IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uaGVhZGluZy11bmRlcmxpbmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuaGVhZGluZy11bmRlcmxpbmUge1xuICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICBtYXJnaW46IDFlbSAwIDNlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlYWRpbmctdW5kZXJsaW5lIHtcbiAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgIG1hcmdpbjogMS4yZW0gMCAzZW07XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmhlYWRpbmctdW5kZXJsaW5lIHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIG1hcmdpbjogMmVtIDAgNGVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5uby1tYXJnaW4gKyAuaGVhZGluZy11bmRlcmxpbmUge1xuICAgIG1hcmdpbjogMC41ZW0gMCAwLjhlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5uby1tYXJnaW4gKyAuaGVhZGluZy11bmRlcmxpbmUge1xuICAgIG1hcmdpbjogMWVtIDAgMmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubm8tbWFyZ2luICsgLmhlYWRpbmctdW5kZXJsaW5lIHtcbiAgICBtYXJnaW46IDFlbSAwIDFlbTsgfSB9XG5cbi50ZXh0LWNlbnRlciAuaGVhZGluZy11bmRlcmxpbmUsIC5hcmNoaXZlLWhlYWRpbmcgLmhlYWRpbmctdW5kZXJsaW5lLFxuLnRleHQtY2VudGVyICsgLmhlYWRpbmctdW5kZXJsaW5lLCAuYXJjaGl2ZS1oZWFkaW5nICsgLmhlYWRpbmctdW5kZXJsaW5lIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uaW1hZ2UtaGVhZGVyLWxhcmdlIGgxLFxuLmltYWdlLWhlYWRlciBoMSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5pbWFnZS1oZWFkZXItbGFyZ2UgaDEsXG4gICAgLmltYWdlLWhlYWRlciBoMSB7XG4gICAgICBmb250LXNpemU6IDIuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLmltYWdlLWhlYWRlci1sYXJnZSBoMSxcbiAgICAuaW1hZ2UtaGVhZGVyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmltYWdlLWhlYWRlci1sYXJnZSBoMSxcbiAgICAuaW1hZ2UtaGVhZGVyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNS42MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMC44OyB9IH1cblxuLmltYWdlLWhlYWRlci1sYXJnZSBoMS5mb250LW5vcm1hbCxcbi5pbWFnZS1oZWFkZXIgaDEuZm9udC1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5pbWFnZS1oZWFkZXItbGFyZ2UgLmhlYWRpbmctdW5kZXJsaW5lLFxuLmltYWdlLWhlYWRlciAuaGVhZGluZy11bmRlcmxpbmUge1xuICBtYXJnaW46IDAuNWVtIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmltYWdlLWhlYWRlci1sYXJnZSAuaGVhZGluZy11bmRlcmxpbmUsXG4gICAgLmltYWdlLWhlYWRlciAuaGVhZGluZy11bmRlcmxpbmUge1xuICAgICAgd2lkdGg6IDkwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC5pbWFnZS1oZWFkZXItbGFyZ2UgLmhlYWRpbmctdW5kZXJsaW5lLFxuICAgIC5pbWFnZS1oZWFkZXIgLmhlYWRpbmctdW5kZXJsaW5lIHtcbiAgICAgIHdpZHRoOiAxNjBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuaW1hZ2UtaGVhZGVyLWxhcmdlIC5oZWFkaW5nLXVuZGVybGluZSxcbiAgICAuaW1hZ2UtaGVhZGVyIC5oZWFkaW5nLXVuZGVybGluZSB7XG4gICAgICB3aWR0aDogMjUwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmltYWdlLWhlYWRlci1sYXJnZSAuaGVhZGluZy11bmRlcmxpbmUsXG4gICAgLmltYWdlLWhlYWRlciAuaGVhZGluZy11bmRlcmxpbmUge1xuICAgICAgbWFyZ2luOiAyZW0gYXV0byAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaXRlLWludHJvIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogNXZ3OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNpdGUtaW50cm8gaDIge1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9IH1cblxuLnBvc3QtZGF0ZSxcbmg2LnBvc3QtZGF0ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlBlcnBldHVhXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjtcbiAgbWFyZ2luLXRvcDogNXB4OyB9XG5cbi5jb250YWluZXIgcCwgLmNvbnRhaW5lciBsaSB7XG4gIGZvbnQtZmFtaWx5OiBcIlBlcnBldHVhXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRhaW5lciBwLCAuY29udGFpbmVyIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuY29udGFpbmVyIHAsIC5jb250YWluZXIgbGkge1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cblxuLmNvbnRhaW5lciBwLmxlYWQge1xuICBmb250LXNpemU6IDIycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGFpbmVyIHAubGVhZCB7XG4gICAgICBmb250LXNpemU6IDI1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmNvbnRhaW5lciBwLmxlYWQge1xuICAgICAgZm9udC1zaXplOiAyNXB4OyB9IH1cblxuLmNvbnRhaW5lciBwLm5vLW1hcmdpbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jb250YWluZXIgcC5pbWFnZS1jYXB0aW9uIHtcbiAgICBmb250LXNpemU6IDFlbTsgfSB9XG5cbi5jb250YWluZXIgb2wsIC5jb250YWluZXIgdWwge1xuICBtYXJnaW46IDAgMCAxLjVlbSAwOyB9XG5cbi5jb250YWluZXIgdWwubm8tbWFyZ2luIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY29udGFpbmVyIC50ZXh0LWNlbnRlciBsaSwgLmNvbnRhaW5lciAuYXJjaGl2ZS1oZWFkaW5nIGxpIHtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlOyB9XG5cbi5jb250YWluZXIgLnRleHQtY2VudGVyIHVsLmhhcy1zdWJsaXN0IGxpLCAuY29udGFpbmVyIC5hcmNoaXZlLWhlYWRpbmcgdWwuaGFzLXN1Ymxpc3QgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLmNvbnRhaW5lciAudGV4dC1jZW50ZXIgbGkgbGksIC5jb250YWluZXIgLmFyY2hpdmUtaGVhZGluZyBsaSBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlOyB9XG5cbi5jb250YWluZXIgLnRleHQtY2VudGVyIHVsLmhhcy1zdWJsaXN0IGxpIGxpLCAuY29udGFpbmVyIC5hcmNoaXZlLWhlYWRpbmcgdWwuaGFzLXN1Ymxpc3QgbGkgbGkge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5hY2YtbWFwIGg1IHtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmFjZi1tYXAgcCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG5zZWN0aW9uIGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxudWwuYWNjb3JkaW9uID4gbGkge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG51bC5kYXNoLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuICB1bC5kYXNoLWxpc3QgPiBsaSB7XG4gICAgdGV4dC1pbmRlbnQ6IC0yMHB4OyB9XG4gIHVsLmRhc2gtbGlzdCA+IGxpOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJNcIjtcbiAgICB0ZXh0LWluZGVudDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5wYWdlLXRpdGxlLFxuLmFsYnVtLWNhdGVnb3J5LWhlYWRpbmcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuYiwgc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6IFwiUGVycGV0dWFcIiwgXCJHZW9yZ2lhXCIsIHNlcmlmOyB9XG5cbi5uby1icmVhayB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnJlbW92ZS1sYXN0LXAtbWFyZ2luIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgdWwuY29sdW1ucy0zIHtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICAtbW96LWNvbHVtbi1nYXA6IDIwcHg7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAyMHB4O1xuICAgIGNvbHVtbi1jb3VudDogMztcbiAgICBjb2x1bW4tZ2FwOiAyMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgdWwuY29sdW1ucy0yIHtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAtbW96LWNvbHVtbi1nYXA6IDIwcHg7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAyMHB4O1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tZ2FwOiAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgdWwubWVkaXVtLWNvbHVtbnMtMiB7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiAyMHB4O1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogMjBweDtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWdhcDogMjBweDsgfSB9XG5cbi5wcmljZS1tYXJnaW5zIHN0cm9uZyB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnVsLnRpY2stbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgdWwudGljay1saXN0ID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogOTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbSAwLjYyNXJlbSAxLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG4gIHVsLnRpY2stbGlzdCA+IGxpOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDMzcHg7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC01NXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvdGljay1idWxsZXRfbGlnaHQtYmx1ZS5zdmdcIik7IH1cblxudWwudGljay1saXN0LnRpY2std2hpdGUgPiBsaTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi8uLi91cGxvYWRzL3RpY2stYnVsbGV0X3doaXRlLnN2Z1wiKTsgfVxuXG51bC5jaXJjbGUtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgdWwuY2lyY2xlLWxpc3QgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbSAwLjYyNXJlbSAxLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHVsLmNpcmNsZS1saXN0ID4gbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH0gfVxuICB1bC5jaXJjbGUtbGlzdCA+IGxpOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvY2lyY2xlLWJ1bGxldF9saWdodC1ibHVlLnN2Z1wiKTsgfVxuICB1bC5jaXJjbGUtbGlzdC5jaXJjbGUtZGFyay1ncmV5ID4gbGk6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi8uLi91cGxvYWRzL2NpcmNsZS1idWxsZXRfbWVkaXVtLWdyZXkuc3ZnXCIpOyB9XG5cbi50ZXh0LWNlbnRlciB1bC5jaXJjbGUtbGlzdCA+IGxpLCAuYXJjaGl2ZS1oZWFkaW5nIHVsLmNpcmNsZS1saXN0ID4gbGkge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhvbWUtY29udGFjdC1kZXRhaWxzIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxM3B4ICsgMXZ3KTsgfSB9XG5cbi5ob21lLWNhcmQgLmhvbWUtaW5mbyBoMyB7XG4gIGNvbG9yOiAjMGRhMWFjO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ob21lLWNhcmQgLmhvbWUtaW5mbyA+IGg2IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uc2ltcGxlLXBhbmVsIC5wYW5lbC1jb250YWN0LWZvcm0gLmdmb3JtX3dyYXBwZXIgaDMuZ2Zvcm1fdGl0bGUge1xuICBjb2xvcjogIzBkYTFhYzsgfVxuXG4ucC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5jYXBzIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uZGlzcGxheSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLndoaXRlIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm1hcmdpbi1ib3R0b20tLTIwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ubWFyZ2luX2JvdHRvbS0tMzAge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5tYXJnaW5fYm90dG9tLS00MCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luX2JvdHRvbS0tNjAge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG5cbi5uby1oZXJvLXNlY3Rpb24tcGFkZGluZyB7XG4gIHBhZGRpbmctdG9wOiA3MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tcGFkZGluZyB7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAubW9iaWxlLXBhZGRpbmcge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5tb2JpbGUtc2VjdGlvbi1wYWRkaW5nIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgLm1vYmlsZS1zZWN0aW9uLXBhZGRpbmcgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbnN1YiB7XG4gIGJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7IH1cblxuLmNlbnRlci12ZXJ0IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuY2VudGVyLXZlcnQgaW1nLCAuY2VudGVyLXZlcnQgLmZsZXgtd3JhcHBlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5zZWN0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuc2VjdGlvbi1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMS40MDYyNXJlbSAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIwZW0pIHtcbiAgICAuc2VjdGlvbi1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMC40Njg3NXJlbSAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5zZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAzLjEyNXJlbTsgfSB9XG4gIC5zZWN0aW9uLWNvbnRhaW5lciAuY2VsbC1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWN0aW9uLWNvbnRhaW5lcjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYmctaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuLmJnLWNvbnRhaW4sXG4uYmctaW1hZ2UuYmctY29udGFpbiB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cbi5iYWNrZ3JvdW5kLWNvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuLmJnLWltYWdlLmJnLWJvdHRvbSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zbWFsbC1iZy1ib3R0b20sXG4gIC5iZy1pbWFnZS5zbWFsbC1iZy1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc21hbGwtYmctY29udGFpbixcbiAgLmJnLWltYWdlLnNtYWxsLWJnLWNvbnRhaW4ge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfSB9XG5cbi5iYWNrZ3JvdW5kLXJlcGVhdCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogaW5pdGlhbDsgfVxuXG4uYmFja2dyb3VuZC1yZXBlYXQteCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsOyB9XG5cbi5oYXMtZGl2aWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNtYWxsLWhpZGUtYmctaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oZWxsby1iYXIge1xuICBwYWRkaW5nOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTIwJTsgfVxuICAuaGVsbG8tYmFyIC5idXR0b24tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAuaGVsbG8tYmFyIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAuaGVsbG8tYmFyIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5oZWxsby1iYXIgLnRleHQtbGluayB7XG4gICAgbWFyZ2luOiA1cHggMTBweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5pbWFnZS1oZWFkZXIgLmdyaWQteCB7XG4gICAgbWluLWhlaWdodDogOC43NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5pbWFnZS1oZWFkZXIgLmdyaWQteCB7XG4gICAgbWluLWhlaWdodDogMTVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5pbWFnZS1oZWFkZXIgLmdyaWQteCB7XG4gICAgbWluLWhlaWdodDogMjEuMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLmltYWdlLWhlYWRlciAuZ3JpZC14IHtcbiAgICBtaW4taGVpZ2h0OiAyNy41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgLmltYWdlLWhlYWRlciAuZ3JpZC14IHtcbiAgICBtaW4taGVpZ2h0OiAzMy43NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaW1hZ2UtaGVhZGVyLWxhcmdlIC5ncmlkLXgge1xuICAgIG1pbi1oZWlnaHQ6IDkuMzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLmltYWdlLWhlYWRlci1sYXJnZSAuZ3JpZC14IHtcbiAgICBtaW4taGVpZ2h0OiAxNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmltYWdlLWhlYWRlci1sYXJnZSAuZ3JpZC14IHtcbiAgICBtaW4taGVpZ2h0OiAzMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAuaW1hZ2UtaGVhZGVyLWxhcmdlIC5ncmlkLXgge1xuICAgIG1pbi1oZWlnaHQ6IDM3LjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnBvc3QtaW1hZ2UtaGVhZGVyIC5ncmlkLXgge1xuICAgIG1pbi1oZWlnaHQ6IDEwcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLnBvc3QtaW1hZ2UtaGVhZGVyIC5ncmlkLXgge1xuICAgIG1pbi1oZWlnaHQ6IDE4Ljc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAucG9zdC1pbWFnZS1oZWFkZXIgLmdyaWQteCB7XG4gICAgbWluLWhlaWdodDogMjguNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNpbmdsZS10ZWFtIC5wb3N0LWltYWdlLWhlYWRlciAuZ3JpZC14IHtcbiAgICBtaW4taGVpZ2h0OiA4OHZ3OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLnNpbmdsZS10ZWFtIC5wb3N0LWltYWdlLWhlYWRlciAuZ3JpZC14IHtcbiAgICBtaW4taGVpZ2h0OiAxOC43NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLnNpbmdsZS10ZWFtIC5wb3N0LWltYWdlLWhlYWRlciAuZ3JpZC14IHtcbiAgICBtaW4taGVpZ2h0OiAyOC43NXJlbTsgfSB9XG5cbi5jb2x1bW4taW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5yZW1vdmUtc2VjdGlvbi1wYWRkaW5nIHtcbiAgcGFkZGluZzogMDsgfVxuICAucmVtb3ZlLXNlY3Rpb24tcGFkZGluZyA+IC5zZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uZ3JpZC1jb250YWluZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXItd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMC40Njg3NXJlbSAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXItd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXItd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAzLjEyNXJlbTsgfSB9XG5cbi5yZW1vdmUtcm93LXBhZGRpbmcge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5yZW1vdmUtc2lkZS1wYWRkaW5nIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5yZW1vdmUtc2lkZS1wYWRkaW5nID4gLnNlY3Rpb24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4ucmVtb3ZlLXZlcnQtcGFkZGluZyB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ucmVtb3ZlLXBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnJlbW92ZS1wYWRkaW5nLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5hbGlnbi1pdGVtcy1jZW50ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5zZWN0aW9uLWN0YSB7XG4gIC8qXG5cdC5jZWxsOmZpcnN0LWNoaWxkIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpIG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpIDA7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBsYXJnZSkgMCBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKSBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKTtcblx0XHR9XG5cdH1cblx0LmNlbGw6bGFzdC1jaGlsZCB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpO1xuXHRcdH1cblx0fVxuKi8gfVxuXG4ucHJvbW8tbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuY29udGFjdC1jYXJkIC5ib3JkZXItaW5uZXIge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5jb250YWN0LWNhcmQgLmJvcmRlci1pbm5lciB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuY29udGFjdC1jYXJkIC5ib3JkZXItaW5uZXIge1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaW1hZ2UtbWFyZ2luLWJvdHRvbSBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5pbWFnZS1tYXJnaW4tYm90dG9tIGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuXG4uYnJpbmctdG8tZnJvbnQsIC5vdmVybGFwLWRpdmlkZXIgKyAuYmctcGV0YWxzLWdyZXlfdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk7IH1cblxuLm92ZXJsYXAtYm90dG9tLW1hcmdpbi1sYXJnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogLTIwMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm92ZXJsYXAtYm90dG9tLW1hcmdpbi1sYXJnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMjgwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLm92ZXJsYXAtYm90dG9tLW1hcmdpbi1sYXJnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMjgwcHg7IH0gfVxuICAub3ZlcmxhcC1ib3R0b20tbWFyZ2luLWxhcmdlLmdyaWQtY29udGFpbmVyIHtcbiAgICB6LWluZGV4OiA5OyB9XG5cbi5vdmVybGFwLXRvcC1tYXJnaW4tbGFyZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IC0yMDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vdmVybGFwLXRvcC1tYXJnaW4tbGFyZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogLTI4MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5vdmVybGFwLXRvcC1tYXJnaW4tbGFyZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogLTI4MHB4OyB9IH1cbiAgLm92ZXJsYXAtdG9wLW1hcmdpbi1sYXJnZS5ncmlkLWNvbnRhaW5lciB7XG4gICAgei1pbmRleDogOTsgfVxuXG4ub3ZlcmxhcC10b3AtcGFkZGluZy1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiAyMDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vdmVybGFwLXRvcC1wYWRkaW5nLWxhcmdlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMzBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAub3ZlcmxhcC10b3AtcGFkZGluZy1sYXJnZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjAwcHg7IH0gfVxuXG4ub3ZlcmxhcC1ib3R0b20tcGFkZGluZy1sYXJnZSB7XG4gIHBhZGRpbmctYm90dG9tOiAyMDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vdmVybGFwLWJvdHRvbS1wYWRkaW5nLWxhcmdlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAub3ZlcmxhcC1ib3R0b20tcGFkZGluZy1sYXJnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHg7IH0gfVxuXG4uZ3JpZC1zbWFsbC1tYXJnaW4tdG9wIC5jb2x1bW4sIC5ncmlkLXNtYWxsLW1hcmdpbi10b3AgLmNvbHVtbnMge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5ncmlkLXNtYWxsLW1hcmdpbi10b3AgLmNvbHVtbiwgLmdyaWQtc21hbGwtbWFyZ2luLXRvcCAuY29sdW1ucyB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7IH0gfVxuXG4uZ3JpZC1zbWFsbC1tYXJnaW4tYm90dG9tIC5jZWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZ3JpZC1zbWFsbC1tYXJnaW4tYm90dG9tIC5jZWxsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG5cbi5zbWFsbC1pbm5lci1ndXR0ZXIge1xuICBtYXJnaW4tcmlnaHQ6IC01cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC01cHggIWltcG9ydGFudDsgfVxuICAuc21hbGwtaW5uZXItZ3V0dGVyIC5jZWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAubWFyZ2luIHtcbiAgICBtYXJnaW46IDAuOTM3NXJlbTsgfVxuICAucGFkZGVkLFxuICAuYm9yZGVyLXBhZGRlZCAuY2VsbC1ib3JkZXIsXG4gIC5pbm5lci1wYWRkZWQgLmNlbGwtaW5uZXIge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAucGFkZGVkLWhhbGYsXG4gIC5zbWFsbC1wYWRkZWQtaGFsZixcbiAgLmJvcmRlci1wYWRkZWQtaGFsZiAuY2VsbC1ib3JkZXIsXG4gIC5pbm5lci1wYWRkZWQtaGFsZiAuY2VsbC1pbm5lciB7XG4gICAgcGFkZGluZzogMC40Njg3NXJlbTsgfVxuICAucGFkZGVkLXRoaXJkLFxuICAuc21hbGwtcGFkZGVkLXRoaXJkLFxuICAuYm9yZGVyLXBhZGRlZC10aGlyZCAuY2VsbC1ib3JkZXIsXG4gIC5pbm5lci1wYWRkZWQtdGhpcmQgLmNlbGwtaW5uZXIge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuICAucGFkZGVkLWRvdWJsZSxcbiAgLnNtYWxsLXBhZGRlZC1kb3VibGUge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9XG4gIC5zbWFsbC1wYWRkZWQge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAubWFyZ2luLXRvcCxcbiAgLm1hcmdpbi10b3AtaGFsZixcbiAgLnNtYWxsLW1hcmdpbi10b3Age1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICAubWFyZ2luLWJvdHRvbSxcbiAgLm1hcmdpbi1ib3R0b20taGFsZixcbiAgLnNtYWxsLW1hcmdpbi1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAucGFkZGluZy10b3AsXG4gIC5wYWRkaW5nLXRvcC1oYWxmLFxuICAuc21hbGwtcGFkZGluZy10b3Age1xuICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IH1cbiAgLnBhZGRpbmctYm90dG9tLFxuICAucGFkZGluZy1ib3R0b20taGFsZixcbiAgLnNtYWxsLXBhZGRpbmctYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5zbWFsbC1tYXJnaW4tdG9wLWhhbGYge1xuICAgIG1hcmdpbi10b3A6IDAuNDY4NzVyZW07IH1cbiAgLnNtYWxsLW1hcmdpbi1ib3R0b20taGFsZiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40Njg3NXJlbTsgfVxuICAuc21hbGwtbWFyZ2luLXRvcC1kb3VibGUge1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gIC5zbWFsbC1tYXJnaW4tYm90dG9tLWRvdWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnNtYWxsLXBhZGRpbmctdG9wLWhhbGYge1xuICAgIHBhZGRpbmctdG9wOiAwLjQ2ODc1cmVtOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWJvdHRvbS1oYWxmIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC40Njg3NXJlbTsgfVxuICAuYm9yZGVyLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgLnNtYWxsLXJlbW92ZS1zZWN0aW9uLXBhZGRpbmcgLnNlY3Rpb24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLm1hcmdpbiB7XG4gICAgbWFyZ2luOiAxLjg3NXJlbTsgfVxuICAucGFkZGVkLFxuICAuYm9yZGVyLXBhZGRlZCAuY2VsbC1ib3JkZXIsXG4gIC5pbm5lci1wYWRkZWQgLmNlbGwtaW5uZXIge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9XG4gIC5wYWRkZWQtaGFsZixcbiAgLm1lZGl1bS1wYWRkZWQtaGFsZixcbiAgLmJvcmRlci1wYWRkZWQtaGFsZiAuY2VsbC1ib3JkZXIsXG4gIC5pbm5lci1wYWRkZWQtaGFsZiAuY2VsbC1pbm5lciB7XG4gICAgcGFkZGluZzogMS44NzVyZW07IH1cbiAgLnBhZGRlZC10aGlyZCxcbiAgLm1lZGl1bS1wYWRkZWQtdGhpcmQsXG4gIC5ib3JkZXItcGFkZGVkLXRoaXJkIC5jZWxsLWJvcmRlcixcbiAgLmlubmVyLXBhZGRlZC10aGlyZCAuY2VsbC1pbm5lciB7XG4gICAgcGFkZGluZzogMC42MjVyZW07IH1cbiAgLnBhZGRlZC1kb3VibGUsXG4gIC5tZWRpdW0tcGFkZGVkLWRvdWJsZSB7XG4gICAgcGFkZGluZzogMy43NXJlbTsgfVxuICAubWVkaXVtLXBhZGRlZCB7XG4gICAgcGFkZGluZzogMS44NzVyZW07IH1cbiAgLm1hcmdpbi10b3AsXG4gIC5tZWRpdW0tbWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgLm1hcmdpbi1ib3R0b20sXG4gIC5tZWRpdW0tbWFyZ2luLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnBhZGRpbmctdG9wLFxuICAubWVkaXVtLXBhZGRpbmctdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH1cbiAgLnBhZGRpbmctYm90dG9tLFxuICAubWVkaXVtLXBhZGRpbmctYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLm1hcmdpbi10b3AtaGFsZixcbiAgLm1lZGl1bS1tYXJnaW4tdG9wLWhhbGYge1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICAubWFyZ2luLWJvdHRvbS1oYWxmLFxuICAubWVkaXVtLW1hcmdpbi1ib3R0b20taGFsZiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5wYWRkaW5nLXRvcC1oYWxmLFxuICAubWVkaXVtLXBhZGRpbmctdG9wLWhhbGYge1xuICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IH1cbiAgLnBhZGRpbmctYm90dG9tLWhhbGYsXG4gIC5tZWRpdW0tcGFkZGluZy1ib3R0b20taGFsZiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuYm9yZGVyLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDE1cHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5tYXJnaW4ge1xuICAgIG1hcmdpbjogMy4xMjVyZW07IH1cbiAgLnBhZGRlZCxcbiAgLmJvcmRlci1wYWRkZWQgLmNlbGwtYm9yZGVyLFxuICAuaW5uZXItcGFkZGVkIC5jZWxsLWlubmVyIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbTsgfVxuICAucGFkZGVkLWhhbGYsXG4gIC5sYXJnZS1wYWRkZWQtaGFsZixcbiAgLmJvcmRlci1wYWRkZWQtaGFsZiAuY2VsbC1ib3JkZXIsXG4gIC5pbm5lci1wYWRkZWQtaGFsZiAuY2VsbC1pbm5lciB7XG4gICAgcGFkZGluZzogMS41NjI1cmVtOyB9XG4gIC5wYWRkZWQtdGhpcmQsXG4gIC5sYXJnZS1wYWRkZWQtdGhpcmQsXG4gIC5ib3JkZXItcGFkZGVkLXRoaXJkIC5jZWxsLWJvcmRlcixcbiAgLmlubmVyLXBhZGRlZC10aGlyZCAuY2VsbC1pbm5lciB7XG4gICAgcGFkZGluZzogMS4wNDE2N3JlbTsgfVxuICAucGFkZGVkLWRvdWJsZSxcbiAgLmxhcmdlLXBhZGRlZC1kb3VibGUge1xuICAgIHBhZGRpbmc6IDYuMjVyZW07IH1cbiAgLmxhcmdlLXBhZGRlZCB7XG4gICAgcGFkZGluZzogMy4xMjVyZW07IH1cbiAgLm1hcmdpbi10b3AsXG4gIC5sYXJnZS1tYXJnaW4tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfVxuICAubWFyZ2luLWJvdHRvbSxcbiAgLmxhcmdlLW1hcmdpbi1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gIC5wYWRkaW5nLXRvcCxcbiAgLmxhcmdlLXBhZGRpbmctdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH1cbiAgLnBhZGRpbmctYm90dG9tLFxuICAubGFyZ2UtcGFkZGluZy1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfVxuICAubWFyZ2luLXRvcC1oYWxmLFxuICAubGFyZ2UtbWFyZ2luLXRvcC1oYWxmIHtcbiAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH1cbiAgLm1hcmdpbi1ib3R0b20taGFsZixcbiAgLmxhcmdlLW1hcmdpbi1ib3R0b20taGFsZiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gIC5wYWRkaW5nLXRvcC1oYWxmLFxuICAubGFyZ2UtcGFkZGluZy10b3AtaGFsZiB7XG4gICAgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgfVxuICAucGFkZGluZy1ib3R0b20taGFsZixcbiAgLmxhcmdlLXBhZGRpbmctYm90dG9tLWhhbGYge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgLmNvbnRlbnQtY29udGFpbmVkIC5jZWxsLWJvcmRlciB7XG4gICAgbWF4LXdpZHRoOiAzNC4zNzVyZW07IH1cbiAgLmJvcmRlci1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAxNXB4OyB9IH1cblxuaHRtbCAjd3BhZG1pbmJhciB7XG4gIG1pbi13aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uYWJzb2x1dGUtYm90dG9tLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi5hYnNvbHV0ZS1ib3R0b20tbGVmdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi5hYnNvbHV0ZS10b3AtcmlnaHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLmFic29sdXRlLXRvcC1sZWZ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuaW1nW3NyYyQ9XCIuc3ZnXCJdIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdhbGxlcnktZ3JleSBpbWcge1xuICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTsgfVxuXG4uZ2FsbGVyeS1ncmV5IGltZzpob3ZlciB7XG4gIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDApOyB9XG5cbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuYm9keS5hZG1pbi1iYXIuZi10b3BiYXItZml4ZWQgLnN0aWNreS5maXhlZCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDsgfVxuXG5wLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzogMC42MjVyZW0gMDsgfVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW46IDA7IH1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLm1haW4tbmF2LXRhZ2xpbmUgaDUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLm1vYmlsZS1tZW51LFxuICAuc2l0ZS10aXRsZS1iYXIsXG4gIC50aXRsZS1iYXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuZGVza3RvcC1tZW51LFxuICAudG9wLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNpdGUtZGVza3RvcC10aXRsZSBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLm1vYmlsZS1tZW51IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2l0ZS10aXRsZS1iYXIgLmdyaWQteCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiNtb2JpbGUtbWVudSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI21vYmlsZS1tZW51IGEge1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2NjYzsgfVxuICAjbW9iaWxlLW1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMGRhMWFjOyB9XG5cbi5kZXNrdG9wLW1lbnUgLmRyb3Bkb3duLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwZGExYWM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaXRlLW5hdmlnYXRpb24ge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ucG9zdC1uYXZpZ2F0aW9uOjpiZWZvcmUsIC5wb3N0LW5hdmlnYXRpb246OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7IH1cblxuLnBvc3QtbmF2aWdhdGlvbjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4ubmF2LXByZXZpb3VzIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLm5hdi1uZXh0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIE5hdmlnYXRpb24gYnJlYWtwb2ludHMgKi9cbi8qXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg0OXB4KSB7XG5cdCNtb2JpbGUtbWVudSwgLnRpdGxlLWJhciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQuc2l0ZS1oZWFkZXIgLmRlc2t0b3AtbWVudSwgLnRvcC1iYXItbGVmdCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1MHB4KSB7XG5cdC5kZXNrdG9wLW1lbnUsIC50b3AtYmFyLWxlZnQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0I21vYmlsZS1tZW51LCAudGl0bGUtYmFyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4qL1xuLnN1Ym1lbnUgbGkgYSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi8qXG4udG9wLWJhci1yaWdodCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLXRvcDogMzZweDtcbn1cbiovXG4jc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgI3NpdGUtbmF2aWdhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICByaWdodDogOXB4OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgYm9yZGVyOiBub25lOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IGxpIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNjsgfVxuXG4udGl0bGUtYmFyIC5zaXRlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnRpdGxlLWJhciAuc2l0ZS10aXRsZSBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHRyYW5zaXRpb246IDAuNXM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpdGxlLWJhciAuc2l0ZS10aXRsZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7IH0gfVxuXG4udG9wLWJhciB7XG4gIC8qXG5cdC50b3AtYmFyLWlubmVyIHtcblx0XHRAaW5jbHVkZSBncmlkLXJvdygpO1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG4qLyB9XG4gIC50b3AtYmFyIC5zaXRlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgLnRvcC1iYXIgLnNpdGUtdGl0bGUgaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgIHRyYW5zaXRpb246IDAuNXM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC50b3AtYmFyIC5zaXRlLXRpdGxlIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiA2MHB4OyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgLnRvcC1iYXIgLnNpdGUtdGl0bGUgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDgwcHg7IH0gfVxuICAudG9wLWJhciB1bC5tZW51IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnRvcC1iYXIgdWwubWVudSBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIlBlcnBldHVhXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLnRvcC1iYXIgdWwubWVudSBhOmhvdmVyOm5vdCgubWVudS1idXR0b24pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICMwZGExYWM7IH1cbiAgLnRvcC1iYXIgLm1haW4tbmF2LWN0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAudG9wLWJhciAubWFpbi1uYXYtY3RhIHVsLm1lbnUgYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiUGVycGV0dWFcIiwgXCJHZW9yZ2lhXCIsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLnRvcC1iYXIgLm1haW4tbmF2LWN0YSB1bC5tZW51IGxpLm1lbnUtcGhvbmUgYSB7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgY29sb3I6ICMwZGExYWM7IH1cbiAgICAudG9wLWJhciAubWFpbi1uYXYtY3RhIHVsLm1lbnUgbGkubWVudS1waG9uZSBhIC5tZW51LWxhYmVsLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAudG9wLWJhciB1bC5tZW51IC5hY3RpdmUgPiBhLFxuICAudG9wLWJhciB1bC5tZW51IC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzBkYTFhYzsgfVxuICAudG9wLWJhciB1bC5tZW51IC5oaWdobGlnaHQgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYztcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLnRvcC1iYXIgdWwubWVudSAubWVudS1idXR0b24gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYztcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAudG9wLWJhciB1bC5tZW51IC5tZW51LWJ1dHRvbiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwYjg5OTI7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudG9wLWJhciAuZHJvcGRvd24ubWVudSAuc3VibWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyMzI0NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IC5zdWJtZW51OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjMyNDY7XG4gICAgICBjb2xvcjogIzBkYTFhYzsgfVxuICAudG9wLWJhciAuZHJvcGRvd24ubWVudSAuc3VibWVudSAuYWN0aXZlID4gYSxcbiAgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUgLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMGRhMWFjOyB9XG4gIC50b3AtYmFyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC50b3AtYmFyIC5kcm9wZG93bi5tZW51ID4gbGkuYWN0aXZlLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzBkYTFhYyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAudG9wLWJhciAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgei1pbmRleDogMyAhaW1wb3J0YW50OyB9XG5cbi51dGlsaXR5LWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjMyNDY7IH1cbiAgLnV0aWxpdHktYmFyIC50b3AtdXRpbGl0eS1iYXIge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgICAudXRpbGl0eS1iYXIgLnRvcC11dGlsaXR5LWJhciB1bC5tZW51IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudXRpbGl0eS1iYXIgLnRvcC11dGlsaXR5LWJhciB1bC5tZW51IGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUGVycGV0dWFcIiwgXCJHZW9yZ2lhXCIsIHNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgLnV0aWxpdHktYmFyIC50b3AtdXRpbGl0eS1iYXIgdWwubWVudSBhOmhvdmVyOm5vdCgubWVudS1idXR0b24pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjMGRhMWFjOyB9XG4gICAgLnV0aWxpdHktYmFyIC50b3AtdXRpbGl0eS1iYXIgbGkubWVudS1kb3dubG9hZCBhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAudXRpbGl0eS1iYXIgLnRvcC11dGlsaXR5LWJhciAubWFpbi1uYXYtY3RhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAudXRpbGl0eS1iYXIgLnRvcC11dGlsaXR5LWJhciAubWFpbi1uYXYtY3RhIHVsLm1lbnUgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJQZXJwZXR1YVwiLCBcIkdlb3JnaWFcIiwgc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLnV0aWxpdHktYmFyIC50b3AtdXRpbGl0eS1iYXIgLm1haW4tbmF2LWN0YSB1bC5tZW51IGxpLm1lbnUtcGhvbmUgYSB7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBjb2xvcjogIzBkYTFhYzsgfVxuICAgICAgLnV0aWxpdHktYmFyIC50b3AtdXRpbGl0eS1iYXIgLm1haW4tbmF2LWN0YSB1bC5tZW51IGxpLm1lbnUtcGhvbmUgYSAubWVudS1sYWJlbC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgLnV0aWxpdHktYmFyIC50b3AtdXRpbGl0eS1iYXIgdWwubWVudSAuYWN0aXZlID4gYSxcbiAgICAudXRpbGl0eS1iYXIgLnRvcC11dGlsaXR5LWJhciB1bC5tZW51IC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICMwZGExYWM7IH1cbiAgICAudXRpbGl0eS1iYXIgLnRvcC11dGlsaXR5LWJhciB1bC5tZW51IC5oaWdobGlnaHQgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRhMWFjO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAudXRpbGl0eS1iYXIgLnRvcC11dGlsaXR5LWJhciB1bC5tZW51IC5tZW51LWJ1dHRvbiBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgIC51dGlsaXR5LWJhciAudG9wLXV0aWxpdHktYmFyIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjMyNDY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgLnV0aWxpdHktYmFyIC50b3AtdXRpbGl0eS1iYXIgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIzMjQ2O1xuICAgICAgICBjb2xvcjogIzBkYTFhYzsgfVxuICAgIC51dGlsaXR5LWJhciAudG9wLXV0aWxpdHktYmFyIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IC5hY3RpdmUgPiBhLFxuICAgIC51dGlsaXR5LWJhciAudG9wLXV0aWxpdHktYmFyIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICMwZGExYWM7IH1cbiAgICAudXRpbGl0eS1iYXIgLnRvcC11dGlsaXR5LWJhciAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgLnV0aWxpdHktYmFyIC50b3AtdXRpbGl0eS1iYXIgLmRyb3Bkb3duLm1lbnUgPiBsaS5hY3RpdmUuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICMwZGExYWMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAudXRpbGl0eS1iYXIgLnRvcC11dGlsaXR5LWJhciAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICB6LWluZGV4OiAzICFpbXBvcnRhbnQ7IH1cblxuLnN0aWNreS1oZWFkZXIge1xuICB6LWluZGV4OiA0O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS1oZWFkZXIuc2Nyb2xsLXNpemUgLnRvcC1iYXIge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICB0cmFuc2l0aW9uOiAwLjVzOyB9XG4gICAgLnN0aWNreS1oZWFkZXIuc2Nyb2xsLXNpemUgLnRvcC1iYXIgLnNpdGUtdGl0bGUgaW1nIHtcbiAgICAgIHRyYW5zaXRpb246IDAuNXM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zdGlja3ktaGVhZGVyLnNjcm9sbC1zaXplIC50b3AtYmFyIC5zaXRlLXRpdGxlIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1oZWFkZXIuc2Nyb2xsLXNpemUgLnRvcC1iYXIgLnNpdGUtdGl0bGUgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7IH0gfVxuXG5ib2R5Lm5hdi1oaWRlIC50aXRsZS1iYXIge1xuICBkaXNwbGF5OiBub25lO1xuICBvcGFjaXR5OiAwOyB9XG5cbmJvZHkubmF2LWhpZGUgLnNpdGUtaGVhZGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgfVxuXG5ib2R5Lm5hdi1zaG93IHtcbiAgLypcblx0ICAgIC5zaXRlLWhlYWRlciB7XG5cdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgXG5cdFx0XHQtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgXG5cdFx0XHQtbXMtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0OyBcblx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7ICBcblx0ICAgIH1cblx0XG4qLyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgYm9keS5zY3JvbGxlZC5uYXYtc2hvdyAud3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDExNnB4OyB9IH1cblxuYm9keS5zY3JvbGxlZC5uYXYtc2hvdyAuc2l0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICBwYWRkaW5nOiAwOyB9XG5cbmJvZHkuc2Nyb2xsZWQubmF2LXNob3cgLnRvcC1iYXIge1xuICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuICBib2R5LnNjcm9sbGVkLm5hdi1zaG93IC50b3AtYmFyIC5zaXRlLXRpdGxlIGltZyB7XG4gICAgbWF4LWhlaWdodDogMi44NzVyZW07IH1cblxuYm9keS5zY3JvbGxlZC5uYXYtc2hvdyAudG9wLWJhci1yaWdodCB7XG4gIG1hcmdpbi10b3A6IDRweDsgfVxuXG4uYWRtaW4tYmFyLnNjcm9sbGVkLm5hdi1zaG93IC5zaXRlLWhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDQ2cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5hZG1pbi1iYXIuc2Nyb2xsZWQubmF2LXNob3cgLnNpdGUtaGVhZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMycHg7IH0gfVxuXG4vKiBUYWJsZXQgYW5kIGRlc2t0b3AgbWVudSAqL1xuLypcbi50b3AtYmFyIHtcblxuICAudG9wLWJhci1yaWdodCB7XG5cblx0dWwge1xuXHQgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICB6LWluZGV4OiAxO1xuXG5cdCAgbGkge1xuXHRcdHBhZGRpbmc6IDAgMTBweDtcblx0ICB9XG5cdH1cbiAgfVxuXG4gIC5tZW51IGEge1xuXHRjb2xvcjogJHdoaXRlO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0Jjpob3Zlcjpub3QoLmJ1dHRvbikge1xuXHQgIGNvbG9yOiAkYWNjZW50O1xuXHR9XG4gIH1cblxuICAuZHJvcGRvd24ubWVudSAuc3VibWVudSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMxMjEyMTI7XG5cdGNvbG9yOiAjZTZlNmU2O1xuXHRib3JkZXI6IDA7XG4gIH1cblxuICAuZHJvcGRvd24ubWVudSAuaGFzLXN1Ym1lbnUuaXMtZG93bi1hcnJvdyBhIHsgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAuZHJvcGRvd24ubWVudSAuaGFzLXN1Ym1lbnUuaXMtZG93bi1hcnJvdyA+IGE6OmFmdGVyIHsgYm9yZGVyOiAwOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1kb3duLWFycm93ID4gYTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi5maXhlZC1zdWJuYXYge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcbn1cblxuLnNjcm9sbC1zdWJuYXYge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRvcDogMDtcbn1cbiovXG4uYWRtaW4tYmFyIC5zaXRlLWhlYWRlci5maXhlZCAudG9wLWJhciB7XG4gIG1hcmdpbi10b3A6IDMycHg7IH1cblxuLmRpc2NsYWltZXItbWVudSAubWVudSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDAgNXB4OyB9XG5cbi5pcy1tZW51IHN2ZyB7XG4gIGZpbGw6ICNmZmY7IH1cblxuLmlzLW1lbnUgLm1kYy10ZXh0LWZpZWxkIC5tZGMtbGluZS1yaXBwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5pcy1tZW51LmRyb3Bkb3duIGZvcm0uc2VhcmNoLWZvcm0ge1xuICBtaW4td2lkdGg6IDIwMHB4OyB9XG5cbiNtYWlubWVudV9jb250YWluZXIgLmlzLW1lbnUgbGFiZWwubWRjLXRleHQtZmllbGRfX2xhYmVsIHtcbiAgY29sb3I6ICMyMjI7IH1cblxuLmxvY2F0aW9uLXN1Ym1lbnUgdWwubWVudSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5sb2NhdGlvbi1zdWJtZW51IHVsLm1lbnUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmxvY2F0aW9uLXN1Ym1lbnUgdWwubWVudS5zdWJtZW51LXRpdGxlIHtcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubG9jYXRpb24tc3VibWVudSB1bC5tZW51LnN1Ym1lbnUtdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmxvY2F0aW9uLXN1Ym1lbnUgdWwubWVudS5zdWJtZW51LW1lbnUge1xuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2NhdGlvbi1zdWJtZW51IHVsLm1lbnUuc3VibWVudS1tZW51IHtcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAubG9jYXRpb24tc3VibWVudSB1bC5tZW51IGxpIGE6aG92ZXIsIC5sb2NhdGlvbi1zdWJtZW51IHVsLm1lbnUgLm1lbnUtdGV4dCBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzEyMzI0NjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubG9jYXRpb24tc3VibWVudSB1bC5tZW51IGxpLCAubG9jYXRpb24tc3VibWVudSB1bC5tZW51IC5tZW51LXRleHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAgIC5sb2NhdGlvbi1zdWJtZW51IHVsLm1lbnUgbGkgYSwgLmxvY2F0aW9uLXN1Ym1lbnUgdWwubWVudSAubWVudS10ZXh0IGEge1xuICAgICAgICBwYWRkaW5nOiA1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC5sb2NhdGlvbi1zdWJtZW51IHVsLm1lbnUgbGksIC5sb2NhdGlvbi1zdWJtZW51IHVsLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgLmxvY2F0aW9uLXN1Ym1lbnUgdWwubWVudSBsaSBhLCAubG9jYXRpb24tc3VibWVudSB1bC5tZW51IC5tZW51LXRleHQgYSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5sb2NhdGlvbi1zdWJtZW51IHVsLm1lbnUgbGksIC5sb2NhdGlvbi1zdWJtZW51IHVsLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgICAgLmxvY2F0aW9uLXN1Ym1lbnUgdWwubWVudSBsaSBhLCAubG9jYXRpb24tc3VibWVudSB1bC5tZW51IC5tZW51LXRleHQgYSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4OyB9IH1cblxuLnNpdGUtaGVhZGVyIC5sb2NhdGlvbi1zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2Nyb2xsZWQgLnNpdGUtaGVhZGVyIC5sb2NhdGlvbi1zdWJtZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1haW4td3JhcCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNDY4NzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC40Njg3NXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFpbi13cmFwIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubWFpbi13cmFwIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFpbi13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07IH0gfVxuICAubWFpbi13cmFwLnNpZGViYXItbGVmdCAubWFpbi1jb250ZW50IHtcbiAgICBvcmRlcjogMTsgfVxuICAubWFpbi13cmFwLnNpZGViYXItbGVmdCAuc2lkZWJhciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFpbi13cmFwLnNpZGViYXItbGVmdCAubWFpbi1jb250ZW50IHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgLm1haW4td3JhcC5zaWRlYmFyLWxlZnQgLnNpZGViYXIge1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICAubWFpbi13cmFwLmZ1bGwtd2lkdGggLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5tYWluLXdyYXAgLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuOTM3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjQ2ODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjQ2ODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tYWluLXdyYXAgLm1haW4tY29udGVudCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH0gfVxuICAubWFpbi13cmFwIC5zaWRlYmFyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC45Mzc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNDY4NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNDY4NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1haW4td3JhcCAuc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuXG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5mb290ZXIgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIzMjQ2O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciB7XG4gICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMi41cmVtOyB9IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItYm90dG9tLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItYm90dG9tLXNlY3Rpb24gbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1ib3R0b20tc2VjdGlvbiBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZWZlZmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItYm90dG9tLXNlY3Rpb24gbGkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1ib3R0b20tc2VjdGlvbiBsaSBhIHtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1ib3R0b20tc2VjdGlvbiBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODsgfVxuICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItYm90dG9tLXNlY3Rpb24gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxuICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuY29weXJpZ2h0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1jcmVkaXQge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLWNyZWRpdCBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2xvcjogIzAwNzk4ODsgfVxuICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItY3JlZGl0IGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMGRhMWFjOyB9XG5cbi5mb290ZXItZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogNDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmVmZWZlOyB9XG4gIC5mb290ZXItZml4ZWQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYztcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC42MjVyZW0gMC43NXJlbTtcbiAgICBtYXJnaW46IDAgMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uc2Nyb2xsVG9Ub3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IDYwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDEwMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLnNjcm9sbFRvVG9wIHtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgYm90dG9tOiAyMHB4OyB9IH1cbiAgLnNjcm9sbFRvVG9wIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjkzNzVyZW07XG4gICAgYmFja2dyb3VuZDogIzZkNmU3MDtcbiAgICBvcGFjaXR5OiAwLjY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAuc2Nyb2xsVG9Ub3AgYSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbSAwLjQzNzVyZW07IH0gfVxuICAgIC5zY3JvbGxUb1RvcCBhLmRvd25sb2FkLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgIC5zY3JvbGxUb1RvcCBhLmRvd25sb2FkLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5zY3JvbGxUb1RvcCBhIHNwYW4udGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgIC5zY3JvbGxUb1RvcCBhIHNwYW4udGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5zY3JvbGxUb1RvcCBhIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5zY3JvbGxUb1RvcCBhOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiAjMGRhMWFjOyB9XG5cbmJvZHkjdGlueW1jZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBqUXVlcnkgRmxleFNsaWRlciB2Mi42LjBcbiAqIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9mbGV4c2xpZGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDEyIFdvb1RoZW1lc1xuICogRnJlZSB0byB1c2UgdW5kZXIgdGhlIEdQTHYyIGFuZCBsYXRlciBsaWNlbnNlLlxuICogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuICpcbiAqIENvbnRyaWJ1dGluZyBhdXRob3I6IFR5bGVyIFNtaXRoIChAbWJtdWZmZmluKVxuICogXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGT05ULUZBQ0VcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJmbGV4c2xpZGVyLWljb25cIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9mbGV4c2xpZGVyLWljb24uZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9mbGV4c2xpZGVyLWljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9mbGV4c2xpZGVyLWljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9mbGV4c2xpZGVyLWljb24uc3ZnI2ZsZXhzbGlkZXItaWNvblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUkVTRVRTXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uZmxleC1jb250YWluZXIgYTpob3Zlcixcbi5mbGV4LXNsaWRlciBhOmhvdmVyIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uc2xpZGVzLFxuLnNsaWRlcyA+IGxpLFxuLmZsZXgtY29udHJvbC1uYXYsXG4uZmxleC1kaXJlY3Rpb24tbmF2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5mbGV4LXBhdXNlcGxheSBzcGFuIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEJBU0UgU1RZTEVTXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uZmxleHNsaWRlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuZmxleHNsaWRlciAuc2xpZGVzIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZmxleHNsaWRlciAuc2xpZGVzID4gbGkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLmZsZXhzbGlkZXIgLnNsaWRlcyBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmZsZXhzbGlkZXIgLnNsaWRlczphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiAwOyB9XG4gICAgaHRtbFt4bWxuc10gLmZsZXhzbGlkZXIgLnNsaWRlcyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICogaHRtbCAuZmxleHNsaWRlciAuc2xpZGVzIHtcbiAgICAgIGhlaWdodDogMSU7IH1cbiAgICAubm8tanMgLmZsZXhzbGlkZXIgLnNsaWRlcyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBERUZBVUxUIFRIRU1FXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uZmxleHNsaWRlciB7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMCBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHpvb206IDE7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IFwiXCIgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLW1vei1ib3gtc2hhZG93OiBcIlwiIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC1vLWJveC1zaGFkb3c6IFwiXCIgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm94LXNoYWRvdzogXCJcIiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gIC5mbGV4c2xpZGVyIC5zbGlkZXMge1xuICAgIHpvb206IDE7IH1cbiAgICAuZmxleHNsaWRlciAuc2xpZGVzIGltZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mbGV4LXZpZXdwb3J0IHtcbiAgbWF4LWhlaWdodDogMjAwMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgfVxuICAubG9hZGluZyAuZmxleC12aWV3cG9ydCB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7IH1cblxuLmNhcm91c2VsIGxpIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLmZsZXgtZGlyZWN0aW9uLW5hdiB7XG4gICpoZWlnaHQ6IDA7IH1cbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbjogLTMwcHggMCAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsgfVxuICAgIC5mbGV4LWRpcmVjdGlvbi1uYXYgYTpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiZmxleHNsaWRlci1pY29uXCI7XG4gICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb250ZW50OiBcIu+AgVwiO1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOyB9XG4gICAgLmZsZXgtZGlyZWN0aW9uLW5hdiBhLmZsZXgtbmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIJcIjsgfVxuICAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYge1xuICAgIGxlZnQ6IC01MHB4OyB9XG4gIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dCB7XG4gICAgcmlnaHQ6IC01MHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5mbGV4c2xpZGVyOmhvdmVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtcHJldiB7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIGxlZnQ6IDEwcHg7IH1cbiAgICAuZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICByaWdodDogMTBweDsgfVxuICAgIC5mbGV4c2xpZGVyOmhvdmVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dDpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHotaW5kZXg6IC0xOyB9XG5cbi5mbGV4LXBhdXNlcGxheSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA1cHg7XG4gIGxlZnQ6IDEwcHg7XG4gIG9wYWNpdHk6IDAuODtcbiAgei1pbmRleDogMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMwMDA7IH1cbiAgLmZsZXgtcGF1c2VwbGF5IGE6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJmbGV4c2xpZGVyLWljb25cIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6IFwi74CEXCI7IH1cbiAgLmZsZXgtcGF1c2VwbGF5IGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsZXgtcGF1c2VwbGF5IGEuZmxleC1wbGF5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgINcIjsgfVxuXG4uZmxleC1jb250cm9sLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxleC1jb250cm9sLW5hdiBsaSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgNnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB6b29tOiAxO1xuICAgICpkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmZsZXgtY29udHJvbC1wYWdpbmcgbGkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYSB7XG4gICAgd2lkdGg6IDExcHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICM2NjY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgLW8tYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4OyB9XG4gICAgLmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gICAgLmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYS5mbGV4LWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5mbGV4LWNvbnRyb2wtdGh1bWJzIHtcbiAgbWFyZ2luOiA1cHggMCAwO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mbGV4LWNvbnRyb2wtdGh1bWJzIGxpIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAuZmxleC1jb250cm9sLXRodW1icyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAuNztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlOyB9XG4gICAgLmZsZXgtY29udHJvbC10aHVtYnMgaW1nOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsZXgtY29udHJvbC10aHVtYnMgLmZsZXgtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUkVTUE9OU0lWRVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODYwcHgpIHtcbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGxlZnQ6IDEwcHg7IH1cbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHJpZ2h0OiAxMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC50ZXN0aW1vbmlhbC1zbGlkZXIgLnRlc3RpbW9uaWFsLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAuNDY4NzVyZW0gMS44NzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAudGVzdGltb25pYWwtc2xpZGVyIC50ZXN0aW1vbmlhbC13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMy43NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLnRlc3RpbW9uaWFsLXNsaWRlciAudGVzdGltb25pYWwtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDYuMjVyZW07IH0gfVxuXG4udGVzdGltb25pYWwtc2xpZGVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgYSB7XG4gIG9wYWNpdHk6IDAuNzsgfVxuXG4udGVzdGltb25pYWwtc2xpZGVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtcHJldiB7XG4gIGxlZnQ6IDEwcHg7IH1cblxuLnRlc3RpbW9uaWFsLXNsaWRlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQge1xuICByaWdodDogMTBweDsgfVxuXG4uZmxleHNsaWRlcjpob3ZlciAudGVzdGltb25pYWwtc2xpZGVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtcHJldiB7XG4gIG9wYWNpdHk6IDAuNztcbiAgbGVmdDogMTBweDsgfVxuICAuZmxleHNsaWRlcjpob3ZlciAudGVzdGltb25pYWwtc2xpZGVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtcHJldjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uZmxleHNsaWRlcjpob3ZlciAudGVzdGltb25pYWwtc2xpZGVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dCB7XG4gIG9wYWNpdHk6IDAuNztcbiAgcmlnaHQ6IDEwcHg7IH1cbiAgLmZsZXhzbGlkZXI6aG92ZXIgLnRlc3RpbW9uaWFsLXNsaWRlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQ6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuZ3JpZC1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgQHN1cHBvcnRzIChncmlkLWF1dG8tcm93czogMXB4KSB7XG4gICAgLmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuaW1hZ2UtZ3JpZC1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtZ2FwOiAxLjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgIC5pbWFnZS1ncmlkLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1nYXA6IDMuMTI1cmVtOyB9IH1cbiAgICAgIC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuZ3JpZC1pdGVtIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4ubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyIC5ncmlkLWl0ZW0ge1xuICBtYXJnaW4tcmlnaHQ6IDElOyB9XG5cbi5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIuZ3JpZC1zbWFsbC1jb2wtMSAuZ3JpZC1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtc21hbGwtY29sLTIgLmdyaWQtaXRlbSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMSUpOyB9XG5cbi5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIuZ3JpZC1zbWFsbC1jb2wtMyAuZ3JpZC1pdGVtIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAxJSk7IH1cblxuLm1vZHVsZS0tZ2FsbGVyeS5pbWFnZS1ncmlkLWNvbnRhaW5lci5ncmlkLXNtYWxsLWNvbC00IC5ncmlkLWl0ZW0ge1xuICB3aWR0aDogY2FsYygxMDAlIC8gNCAtIDElKTsgfVxuXG4ubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtc21hbGwtY29sLTUgLmdyaWQtaXRlbSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLyA1IC0gMSUpOyB9XG5cbi5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIuZ3JpZC1zbWFsbC1jb2wtNiAuZ3JpZC1pdGVtIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDYgLSAxJSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1vZHVsZS0tZ2FsbGVyeS5pbWFnZS1ncmlkLWNvbnRhaW5lci5ncmlkLW1lZGl1bS1jb2wtMSAuZ3JpZC1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1vZHVsZS0tZ2FsbGVyeS5pbWFnZS1ncmlkLWNvbnRhaW5lci5ncmlkLW1lZGl1bS1jb2wtMiAuZ3JpZC1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDElKTsgfVxuICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtbWVkaXVtLWNvbC0zIC5ncmlkLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMSUpOyB9XG4gIC5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIuZ3JpZC1tZWRpdW0tY29sLTQgLmdyaWQtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQgLSAxJSk7IH1cbiAgLm1vZHVsZS0tZ2FsbGVyeS5pbWFnZS1ncmlkLWNvbnRhaW5lci5ncmlkLW1lZGl1bS1jb2wtNSAuZ3JpZC1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gNSAtIDElKTsgfVxuICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtbWVkaXVtLWNvbC02IC5ncmlkLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2IC0gMSUpOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtbGFyZ2UtY29sLTEgLmdyaWQtaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIuZ3JpZC1sYXJnZS1jb2wtMiAuZ3JpZC1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDElKTsgfVxuICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtbGFyZ2UtY29sLTMgLmdyaWQtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAxJSk7IH1cbiAgLm1vZHVsZS0tZ2FsbGVyeS5pbWFnZS1ncmlkLWNvbnRhaW5lci5ncmlkLWxhcmdlLWNvbC00IC5ncmlkLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gMSUpOyB9XG4gIC5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIuZ3JpZC1sYXJnZS1jb2wtNSAuZ3JpZC1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gNSAtIDElKTsgfVxuICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtbGFyZ2UtY29sLTYgLmdyaWQtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDYgLSAxJSk7IH0gfVxuXG5Ac3VwcG9ydHMgKGdyaWQtYXV0by1yb3dzOiAxcHgpIHtcbiAgLm1vZHVsZS0tZ2FsbGVyeS5pbWFnZS1ncmlkLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1nYXA6IDAuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgZ3JpZC1nYXA6IDAuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgZ3JpZC1nYXA6IDAuNzgxMjVyZW07IH0gfVxuICAgIC5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIuZ3JpZC1zbWFsbC1jb2wtMiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gICAgLm1vZHVsZS0tZ2FsbGVyeS5pbWFnZS1ncmlkLWNvbnRhaW5lci5ncmlkLXNtYWxsLWNvbC0zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH1cbiAgICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtc21hbGwtY29sLTQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgfVxuICAgIC5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIuZ3JpZC1zbWFsbC1jb2wtNSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpOyB9XG4gICAgLm1vZHVsZS0tZ2FsbGVyeS5pbWFnZS1ncmlkLWNvbnRhaW5lci5ncmlkLXNtYWxsLWNvbC02IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1vZHVsZS0tZ2FsbGVyeS5pbWFnZS1ncmlkLWNvbnRhaW5lci5ncmlkLW1lZGl1bS1jb2wtMiB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgICAgIC5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIuZ3JpZC1tZWRpdW0tY29sLTMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG4gICAgICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtbWVkaXVtLWNvbC00IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgfVxuICAgICAgLm1vZHVsZS0tZ2FsbGVyeS5pbWFnZS1ncmlkLWNvbnRhaW5lci5ncmlkLW1lZGl1bS1jb2wtNSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7IH1cbiAgICAgIC5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIuZ3JpZC1tZWRpdW0tY29sLTYge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtbGFyZ2UtY29sLTIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gICAgICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtbGFyZ2UtY29sLTMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG4gICAgICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtbGFyZ2UtY29sLTQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyB9XG4gICAgICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtbGFyZ2UtY29sLTUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpOyB9XG4gICAgICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyLmdyaWQtbGFyZ2UtY29sLTYge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpOyB9IH1cbiAgICAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyIC5ncmlkLWl0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG5Ac3VwcG9ydHMgKGdyaWQtYXV0by1yb3dzOiAxcHgpIHtcbiAgLmxvZ28tZ3JpZCAubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICBncmlkLWdhcDogMC40Njg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubG9nby1ncmlkIC5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIge1xuICAgICAgICBncmlkLWdhcDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAubG9nby1ncmlkIC5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIge1xuICAgICAgICBncmlkLWdhcDogMS41NjI1cmVtOyB9IH0gfVxuXG4ubG9nby1ncmlkIC5tb2R1bGUtLWdhbGxlcnkuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmdyaWQtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmxvY2F0aW9uLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmdyaWQtaXRlbSB7XG4gIHdpZHRoOiA0OSU7XG4gIG1hcmdpbjogLjUlO1xuICBoZWlnaHQ6IDE0MHB4OyB9XG4gIC5sb2NhdGlvbi1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIC5ncmlkLWl0ZW0uaW1hZ2UtNSB7XG4gICAgd2lkdGg6IDI0JTsgfVxuICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuZ3JpZC1pdGVtLmltYWdlLTYge1xuICAgIHdpZHRoOiAyNCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuZ3JpZC1pdGVtIHtcbiAgICAgIHdpZHRoOiAyNCU7XG4gICAgICBoZWlnaHQ6IDE4MHB4OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuZ3JpZC1pdGVtLmltYWdlLTUge1xuICAgICAgICB3aWR0aDogMTQuNSU7IH1cbiAgICAgIC5sb2NhdGlvbi1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIC5ncmlkLWl0ZW0uaW1hZ2UtNiB7XG4gICAgICAgIHdpZHRoOiAxNC41JTsgfVxuICAgICAgLmxvY2F0aW9uLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmdyaWQtaXRlbS5pbWFnZS04IHtcbiAgICAgICAgd2lkdGg6IDE4JTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuZ3JpZC1pdGVtIHtcbiAgICAgIGhlaWdodDogMjIwcHg7IH0gfVxuXG5Ac3VwcG9ydHMgKGdyaWQtYXV0by1yb3dzOiAxcHgpIHtcbiAgLmxvY2F0aW9uLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmdyaWQtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmxvY2F0aW9uLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIge1xuICAgICAgZ3JpZC1nYXA6IDAuNDY4NzVyZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTEsIDQwcHgpOyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtMSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAzO1xuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMzsgfVxuICAgICAgLmxvY2F0aW9uLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmltYWdlLTIge1xuICAgICAgICBncmlkLWNvbHVtbjogNCAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7IH1cbiAgICAgIC5sb2NhdGlvbi1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS01IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG4gICAgICAgIGdyaWQtcm93OiA0IC8gc3BhbiAyOyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtNiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0IC8gc3BhbiAyO1xuICAgICAgICBncmlkLXJvdzogMyAvIHNwYW4gMzsgfVxuICAgICAgLmxvY2F0aW9uLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmltYWdlLTcge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDYgLyBzcGFuIDM7IH1cbiAgICAgIC5sb2NhdGlvbi1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS0zIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyBzcGFuIDM7XG4gICAgICAgIGdyaWQtcm93OiA2IC8gc3BhbiA0OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtNCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICBncmlkLXJvdzogOSAvIHNwYW4gMzsgfVxuICAgICAgLmxvY2F0aW9uLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmltYWdlLTgge1xuICAgICAgICBncmlkLWNvbHVtbjogMyAvIHNwYW4gMztcbiAgICAgICAgZ3JpZC1yb3c6IDEwIC8gc3BhbiAyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciB7XG4gICAgICBncmlkLWdhcDogMC42MjVyZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI4JSAyMCUgMjglIDI0JTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDksIDMwcHgpOyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtMSB7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA1OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtMiB7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtMyB7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtNCB7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA2OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtNSB7XG4gICAgICAgIGdyaWQtcm93OiA2IC8gc3BhbiA0OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtNiB7XG4gICAgICAgIGdyaWQtcm93OiA1IC8gc3BhbiA1OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtNyB7XG4gICAgICAgIGdyaWQtcm93OiA1IC8gc3BhbiA1OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtOCB7XG4gICAgICAgIGdyaWQtcm93OiA3IC8gc3BhbiAzOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5sb2NhdGlvbi1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtZ2FwOiAwLjc4MTI1cmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoOSwgNDBweCk7IH0gfSB9XG5cbi5sb2NhdGlvbi1ncmlkLTIuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmdyaWQtaXRlbSB7XG4gIHdpZHRoOiA0OSU7XG4gIG1hcmdpbjogLjUlO1xuICBoZWlnaHQ6IDE0MHB4OyB9XG4gIC5sb2NhdGlvbi1ncmlkLTIuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmdyaWQtaXRlbS5pbWFnZS01IHtcbiAgICB3aWR0aDogMjQlOyB9XG4gIC5sb2NhdGlvbi1ncmlkLTIuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmdyaWQtaXRlbS5pbWFnZS02IHtcbiAgICB3aWR0aDogMjQlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxvY2F0aW9uLWdyaWQtMi5pbWFnZS1ncmlkLWNvbnRhaW5lciAuZ3JpZC1pdGVtIHtcbiAgICAgIHdpZHRoOiAyNCU7XG4gICAgICBoZWlnaHQ6IDE4MHB4OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIC5ncmlkLWl0ZW0uaW1hZ2UtNSB7XG4gICAgICAgIHdpZHRoOiAxNC41JTsgfVxuICAgICAgLmxvY2F0aW9uLWdyaWQtMi5pbWFnZS1ncmlkLWNvbnRhaW5lciAuZ3JpZC1pdGVtLmltYWdlLTYge1xuICAgICAgICB3aWR0aDogMTQuNSU7IH1cbiAgICAgIC5sb2NhdGlvbi1ncmlkLTIuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmdyaWQtaXRlbS5pbWFnZS04IHtcbiAgICAgICAgd2lkdGg6IDE4JTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIC5ncmlkLWl0ZW0ge1xuICAgICAgaGVpZ2h0OiAyMjBweDsgfSB9XG5cbkBzdXBwb3J0cyAoZ3JpZC1hdXRvLXJvd3M6IDFweCkge1xuICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIC5ncmlkLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5sb2NhdGlvbi1ncmlkLTIuaW1hZ2UtZ3JpZC1jb250YWluZXIge1xuICAgICAgZ3JpZC1nYXA6IDAuNDY4NzVyZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTEsIDQwcHgpOyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS0xIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDY7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAzOyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS01IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG4gICAgICAgIGdyaWQtcm93OiA0IC8gc3BhbiAzOyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS0zIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQgLyBzcGFuIDM7XG4gICAgICAgIGdyaWQtcm93OiA0IC8gc3BhbiA2OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS02IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG4gICAgICAgIGdyaWQtcm93OiA3IC8gc3BhbiAzOyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS0yIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgIGdyaWQtcm93OiAxMCAvIHNwYW4gMjsgfVxuICAgICAgLmxvY2F0aW9uLWdyaWQtMi5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtNCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiAyO1xuICAgICAgICBncmlkLXJvdzogMTAgLyBzcGFuIDI7IH1cbiAgICAgIC5sb2NhdGlvbi1ncmlkLTIuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmltYWdlLTcge1xuICAgICAgICBncmlkLWNvbHVtbjogNSAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDEwIC8gc3BhbiAyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtZ2FwOiAwLjYyNXJlbTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjglIDIwJSAyOCUgMjQlO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoOSwgNDBweCk7IH1cbiAgICAgIC5sb2NhdGlvbi1ncmlkLTIuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmltYWdlLTEge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gNTsgfVxuICAgICAgLmxvY2F0aW9uLWdyaWQtMi5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtMiB7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS0zIHtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDY7IH1cbiAgICAgIC5sb2NhdGlvbi1ncmlkLTIuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmltYWdlLTQge1xuICAgICAgICBncmlkLXJvdzogNiAvIHNwYW4gNDsgfVxuICAgICAgLmxvY2F0aW9uLWdyaWQtMi5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtNSB7XG4gICAgICAgIGdyaWQtcm93OiA2IC8gc3BhbiA0OyB9XG4gICAgICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS02IHtcbiAgICAgICAgZ3JpZC1yb3c6IDUgLyBzcGFuIDU7IH1cbiAgICAgIC5sb2NhdGlvbi1ncmlkLTIuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmltYWdlLTcge1xuICAgICAgICBncmlkLXJvdzogNyAvIHNwYW4gMzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubG9jYXRpb24tZ3JpZC0yLmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtZ2FwOiAwLjc4MTI1cmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoOSwgNTBweCk7IH0gfSB9XG5cbi5icmljay1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIC5ncmlkLWl0ZW0ge1xuICB3aWR0aDogNDklO1xuICBtYXJnaW46IC41JTtcbiAgaGVpZ2h0OiAxNDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmljay1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIC5ncmlkLWl0ZW0ge1xuICAgICAgd2lkdGg6IDI0JTtcbiAgICAgIGhlaWdodDogMjAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmJyaWNrLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmdyaWQtaXRlbSB7XG4gICAgICBoZWlnaHQ6IDMxMHB4OyB9IH1cblxuQHN1cHBvcnRzIChncmlkLWF1dG8tcm93czogMXB4KSB7XG4gIC5icmljay1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIC5ncmlkLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5icmljay1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtZ2FwOiAwLjQ2ODc1cmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTAsIDFmcik7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCAxNDBweCk7IH1cbiAgICAgIC5icmljay1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS0xIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNDsgfVxuICAgICAgLmJyaWNrLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmltYWdlLTIge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA2OyB9XG4gICAgICAuYnJpY2stZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtMyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDU7IH1cbiAgICAgIC5icmljay1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS00IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNTsgfVxuICAgICAgLmJyaWNrLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmltYWdlLTUge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA2OyB9XG4gICAgICAuYnJpY2stZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtNiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmljay1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtZ2FwOiAwLjYyNXJlbTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjUlIDEyJSAyMCUgOCUgMzAlO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMjAwcHgpOyB9XG4gICAgICAuYnJpY2stZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtMSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7IH1cbiAgICAgIC5icmljay1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS0yIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfVxuICAgICAgLmJyaWNrLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmltYWdlLTMge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyOyB9XG4gICAgICAuYnJpY2stZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciAuaW1hZ2UtNCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7IH1cbiAgICAgIC5icmljay1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS01IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfVxuICAgICAgLmJyaWNrLWdyaWQuaW1hZ2UtZ3JpZC1jb250YWluZXIgLmltYWdlLTYge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAxOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5icmljay1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtZ2FwOiAwLjc4MTI1cmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMzEwcHgpOyB9IH0gfVxuXG4vKiBNb2JpbGUgbWVudSAqL1xuLm9mZi1jYW52YXMge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLm9mZi1jYW52YXMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5vZmYtY2FudmFzIHVsIGxpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgLm9mZi1jYW52YXMgdWwgbGkgYSB7XG4gICAgICBjb2xvcjogI2U2ZTZlNjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LWZhbWlseTogXCJQZXJwZXR1YVwiLCBcIkdlb3JnaWFcIiwgc2VyaWY7IH1cbiAgLm9mZi1jYW52YXMgdWwgLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuICAgIGNvbG9yOiAjMGRhMWFjOyB9XG5cbiNtYWluLW1vYmlsZS1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTEwMCU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBoZWlnaHQ6IDEwMHZoO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjbWFpbi1tb2JpbGUtbWVudSB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDsgfSB9XG5cbi5vcGVuLW1haW4tbWVudSB7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLm1lbnVUb2dnbGUge1xuICByaWdodDogMDsgfVxuXG4uc2ltcGxlLXBhbmVsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUxZGM7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlIDAuMjVzO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnNpbXBsZS1wYW5lbCB7XG4gICAgICB3aWR0aDogOTB2dztcbiAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAxNXB4IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC5zaW1wbGUtcGFuZWwge1xuICAgICAgd2lkdGg6IDcwdnc7XG4gICAgICBwYWRkaW5nOiA0dmg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLnNpbXBsZS1wYW5lbCB7XG4gICAgICB3aWR0aDogNjB2dztcbiAgICAgIHBhZGRpbmc6IDEuNXZoIDZ2aDsgfSB9XG4gIC5zaW1wbGUtcGFuZWwgLnNpbXBsZS1wYW5lbC1pbm5lciB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnNpbXBsZS1wYW5lbC5yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5zaW1wbGUtcGFuZWwudG9wIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICAuc2ltcGxlLXBhbmVsLmJvdHRvbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgLnNpbXBsZS1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDAuMDFlbSAwIDAuNWVtICM3MzczNzM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgICAuc2ltcGxlLXBhbmVsLmlzLWFjdGl2ZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUxZGM7XG4gICAgICBjb2xvcjogIzEyMzI0NjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBhZGRpbmc6IDlweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIGxlZnQ6IC0xOHB4O1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgIC5zaW1wbGUtcGFuZWwuaXMtYWN0aXZlIC5jbG9zZS1idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgdG9wOiAwOyB9IH1cbiAgICAgIC5zaW1wbGUtcGFuZWwuaXMtYWN0aXZlIC5jbG9zZS1idXR0b24gLmNsb3NlLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAuc2ltcGxlLXBhbmVsLmlzLWFjdGl2ZSAuY2xvc2UtYnV0dG9uIC5jbG9zZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5zaW1wbGUtcGFuZWw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5zaW1wbGUtcGFuZWwgLnBhbmVsLWNvbnRhY3QtZm9ybSB7XG4gICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAuc2ltcGxlLXBhbmVsIC5wYW5lbC1jb250YWN0LWZvcm0ge1xuICAgICAgcGFkZGluZzogNHZoOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5zaW1wbGUtcGFuZWwgLnBhbmVsLWNvbnRhY3QtZm9ybSB7XG4gICAgICBwYWRkaW5nOiAxLjV2aCA2dmg7IH0gfVxuICAuc2ltcGxlLXBhbmVsIC5wYW5lbC1jb250YWN0LWZvcm0gLmdmb3JtX3dyYXBwZXIgaDMuZ2Zvcm1fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBlcnBldHVhXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLnNpbXBsZS1wYW5lbCAucGFuZWwtY29udGFjdC1mb3JtIC5nZm9ybV93cmFwcGVyIGgzLmdmb3JtX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuICAuc2ltcGxlLXBhbmVsIC5wYW5lbC1jb250YWN0LWZvcm0gLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9sYWJlbCxcbiAgLnNpbXBsZS1wYW5lbCAucGFuZWwtY29udGFjdC1mb3JtIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcmVxdWlyZWQge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5zaW1wbGUtcGFuZWwgLnBhbmVsLWNvbnRhY3QtZm9ybSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuICAuc2ltcGxlLXBhbmVsIC5wYW5lbC1jb250YWN0LWZvcm0gLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCB7XG4gICAgY29sb3I6ICMwOTc1N2Q7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnNpbXBsZS1wYW5lbCAucGFuZWwtY29udGFjdC1mb3JtIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAuc2ltcGxlLXBhbmVsIC5wYW5lbC1jb250YWN0LWZvcm0gLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDR2aDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuc2ltcGxlLXBhbmVsIC5wYW5lbC1jb250YWN0LWZvcm0gLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIHtcbiAgICAgIG1heC13aWR0aDogMzcuNXJlbTsgfVxuICAgICAgLnNpbXBsZS1wYW5lbCAucGFuZWwtY29udGFjdC1mb3JtIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnNpbXBsZS1wYW5lbCAucGFuZWwtY29udGFjdC1mb3JtIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciAuY29uZmlybWF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7IH0gfVxuXG4uaG9tZS1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2FyZF9wYWdlcyAuY2FyZCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtIDIuNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmNhcmRfcGFnZXMgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5jYXJkX3BhZ2VzIC5jYXJkIC5jYXJkLWNvbnRlbnQge1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cblxuLmNhcmRfcGFnZXMgLmNhcmQgLmNhcmQtaWNvbiB7XG4gIHdpZHRoOiA0LjM3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmNhcmQtc2hhZG93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNhcmQtc2hhZG93OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0uMWVtO1xuICAgIGxlZnQ6IC4xZW07XG4gICAgcmlnaHQ6IC4xZW07XG4gICAgdG9wOiAuNWVtO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC5jYXJkLXNoYWRvdzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAuY2FyZC1zaGFkb3c6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTsgfVxuICAuY2FyZC1zaGFkb3c6aG92ZXI6OmJlZm9yZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4xZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjFlbSk7IH1cbiAgLmNhcmQtc2hhZG93OmFjdGl2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4yZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjJlbSk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLmNhcmQtc2hhZG93OmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xZW0pO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5jYXJkLXNoYWRvdywgLmNhcmQtc2hhZG93OjpiZWZvcmUsIC5jYXJkLXNoYWRvdzo6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAsIDEsIDAuMywgMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAsIDEsIDAuMywgMSk7IH1cblxuLmNhcmQtc2hhZG93LXN1YnRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jYXJkLXNoYWRvdy1zdWJ0bGU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTsgfVxuICAuY2FyZC1zaGFkb3ctc3VidGxlOmhvdmVyOjpiZWZvcmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuMWVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4xZW0pOyB9XG4gIC5jYXJkLXNoYWRvdy1zdWJ0bGU6YWN0aXZlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjJlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuMmVtKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAuY2FyZC1zaGFkb3ctc3VidGxlOmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xZW0pO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5jYXJkLXNoYWRvdy1zdWJ0bGUsIC5jYXJkLXNoYWRvdy1zdWJ0bGU6OmJlZm9yZSwgLmNhcmQtc2hhZG93LXN1YnRsZTo6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAsIDEsIDAuMywgMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAsIDEsIDAuMywgMSk7IH1cblxuLypcbi5uZXdzLWNhcmRzLmdyaWQtY29udGFpbmVyIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHRcdGdyaWQtZ2FwOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKS8yO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Z3JpZC1nYXA6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKS8yO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRncmlkLWdhcDogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBsYXJnZSkvMjtcblx0fVxuXG59XG4qL1xuLm5ld3MtY2FyZHMgLmNhcmQtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5uZXdzLWNhcmRzIC5jYXJkLWl0ZW0gLmJvcmRlci1pbm5lciB7XG4gICAgcGFkZGluZzogOHB4OyB9XG4gIC5uZXdzLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtbGluayB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5ld3MtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbWFnZSB7XG4gICAgcGFkZGluZy10b3A6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC8qIElFIDkgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cbiAgLm5ld3MtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvOyB9XG4gICAgLm5ld3MtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvID4gaDYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlBlcnBldHVhXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5uZXdzLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaW5mbyA+IGgzIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLm5ld3MtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvIC5jYXJkLWRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgIC5uZXdzLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaW5mbyAuY2FyZC1kZXNjcmlwdGlvbiBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubmV3cy1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNnB4OyB9XG5cbi5uZXdzLWNhcmQubmV3c2xldHRlci1zdHlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmV3cy1jYXJkLm5ld3NsZXR0ZXItc3R5bGUgLmJvcmRlci1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm5ld3MtY2FyZC5uZXdzbGV0dGVyLXN0eWxlIC5jYXJkLWxpbmsge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5ld3MtY2FyZC5uZXdzbGV0dGVyLXN0eWxlIC5jYXJkLWxpbmsgLm5ld3NsZXR0ZXItcG9zdC1kYXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIGxlZnQ6IDAlO1xuICAgICAgcmlnaHQ6IDAlO1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDVweCAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYztcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMGRhMWFjO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICAubmV3cy1jYXJkLm5ld3NsZXR0ZXItc3R5bGUgLmNhcmQtbGluayAubmV3c2xldHRlci1wb3N0LWRhdGUge1xuICAgICAgICAgIGxlZnQ6IDUlO1xuICAgICAgICAgIHJpZ2h0OiA1JTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgIC5uZXdzLWNhcmQubmV3c2xldHRlci1zdHlsZSAuY2FyZC1saW5rIC5uZXdzbGV0dGVyLXBvc3QtZGF0ZSB7XG4gICAgICAgICAgbGVmdDogMTUlO1xuICAgICAgICAgIHJpZ2h0OiAxNSU7IH0gfVxuICAgICAgLm5ld3MtY2FyZC5uZXdzbGV0dGVyLXN0eWxlIC5jYXJkLWxpbmsgLm5ld3NsZXR0ZXItcG9zdC1kYXRlIC5uZXdzbGV0dGVyLXBvc3QtbW9udGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTsgfVxuICAgICAgLm5ld3MtY2FyZC5uZXdzbGV0dGVyLXN0eWxlIC5jYXJkLWxpbmsgLm5ld3NsZXR0ZXItcG9zdC1kYXRlIC5uZXdzbGV0dGVyLXBvc3QteWVhciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuMWVtOyB9XG4gICAgLm5ld3MtY2FyZC5uZXdzbGV0dGVyLXN0eWxlIC5jYXJkLWxpbmsgLmNhcmQtaW5mby1ob3ZlciB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTYwcHg7XG4gICAgICBsZWZ0OiAtMXB4O1xuICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICB6LWluZGV4OiA4MDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAubmV3cy1jYXJkLm5ld3NsZXR0ZXItc3R5bGUgLmNhcmQtbGluayAuY2FyZC1pbmZvLWhvdmVyIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgLm5ld3MtY2FyZC5uZXdzbGV0dGVyLXN0eWxlIC5jYXJkLWxpbms6aG92ZXIgLm5ld3NsZXR0ZXItcG9zdC1kYXRlLFxuICAubmV3cy1jYXJkLm5ld3NsZXR0ZXItc3R5bGUgLmNhcmQtbGluazpmb2N1cyAubmV3c2xldHRlci1wb3N0LWRhdGUge1xuICAgIGJvdHRvbTogLTYwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgfVxuICAubmV3cy1jYXJkLm5ld3NsZXR0ZXItc3R5bGUgLmNhcmQtbGluazpob3ZlciAuY2FyZC1pbmZvLWhvdmVyLFxuICAubmV3cy1jYXJkLm5ld3NsZXR0ZXItc3R5bGUgLmNhcmQtbGluazpmb2N1cyAuY2FyZC1pbmZvLWhvdmVyIHtcbiAgICBib3R0b206IC0xcHg7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyB9XG5cbi5ldmVudHMtY2FyZHMgLmNhcmQtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5ldmVudHMtY2FyZHMgLmNhcmQtaXRlbSAuYm9yZGVyLWlubmVyIHtcbiAgICBwYWRkaW5nOiA4cHg7IH1cbiAgLmV2ZW50cy1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWxpbmsge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ldmVudHMtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmV2ZW50cy1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWluZm8gPiBoNiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUGVycGV0dWFcIiwgXCJHZW9yZ2lhXCIsIHNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmV2ZW50cy1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWluZm8gPiBoMyB7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5ldmVudHMtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvIC5jYXJkLWRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgIC5ldmVudHMtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvIC5jYXJkLWRlc2NyaXB0aW9uIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5ldmVudHMtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjZweDsgfVxuXG4uYXZhaWxhYmlsaXR5LWNhcmQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuYXZhaWxhYmlsaXR5LWNhcmQgLmJvcmRlci1pbm5lciB7XG4gICAgcGFkZGluZzogOHB4OyB9XG4gIC5hdmFpbGFiaWxpdHktY2FyZCAuY2FyZC1saW5rIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYXZhaWxhYmlsaXR5LWNhcmQgLmNhcmQtaW1hZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAvKiBJRSA5ICovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG4gIC5hdmFpbGFiaWxpdHktY2FyZCAuY2FyZC1pbmZvIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvOyB9XG4gICAgLmF2YWlsYWJpbGl0eS1jYXJkIC5jYXJkLWluZm8gPiBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5hdmFpbGFiaWxpdHktY2FyZCAuY2FyZC1pbmZvID4gaDMge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuYXZhaWxhYmlsaXR5LWNhcmQgLmNhcmQtaW5mbyAuY2FyZC1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgICAuYXZhaWxhYmlsaXR5LWNhcmQgLmNhcmQtaW5mbyAuY2FyZC1kZXNjcmlwdGlvbiBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYXZhaWxhYmlsaXR5LWNhcmQgLmNhcmQtYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI2cHg7IH1cblxuLmNhcmUtY2FyZHMgLmNhcmQtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jYXJlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtbGluayB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNhcmUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbWFnZSB7XG4gICAgcGFkZGluZy10b3A6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC8qIElFIDkgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cbiAgLmNhcmUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvIHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvOyB9XG4gICAgLmNhcmUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvID4gaDUge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuY2FyZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWluZm8gPiBoMyB7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5jYXJlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaW5mbyAuY2FyZC1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgICAuY2FyZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWluZm8gLmNhcmQtZGVzY3JpcHRpb24gcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhcmUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1idXR0b24ge1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI2cHg7IH1cblxuLmxvY2F0aW9uLWNhcmRzIC5jYXJkLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAubG9jYXRpb24tY2FyZHMgLmNhcmQtaXRlbSAuYm9yZGVyLWlubmVyIHtcbiAgICBwYWRkaW5nOiA1JTsgfVxuICAubG9jYXRpb24tY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1saW5rIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubG9jYXRpb24tY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbWFnZSB7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAvKiBJRSA5ICovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG4gIC5sb2NhdGlvbi1jYXJkcyAuY2FyZC1pdGVtIC5vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5sb2NhdGlvbi1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLXNwYWNlciB7XG4gICAgaGVpZ2h0OiAxMCU7IH1cbiAgLmxvY2F0aW9uLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaW5mbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAubG9jYXRpb24tY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvID4gaDUge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAubG9jYXRpb24tY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvIC5jYXJkLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubG9jYXRpb24tY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1idXR0b24ge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDUlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sb2NhdGlvbi1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5sb2NhdGlvbi1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI2cHg7IH0gfVxuXG4ubG9jYXRpb24tY2FyZHMubG9jYXRpb25zLW1pbmltYWwgLmNhcmQtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5sb2NhdGlvbi1jYXJkcy5sb2NhdGlvbnMtbWluaW1hbCAuY2FyZC1pdGVtIC5ib3JkZXItaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmxvY2F0aW9uLWNhcmRzLmxvY2F0aW9ucy1taW5pbWFsIC5jYXJkLWl0ZW0gLmNhcmQtaW1hZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA2NiU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAvKiBJRSA5ICovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG4gIC5sb2NhdGlvbi1jYXJkcy5sb2NhdGlvbnMtbWluaW1hbCAuY2FyZC1pdGVtIC5jYXJkLWluZm8ge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuMzEyNXJlbSAwLjMxMjVyZW07IH1cbiAgICAubG9jYXRpb24tY2FyZHMubG9jYXRpb25zLW1pbmltYWwgLmNhcmQtaXRlbSAuY2FyZC1pbmZvID4gaDUge1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAgIC5sb2NhdGlvbi1jYXJkcy5sb2NhdGlvbnMtbWluaW1hbCAuY2FyZC1pdGVtIC5jYXJkLWluZm8gLmNhcmQtZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uc3RvcnktY2FyZHMgLmNhcmQtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zdG9yeS1jYXJkcyAuY2FyZC1pdGVtIC5ib3JkZXItaW5uZXIge1xuICAgIHBhZGRpbmc6IDhweDsgfVxuICAuc3RvcnktY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1saW5rIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RvcnktY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbWFnZSB7XG4gICAgcGFkZGluZy10b3A6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC8qIElFIDkgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cbiAgLnN0b3J5LWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaW5mbyB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgIC5zdG9yeS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWluZm8gPiBoMyB7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5zdG9yeS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWluZm8gLmNhcmQtZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc3RvcnktY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjZweDsgfVxuXG4uc3VpdGUtY2FyZHMge1xuICAvKlxuXHQuY2VsbC1ib3JkZXItb3V0ZXIge1xuXHRcdCY6aG92ZXIsXG5cdFx0JjphY3RpdmUsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgOHB4IDNweCByZ2JhKDAsMCwwLDAuMyk7XG5cdFx0fVxuXHR9XG4qLyB9XG4gIC5zdWl0ZS1jYXJkcyAuY2FyZC1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zdWl0ZS1jYXJkcyAuY2FyZC1pdGVtIC5ib3JkZXItaW5uZXIge1xuICAgICAgcGFkZGluZzogOHB4OyB9XG4gICAgLnN1aXRlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtbGluayB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zdWl0ZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctdG9wOiA3MCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgLyogSUUgOSAqL1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgfVxuICAgIC5zdWl0ZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWluZm8ge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zdWl0ZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWluZm8ge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAuc3VpdGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvIHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgICAgIC5zdWl0ZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWluZm8gPiBoNiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlBlcnBldHVhXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIC5zdWl0ZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWluZm8gPiBoMyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLnN1aXRlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc3VpdGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAuc3VpdGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI2cHg7IH0gfVxuXG4uc3VpdGUtY2FyZHMgLnN0YXR1cy1sYWJlbC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAtMTBweDtcbiAgcGFkZGluZzogMTBweCAxNXB4IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYztcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuc3VpdGUtY2FyZHMgLnN0YXR1cy1sYWJlbC10ZXh0IHtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40ZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc3VpdGUtY2FyZHMgLmxhcmdlLTEyIC5zdGF0dXMtbGFiZWwtdGV4dCB7XG4gICAgdG9wOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS42ZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5zdWl0ZS1jYXJkcyAubGFyZ2UtMTIgLnN0YXR1cy1sYWJlbC10ZXh0IHtcbiAgICB0b3A6IDQwcHg7XG4gICAgZm9udC1zaXplOiAxLjZlbTsgfSB9XG5cbi5nYWxsZXJ5LWNhcmQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuZ2FsbGVyeS1jYXJkIC5nYWxsZXJ5LWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDkuMzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5nYWxsZXJ5LWNhcmQgLmdhbGxlcnktaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDkuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAuZ2FsbGVyeS1jYXJkIC5nYWxsZXJ5LWltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxMS4yNXJlbTsgfSB9XG5cbi5jYXJlZXJzLWNhcmQgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTBlMWRjO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLmNhcmVlcnMtY2FyZCBoNCB7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cblxuLmNhcmVlcnMtY2FyZCBoNSB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuLnRlYW0tY2FyZHMgLmNhcmQtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC50ZWFtLWNhcmRzIC5jYXJkLWl0ZW0gLmJvcmRlci1pbm5lciB7XG4gICAgcGFkZGluZzogOHB4OyB9XG4gIC50ZWFtLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtbGluayB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnRlYW0tY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbWFnZSB7XG4gICAgcGFkZGluZy10b3A6IDkwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC8qIElFIDkgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cbiAgLnRlYW0tY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvOyB9XG4gICAgLnRlYW0tY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pbmZvID4gaDMge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAudGVhbS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWluZm8gLmNhcmQtZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudGVhbS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNnB4OyB9XG5cbi5zaXRlcy1idXR0b24sXG4uYnV0dG9uLWdyb3VwIC5idXR0b24sXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbl9zZWxlY3RfZmlsZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRhMWFjO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ucGFuZWwtY29udGFjdC1mb3JtIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbixcbi5wYW5lbC1jb250YWN0LWZvcm0gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24sXG4ucGFuZWwtY29udGFjdC1mb3JtIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYyAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbixcbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24sXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1zdWJtaXRdLFxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgaW5wdXQuYnV0dG9uLFxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgZm9udC1mYW1pbHk6IFwiUGVycGV0dWFcIiwgXCJHZW9yZ2lhXCIsIHNlcmlmO1xuICBwYWRkaW5nOiAwLjc1ZW0gMS44ZW0gMC41NWVtICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIsXG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246aG92ZXIsXG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIsXG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIGlucHV0LmJ1dHRvbjpob3ZlcixcbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI4OTkyO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLWN0YSAuYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5wICsgLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgcCArIC5idXR0b24tZ3JvdXAubm8tbWFyZ2luIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuYnV0dG9uLWdyb3VwLm5vLW1hcmdpbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4udGV4dC1jZW50ZXIgLmJ1dHRvbi1ncm91cCAuYnV0dG9uLCAuYXJjaGl2ZS1oZWFkaW5nIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmFsaWduLWNlbnRlci5idXR0b24tZ3JvdXAgLmJ1dHRvbiwgLnRleHQtY2VudGVyIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiwgLmFyY2hpdmUtaGVhZGluZyAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuZXF1YWwtd2lkdGguYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIHdpZHRoOiA2NXZ3OyB9IH1cblxuLmVubGFyZ2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6IDIwcHg7IH1cblxuLmFyY2hpdmUtbGluayB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi5idXR0b24ubGluay1ib3JkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2ZDZlNzA7XG4gIHBhZGRpbmc6IDRweCAwO1xuICBtYXJnaW46IDEwcHggMCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogcmlnaHQgLjRzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiByaWdodCAuNHMgZWFzZS1vdXQ7IH1cbiAgLmJ1dHRvbi5saW5rLWJvcmRlciAuZmFzIHtcbiAgICBmb250LXNpemU6IDAuN2VtOyB9XG4gIC5idXR0b24ubGluay1ib3JkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjMGRhMWFjO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC00cHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMzAlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogcmlnaHQgLjRzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IHJpZ2h0IC40cyBlYXNlLW91dDsgfVxuICAuYnV0dG9uLmxpbmstYm9yZGVyOmhvdmVyLCAuYnV0dG9uLmxpbmstYm9yZGVyOmFjdGl2ZSwgLmJ1dHRvbi5saW5rLWJvcmRlcjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMwZGExYWMgIWltcG9ydGFudDsgfVxuICAuYnV0dG9uLmxpbmstYm9yZGVyOmhvdmVyOjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGI4OTkyO1xuICAgIHJpZ2h0OiAwOyB9XG5cbi5idXR0b24ubGluay1ib3JkZXIubGluay1ib3JkZXItc21hbGwge1xuICBwYWRkaW5nOiA0cHggMCAycHg7IH1cbiAgLmJ1dHRvbi5saW5rLWJvcmRlci5saW5rLWJvcmRlci1zbWFsbDphZnRlciB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIGJvdHRvbTogLTJweDsgfVxuXG4udGV4dC1jZW50ZXIgLmJ1dHRvbi5saW5rLWJvcmRlciwgLmFyY2hpdmUtaGVhZGluZyAuYnV0dG9uLmxpbmstYm9yZGVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IC40cyBlYXNlLW91dCwgcmlnaHQgLjRzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBsZWZ0IC40cyBlYXNlLW91dCwgcmlnaHQgLjRzIGVhc2Utb3V0OyB9XG4gIC50ZXh0LWNlbnRlciAuYnV0dG9uLmxpbmstYm9yZGVyOmFmdGVyLCAuYXJjaGl2ZS1oZWFkaW5nIC5idXR0b24ubGluay1ib3JkZXI6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAuNHMgZWFzZS1vdXQsIHJpZ2h0IC40cyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IC40cyBlYXNlLW91dCwgcmlnaHQgLjRzIGVhc2Utb3V0O1xuICAgIGxlZnQ6IDIwJTtcbiAgICByaWdodDogMjAlOyB9XG4gIC50ZXh0LWNlbnRlciAuYnV0dG9uLmxpbmstYm9yZGVyOmhvdmVyOjphZnRlciwgLmFyY2hpdmUtaGVhZGluZyAuYnV0dG9uLmxpbmstYm9yZGVyOmhvdmVyOjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGI4OTkyO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7IH1cblxuLmNhcmQtc2hhZG93OmhvdmVyIC5idXR0b24ubGluay1ib3JkZXI6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMGI4OTkyO1xuICByaWdodDogMDsgfVxuXG4uY2FyZC1zaGFkb3c6aG92ZXIgLnRleHQtY2VudGVyIC5idXR0b24ubGluay1ib3JkZXI6OmFmdGVyLCAuY2FyZC1zaGFkb3c6aG92ZXIgLmFyY2hpdmUtaGVhZGluZyAuYnV0dG9uLmxpbmstYm9yZGVyOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogIzBiODk5MjtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5pbWFnZS1oZWFkZXIgLmJ1dHRvbixcbiAgLmltYWdlLWhlYWRlci1sYXJnZSAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwLjU1ZW0gMWVtIDAuNDVlbTsgfSB9XG5cbi5idXR0b24udGhpbiB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBwYWRkaW5nOiAwLjQ1ZW0gMWVtIDAuMjVlbTsgfVxuXG4uY2FyZHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC45Mzc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNDY4NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNDY4NzVyZW07IH1cbiAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIC5jYXJkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC43cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjM1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zNXJlbTsgfSB9XG5cbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mdWxsLXdpZHRoLXRpdGxlIHtcbiAgcGFkZGluZzogMzNweCAwIDIwcHggMDsgfVxuICAuZnVsbC13aWR0aC10aXRsZSBoMSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnVsbC13aWR0aC10aXRsZSBoMSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuLmZvcm0ge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZm9ybS1ibHVyYiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZW50cnktdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmZvcm0gaW5wdXRbdHlwZT0ndGV4dCddLFxuZm9ybSBpbnB1dFt0eXBlPSd0ZWwnXSxcbmZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG5mb3JtIHRleHRhcmVhIHtcbiAgaGVpZ2h0OiAxMDBweDsgfVxuXG5mb3JtIGRpdiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuZm9ybSB0YWJsZSB0Ym9keSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBmb3JtIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSwgZm9ybSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmZvcm0gI3JlY2FwdGNoYV93aWRnZXRfZGl2IHtcbiAgbWFyZ2luLXRvcDogLTExMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmZvcm0gLmlubGluZS1pbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZm9ybSAuaW5saW5lLWlucHV0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG5mb3JtIC5pbmxpbmUtaW5wdXQtZW5xdWlyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZm9ybSAuaW5saW5lLWlucHV0LWVucXVpcnkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDQ5JTsgfSB9XG5cbmZvcm0gLmlubGluZS1jaGVja2JveCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBmb3JtIC5pbmxpbmUtY2hlY2tib3ggbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuXG5mb3JtIC5pbmxpbmUtY2hlY2tib3gtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG5mb3JtIC5jb250YWN0LWZvcm1fY29udGFpbmVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmZvcm0gLmNvbnRhY3QtcGFnZV9kZXRhaWxzX2NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciB7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBtYXJnaW46IDA7IH1cbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciBoMi5nc2VjdGlvbl90aXRsZSxcbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciBoMy5nZm9ybV90aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciAubGlzdC1kcm9wZG93bi13cmFwIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW0gIWltcG9ydGFudDsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmaWVsZF9sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9iZWxvdyAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgaW5wdXQsIGJvZHkgLmdmb3JtX3dyYXBwZXIgc2VsZWN0LCBib2R5IC5nZm9ybV93cmFwcGVyIHRleHRhcmVhIHtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciBsaS5oaWRkZW5fbGFiZWwgaW5wdXQsXG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgdWwgbGkuZ2ZpZWxkLFxuICBib2R5IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZixcbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmLFxuICBib2R5IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgZGl2LmdpbnB1dF9jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBib2R5IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgYm9keSAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIGJvZHkgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90d29fdGhpcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDY2LjYlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAgIGJvZHkgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfb25lX2ZvdXJ0aCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAgIGJvZHkgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdHdvX2ZpZnRoIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgYm9keSAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9vbmVfZmlmdGgge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICBib2R5IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xhc3RfZmlmdGgge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZ2ZpZWxkX2xhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCxcbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIG1hcmdpbi10b3A6IC01cHggIWltcG9ydGFudDsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5maWVsZF9kZXNjcmlwdGlvbl9iZWxvdyAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzZkNmU3MDsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBGaXJlZm94IDE4LSAqL1xuICAgIGNvbG9yOiAjNmQ2ZTcwOyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBGaXJlZm94IDE5KyAqL1xuICAgIGNvbG9yOiAjNmQ2ZTcwOyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM2ZDZlNzA7IH1cbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciBzZWxlY3Qgb3B0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIHNlbGVjdCBvcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImJ1dHRvblwiXSk6bm90KFt0eXBlPVwiaW1hZ2VcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pIHtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2dlY2tvIHNlbGVjdCxcbiAgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSBzZWxlY3Qge1xuICAgIHBhZGRpbmc6IDJweCAyNHB4IDJweCA4cHg7IH1cbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5nZl9yZWFkb25seSAuZ2ZpZWxkX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmX3JlYWRvbmx5LmxvY2F0aW9uLW5hbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBib2R5IC5nZm9ybV93cmFwcGVyIC5nZl9yZWFkb25seS5sb2NhdGlvbi1uYW1lIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5nZl9yZWFkb25seSB0ZXh0YXJlYVtyZWFkb25seV0ge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBmb250LXNpemU6IDEuOGVtO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDM3cHg7XG4gICAgbWluLWhlaWdodDogMDsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5nZl9yZWFkb25seSBpbnB1dFtyZWFkb25seV0ge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBmb250LXNpemU6IDEuOGVtO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciAuZ2ZfcmVhZG9ubHkubG9jYXRpb24tY29udGFjdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmX3JlYWRvbmx5LmxvY2F0aW9uLWNvbnRhY3QgdGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zZW07IH1cbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCxcbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCxcbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF80Y29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgYm9keSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF80Y29sIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLmxvY2F0aW9uLW5hbWUsXG4ubG9jYXRpb24tY29udGFjdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhbmVsLWNvbnRhY3QtZm9ybSAubG9jYXRpb24tbmFtZSxcbi5wYW5lbC1jb250YWN0LWZvcm0gLmxvY2F0aW9uLWNvbnRhY3Qge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5mb3JtLWNvbHVtbnMgLmdmb3JtX211bHRpX2NvbHVtbl93cmFwcGVyIC5nZm9ybV9ib2R5LFxuICAuZm9ybS1jb2x1bW5zIC5nZm9ybV9wYWdlX211bHRpX2NvbHVtbiAuZ2Zvcm1fcGFnZV9maWVsZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgIG1hcmdpbi1yaWdodDogLThweDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTZweCkgIWltcG9ydGFudDsgfVxuICAuZm9ybS1jb2x1bW5zIC5nZm9ybV9tdWx0aV9jb2x1bW5fd3JhcHBlciAuZ2Zvcm1fYm9keTphZnRlcixcbiAgLmZvcm0tY29sdW1ucyAuZ2Zvcm1fcGFnZV9tdWx0aV9jb2x1bW4gLmdmb3JtX3BhZ2VfZmllbGRzOmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmZvcm0tY29sdW1ucyAuZ2Zvcm1fbXVsdGlfY29sdW1uX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzLFxuICAuZm9ybS1jb2x1bW5zIC5nZm9ybV9wYWdlX211bHRpX2NvbHVtbiB1bC5nZm9ybV9maWVsZHMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxuICAuZm9ybS1jb2x1bW5zIC5nZm9ybV9jb2x1bW5fY291bnRfMl93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyxcbiAgLmZvcm0tY29sdW1ucyAuZ2Zvcm1fcGFnZV9jb2x1bW5fY291bnRfMiB1bC5nZm9ybV9maWVsZHMge1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLmZvcm0tY29sdW1ucyAuZ2Zvcm1fY29sdW1uX2NvdW50XzJfd3JhcHBlciB1bC5nZm9ybV9maWVsZHMuY29sdW1uXzIsXG4gIC5mb3JtLWNvbHVtbnMgLmdmb3JtX3BhZ2VfY29sdW1uX2NvdW50XzIgdWwuZ2Zvcm1fZmllbGRzLmNvbHVtbl8yIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC5mb3JtLWNvbHVtbnMgLmdmb3JtX2NvbHVtbl9jb3VudF8zX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzLFxuICAuZm9ybS1jb2x1bW5zIC5nZm9ybV9wYWdlX2NvbHVtbl9jb3VudF8zIHVsLmdmb3JtX2ZpZWxkcyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMyU7IH1cbiAgLmZvcm0tY29sdW1ucyAuZ2Zvcm1fY29sdW1uX2NvdW50XzRfd3JhcHBlciB1bC5nZm9ybV9maWVsZHMsXG4gIC5mb3JtLWNvbHVtbnMgLmdmb3JtX3BhZ2VfY29sdW1uX2NvdW50XzQgdWwuZ2Zvcm1fZmllbGRzIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5mb3JtLWNvbHVtbnMgLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEubWVkaXVtIHtcbiAgICBoZWlnaHQ6IDIyNXB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZm9ybS1jb2x1bW5zIC5nZm9ybV93cmFwcGVyIHRleHRhcmVhLm1lZGl1bSB7XG4gICAgaGVpZ2h0OiAyNDBweDsgfSB9XG5cbi5oaWRlLWFjY29tbW9kYXRpb24tY2hlY2tib3ggLmFjY29tbW9kYXRpb24tY2hlY2tib3gge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5oaWRlLXNlc3Npb24tZmllbGQgLmZvcm0tZmllbGQtc2Vzc2lvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmxvY2F0aW9uLW5hbWUsIGJvZHkgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5sb2NhdGlvbi1jb250YWN0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5ib2R5IC5wYW5lbC1jb250YWN0LWZvcm0gLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5sb2NhdGlvbi1uYW1lLCBib2R5IC5wYW5lbC1jb250YWN0LWZvcm0gLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5sb2NhdGlvbi1jb250YWN0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jc2VhcmNoLWNvbnRhaW5lci13cmFwcGVyIHtcbiAgd2lkdGg6IDgwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuI3NlYXJjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDYwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG4gIC1tb3otdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNlYXJjaGJveCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbiAgLW1vei10cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuICAtbXMtdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbiAgLW8tdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zczsgfVxuXG4uc2VhcmNoYm94LWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjBweDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxNHB4IDY1cHggMTBweCAyMHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDMycHg7XG4gIGNvbG9yOiAjMmMzZTUwOyB9XG4gIC5zZWFyY2hib3gtaW5wdXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLnNlYXJjaGJveC1pbnB1dCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwcHg7IH1cblxuLnNlYXJjaGJveC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMTIzMjQ2OyB9XG5cbi5zZWFyY2hib3gtaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMTIzMjQ2OyB9XG5cbi5zZWFyY2hib3gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzEyMzI0NjsgfVxuXG4uc2VhcmNoYm94LWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMTIzMjQ2OyB9XG5cbi5zZWFyY2hib3gtaWNvbixcbi5zZWFyY2hib3gtc3VibWl0IHtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNlYXJjaGJveC1pY29uOmhvdmVyLFxuICAuc2VhcmNoYm94LXN1Ym1pdDpob3ZlciB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cblxuLnNlYXJjaGJveC1zdWJtaXQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAvKiBJRSBuZWVkcyB0aGlzICovXG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjtcbiAgLyogSUUgOCAqL1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gIC8qIElFIDUtNyAqL1xuICBvcGFjaXR5OiAwO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgei1pbmRleDogLTE7IH1cblxuLnNlYXJjaGJveC1pY29uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICMxMjMyNDY7XG4gIHotaW5kZXg6IDkwO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IH1cblxuLm1lbnUtaXRlbSAuc2VhcmNoYm94LWljb24ge1xuICBmb250LXNpemU6IDIycHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcbi5zZWFyY2hib3gtaWNvbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTAwMFwiO1xufVxuKi9cbi5tb2JpbGUtc2VhcmNoIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAubW9iaWxlLXNlYXJjaCAuaWNvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubW9iaWxlLXNlYXJjaCAuc2VhcmNoQnRuIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGY4ZjhmO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAwIDE1cHggMCAxMHB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBtYXJnaW4tbGVmdDogMTNweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1vYmlsZS1zZWFyY2ggLm1vYmlsZS1zZWFyY2gtaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5tb2JpbGUtc2VhcmNoIC5tb2JpbGUtc2VhcmNoLWlucHV0IGlucHV0IHtcbiAgICAgIGJhY2tncm91bmQ6ICM4ZjhmOGY7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgaGVpZ2h0OiAzNXB4OyB9XG4gICAgICAubW9iaWxlLXNlYXJjaCAubW9iaWxlLXNlYXJjaC1pbnB1dCBpbnB1dDpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7IH1cbiAgICAubW9iaWxlLXNlYXJjaCAubW9iaWxlLXNlYXJjaC1pbnB1dCBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5tb2JpbGUtc2VhcmNoIC5tb2JpbGUtc2VhcmNoLWlucHV0IGlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAubW9iaWxlLXNlYXJjaCAubW9iaWxlLXNlYXJjaC1pbnB1dCBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5tb2JpbGUtc2VhcmNoIC5tb2JpbGUtc2VhcmNoLWlucHV0IGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubW9iaWxlLXNlYXJjaCAuc2VhcmNoLWljb24ge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbmZvcm0jZGVzaWduRm9ybSBzZWxlY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogN3B4IDUwcHggN3B4IDEzcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMXB4IDhweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTUlIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1vcmlnaW46IHBhZGRpbmctYm94O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjEgIWltcG9ydGFudDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogdGhpcyBpcyBtdXN0ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gIGZvcm0jZGVzaWduRm9ybSBzZWxlY3Qgb3B0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDRweDsgfVxuXG4udGl0bGUtYmFyLWp1bXAtbWVudSBmb3JtI2Rlc2lnbkZvcm0gc2VsZWN0IHtcbiAgcGFkZGluZzogMTBweCAzMHB4IDhweCA4cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKm1hcmdpbjogMCBhdXRvOyovXG4gIHdpZHRoOiAxMDAlOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgLypib3JkZXItdG9wOiAxcHggc29saWQgI2I5OTQwMDsqL1xuICAvKmJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZkNjMxOyovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyphbmltYXRlOiAwLjJzOyovXG4gIC8qYm94LXNoYWRvdzogMHB4IDBweCAwcHggIzAwMDAwMCwgMHB4IDBweCAwcHggIzBkMGQwZDsqL1xuICBiYWNrZ3JvdW5kOiAjMGRhMWFjO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKmJvcmRlcjogMHB4IHNvbGlkICMwMDAxMDE7Ki9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIC8qYm94LXNoYWRvdzogMHB4IDBweCAwcHggIzAwMDAwMCwgMHB4IDBweCAwcHggIzBkMGQwZDsqL1xuICBib3JkZXI6IDZweCBzb2xpZCAjMGRhMWFjO1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlOyB9XG5cbi8qaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbn0qL1xuaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2cHg7XG4gIC8qYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiOTk0MDA7Ki9cbiAgLypib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZDYzMTsqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGFuaW1hdGU6IDAuMnM7XG4gIC8qYm94LXNoYWRvdzogMHB4IDBweCAwcHggIzAwMDAwMCwgMHB4IDBweCAwcHggIzBkMGQwZDsqL1xuICBiYWNrZ3JvdW5kOiAjMGRhMWFjO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKmJvcmRlcjogMHB4IHNvbGlkICMwMDAxMDE7Ki9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXM7XG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1iIHtcbiAgLypib3gtc2hhZG93OiAwcHggMHB4IDBweCAjMDAwMDAwLCAwcHggMHB4IDBweCAjMGQwZDBkOyovXG4gIGJvcmRlcjogM3B4IHNvbGlkICMwZGExYWM7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0xNHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2U7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgLypib3JkZXItdG9wOiAxcHggc29saWQgI2I5OTQwMDsqL1xuICAvKmJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZkNjMxOyovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYW5pbWF0ZTogMC4ycztcbiAgLypib3gtc2hhZG93OiAwcHggMHB4IDBweCAjMDAwMDAwLCAwcHggMHB4IDBweCAjMGQwZDBkOyovXG4gIC8qcmVtb3ZlIGJnIGNvbG91ciBmcm9tIHRoZSB0cmFjaywgd2UnbGwgdXNlIG1zLWZpbGwtbG93ZXIgYW5kIG1zLWZpbGwtdXBwZXIgaW5zdGVhZCAqL1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLypsZWF2ZSByb29tIGZvciB0aGUgbGFyZ2VyIHRodW1iIHRvIG92ZXJmbG93IHdpdGggYSB0cmFuc3BhcmVudCBib3JkZXIgKi9cbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAyMHB4IDA7XG4gIC8qcmVtb3ZlIGRlZmF1bHQgdGljayBtYXJrcyovXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLypib3JkZXI6IDBweCBzb2xpZCAjMDAwMTAxOyovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTsgfVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtbG93ZXIge1xuICBiYWNrZ3JvdW5kOiAjMGRhMWFjO1xuICBib3JkZXI6IDBweCBzb2xpZCAjMDAwMTAxO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC11cHBlciB7XG4gIGJhY2tncm91bmQ6ICMwZGExYWM7XG4gIGJvcmRlcjogMHB4IHNvbGlkICMwMDAxMDE7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10aHVtYiB7XG4gIC8qYm94LXNoYWRvdzogMHB4IDBweCAwcHggIzAwMDAwMCwgMHB4IDBweCAwcHggIzBkMGQwZDsqL1xuICBib3JkZXI6IDNweCBzb2xpZCAjMGRhMWFjO1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAwLjFzO1xuICAtby10cmFuc2l0aW9uOiBib3JkZXIgMC4xcztcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMXM7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXM6Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZDogIzBkYTFhYzsgfVxuXG5pbnB1dFt0eXBlPXJhbmdlXTpmb2N1czo6LW1zLWZpbGwtdXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjMGRhMWFjOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdOmhvdmVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICMwZGExYWM7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06aG92ZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgLypiYWNrZ3JvdW5kOiAjZmZmOyovXG4gIGJvcmRlci1jb2xvcjogIzBkYTFhYzsgfVxuXG5pbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogIzBkYTFhYzsgfVxuXG5pbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgLypiYWNrZ3JvdW5kOiAjZmZmOyovXG4gIGJvcmRlci1jb2xvcjogIzBkYTFhYzsgfVxuXG5pbnB1dFt0eXBlPXJhbmdlXTpob3Zlcjo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICMwZGExYWM7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06aG92ZXI6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICMwZGExYWM7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogIzBkYTFhYzsgfVxuXG5pbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICMwZGExYWM7IH1cblxuLyppbnB1dFt0eXBlPXJhbmdlXTpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTtcbn0qL1xuLypTdHlsaW5nIFNlbGVjdGJveCovXG4vKlxuLmxvY2F0aW9uLXNlYXJjaCB7XG5cdC5kcm9wZG93biB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0Ym9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7XG5cdFx0dHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQvL2ZvbnQtc2l6ZTogMS42ZW07XG5cdFx0Y29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdHdpZHRoOiAzMDBweDtcblx0XHR9XHRcblx0fVxuXHQuZHJvcGRvd24gLnNlbGVjdCB7XG5cdCAgICBjdXJzb3I6IHBvaW50ZXI7XG5cdCAgICBkaXNwbGF5OiBibG9jaztcblx0ICAgIHBhZGRpbmc6IDEwcHhcblx0fVxuXHQuZHJvcGRvd24gLnNlbGVjdCA+IGkge1xuXHQgICAgZm9udC1zaXplOiAxM3B4O1xuXHQgICAgY29sb3I6ICM4ODg7XG5cdCAgICBjdXJzb3I6IHBvaW50ZXI7XG5cdCAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuXHQgICAgZmxvYXQ6IHJpZ2h0O1xuXHQgICAgbGluZS1oZWlnaHQ6IDIwcHhcblx0fVxuXHQuZHJvcGRvd246aG92ZXIge1xuXHQgICAgYm94LXNoYWRvdzogMCAwIDRweCByZ2IoMjA0LCAyMDQsIDIwNClcblx0fVxuXHQuZHJvcGRvd246YWN0aXZlIHtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjhcblx0fVxuXHQuZHJvcGRvd24uYWN0aXZlOmhvdmVyLFxuXHQuZHJvcGRvd24uYWN0aXZlIHtcblx0ICAgIGJveC1zaGFkb3c6IDAgMCA0cHggcmdiKDIwNCwgMjA0LCAyMDQpO1xuXHQgICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4XG5cdH1cblx0LmRyb3Bkb3duLmFjdGl2ZSAuc2VsZWN0ID4gaSB7XG5cdCAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpXG5cdH1cblx0LmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdCAgICB3aWR0aDogMTAwJTtcblx0ICAgIGxlZnQ6IDA7XG5cdCAgICBtYXJnaW4tdG9wOiAxcHg7XG5cdCAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiKDIwNCwgMjA0LCAyMDQpO1xuXHQgICAgYm9yZGVyLXJhZGl1czogMCAxcHggNXB4IDVweDtcblx0ICAgIG92ZXJmbG93OiBoaWRkZW47XG5cdCAgICBkaXNwbGF5OiBub25lO1xuXHQgICAgbWF4LWhlaWdodDogMTQ0cHg7XG5cdCAgICBvdmVyZmxvdy15OiBhdXRvO1xuXHQgICAgei1pbmRleDogOVxuXHR9XG5cdC5kcm9wZG93biAuZHJvcGRvd24tbWVudSBsaSB7XG5cdCAgICBwYWRkaW5nOiAxMHB4O1xuXHQgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblx0ICAgIGN1cnNvcjogcG9pbnRlclxuXHR9IFxuXHQuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuXHQgICAgcGFkZGluZzogMDtcblx0ICAgIGxpc3Qtc3R5bGU6IG5vbmVcblx0fVxuXHQuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgbGk6aG92ZXIge1xuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMlxuXHR9XG5cdC5kcm9wZG93biAuZHJvcGRvd24tbWVudSBsaTphY3RpdmUge1xuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMlxuXHR9XHRcbn1cbiovXG4vKioqXG4gKiBkcm9wU2VsZWN0IGpRdWVyeSBQbHVnaW5cbiAqIChjKSBIYXJtb255IEluc3RpdHV0ZVxuICogaHR0cDovL2hpbnN0aXR1dGUuZ2l0aHViLmlvL2Ryb3BTZWxlY3QvXG4gKiBNSVQgTGljZW5zZSAtIFBsZWFzZSBrZWVwIHRoaXMgaGVhZGVyLlxuKioqL1xuLmRyb3BTZWxlY3Qge1xuICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcbiAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAycHggc29saWQgIzBkYTFhYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwZGExYWM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZHJvcFNlbGVjdCB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDtcbiAgICAgIHdpZHRoOiAyMzBweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5kcm9wU2VsZWN0IHtcbiAgICAgIHdpZHRoOiAzMDBweCAhaW1wb3J0YW50OyB9IH1cblxuLmRyb3BTZWxlY3Q6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzBkYTFhYzsgfVxuXG4uZHJvcFNlbGVjdCBkaXYuc2VsZWN0ZWQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMS45NWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMC41ZW0gMWVtIDAuM2VtOyB9XG5cbi5kcm9wU2VsZWN0IGRpdi5pY29uLWFycm93LWRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDtcbiAgcmlnaHQ6IDEuM3JlbTtcbiAgdG9wOiAxLjNyZW07IH1cblxuLmRyb3BTZWxlY3QgZGl2Lmljb24tYXJyb3ctZG93bjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIuKWvFwiOyB9XG5cbi5kcm9wU2VsZWN0IGRpdi5pdGVtcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC8qIHNob3cgNCBpdGVtcy4gdG8gc2hvdyAzLCBjaGFuZ2UgdGhlIG11bHRpcGxpZXIgdG8gMyAqL1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IGluaGVyaXQ7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG5cbi5kcm9wU2VsZWN0OmhvdmVyIGRpdi5pdGVtcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzBkYTFhYzsgfVxuXG4uZHJvcFNlbGVjdCBkaXYuaXRlbXMgYSB7XG4gIGNvbG9yOiAjMGRhMWFjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC4zZW0gMS42cmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDAuOGVtOyB9XG5cbi5kcm9wU2VsZWN0IGRpdi5pdGVtcyBhLmFjdGl2ZSxcbi5kcm9wU2VsZWN0IGRpdi5pdGVtcyBhOmhvdmVyIHtcbiAgY29sb3I6ICMwZGExYWM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZHJvcFNlbGVjdCBkaXYuaXRlbXMgYTpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICBjb2xvcjogIzBkYTFhYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC5nZl9wcm9ncmVzc2JhcjphZnRlciB7XG4gIG1hcmdpbi10b3A6IC00NHB4OyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gLmdzZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkYTFhYztcbiAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICBwYWRkaW5nOiAxNnB4IDE2cHggOHB4IDE2cHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAyOHB4IDAgMjhweCAwO1xuICBjbGVhcjogYm90aDsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC5nc2VjdGlvbiAuZ3NlY3Rpb25fdGl0bGUge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gLmdzZWN0aW9uIC5nc2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gLmdmaWVsZCArIC5nc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDI4cHggIWltcG9ydGFudDsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC50b3BfbGFiZWwgLmdmaWVsZF9sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuMjYyNXJlbTsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC50b3BfbGFiZWwgZGl2LmdpbnB1dF9jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuYXBwbGljYXRpb24tZm9ybSAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gdWwgbGkuZ2ZpZWxkLmdmX2Zvcm1fc3BhY2VyIHtcbiAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2VlZTsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQsXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCxcbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQsXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZixcbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuYXBwbGljYXRpb24tZm9ybSAuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuYXBwbGljYXRpb24tZm9ybSAuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gLmdmX2xpc3RfaW5saW5lIC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC5nZl9saXN0X2lubGluZSAuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gLmdmX2ZpZWxkX2luZGVudCB7XG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC5nZl9maWVsZF9kaXZpZGVyX2Fib3ZlIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGUxZGM7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIHBhZGRpbmctdG9wOiAxNnB4OyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gLmZvcm0tdGFibGUtaGVhZGluZyBoNCB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgY29sb3I6ICMwZGExYWM7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuYXBwbGljYXRpb24tZm9ybSAuZm9ybS10YWJsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxMjMyNDY7XG4gIG1hcmdpbi1yaWdodDogLTJweDsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC5nZl90YWJsZV9oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDEwcHggMTZweCA4cHggMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyMzI0NjtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuYXBwbGljYXRpb24tZm9ybSAuZ2ZfdGFibGVfbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDE2cHggMTZweCAxMnB4IDE2cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTBlMWRjO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC5nZl90YWJsZV9sYWJlbCBpIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuYXBwbGljYXRpb24tZm9ybSAuZ2ZfdGFibGVfaW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDEwcHggMTZweCAxMnB4IDE2cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTBlMWRjOyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gLmdmX3RhYmxlX2lucHV0IGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KC5naW5wdXRfcXVhbnRpdHkpIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuYXBwbGljYXRpb24tZm9ybSAuZ2ZfdGFibGVfY29sdW1uX3RvdGFsIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMHB4IDE2cHggMTJweCAxNnB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2UwZTFkYzsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC5nZl90YWJsZV9jb2x1bW5fdG90YWwgaW5wdXRbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC5nZl90YWJsZV9sYWJlbF90b3RhbCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTZweCAxNnB4IDEycHggMTZweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMxMjMyNDY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gLmdmX3RhYmxlX2lucHV0X3RvdGFsIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMHB4IDE2cHggMTJweCAxNnB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzEyMzI0NjsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIC5nZl90YWJsZV9pbnB1dF90b3RhbCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdCguZ2lucHV0X3F1YW50aXR5KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkOyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmFwcGxpY2F0aW9uLWZvcm0gLmdmX3RhYmxlX2lucHV0X3RvdGFsIGlucHV0W3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuYXBwbGljYXRpb24tZm9ybSAuZ2ZfdGFibGVfcm93X3RvdGFsIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMHB4IDE2cHggMTJweCAxNnB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzEyMzI0NjsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5hcHBsaWNhdGlvbi1mb3JtIGlucHV0W3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlBlcnBldHVhXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwZGExYWM7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZkNmU3MDtcbiAgYm9yZGVyLXRvcDogMCBub25lOyB9XG4gIC5hY2NvcmRpb24tY29udGVudCBpbWcge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtbmV3cy1hcmNoaXZlIC5hY2NvcmRpb24taXRlbSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1uZXdzLWFyY2hpdmUgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1uZXdzLWFyY2hpdmUgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuXG4ucGFnZS10ZW1wbGF0ZS1uZXdzLWFyY2hpdmUgLmFjY29yZGlvbi1jb250ZW50IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAucGFnZS10ZW1wbGF0ZS1uZXdzLWFyY2hpdmUgLmFjY29yZGlvbi1jb250ZW50IHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtbmV3cy1hcmNoaXZlIC5hY2NvcmRpb24tY29udGVudCB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtbmV3cy1hcmNoaXZlIC5hY2NvcmRpb24tY29udGVudCB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG4ucGFnZS10ZW1wbGF0ZS1uZXdzLWFyY2hpdmUgLmFjY29yZGlvbi1jb250ZW50IC5hcmNoaXZlLXBvc3RzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5wYWdlLXRlbXBsYXRlLW5ld3MtYXJjaGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQgLmFyY2hpdmUtcG9zdHMgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5wYWdlLXRlbXBsYXRlLW5ld3MtYXJjaGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQgLmFyY2hpdmUtcG9zdC1kYXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTFkYztcbiAgY29sb3I6ICM2ZDZlNzA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5wYWdlLXRlbXBsYXRlLW5ld3MtYXJjaGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQgLmFyY2hpdmUtcG9zdC10aXRsZSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29sb3I6ICM2ZDZlNzA7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtbmV3cy1hcmNoaXZlIC5hY2NvcmRpb24tY29udGVudCAuYXJjaGl2ZS1wb3N0LXRpdGxlIGEge1xuICAgIGNvbG9yOiAjNmQ2ZTcwOyB9XG5cbi5wYWdlLXRlbXBsYXRlLW5ld3MtYXJjaGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQgLnBvc3QtdGFncyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5uZXdzLWFjY29yZGlvbnMgLmFjY29yZGlvbi1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXdzLWFjY29yZGlvbnMgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubmV3cy1hY2NvcmRpb25zIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuLmhlcm8td3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZGExYWM7IH1cblxuLmhlcm8ge1xuICBib3JkZXItdG9wOiA2cHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCAjZmZmOyB9XG5cbi5oZXJvLWlubmVyIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2ZmZjtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuXG4uaGVyby1pbWFnZSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgaGVpZ2h0OiAzOTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5oZXJvLWltYWdlIC5pbWFnZS1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIHJpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBwYWRkaW5nOiAwIDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlcm8taW1hZ2Uge1xuICAgICAgaGVpZ2h0OiA2MDBweDsgfSB9XG4gIC5oZXJvLWltYWdlIC5oZXJvX292ZXJsYXkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgaGVpZ2h0OiAyOTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlcm8taW1hZ2UgLmhlcm9fb3ZlcmxheSB7XG4gICAgICAgIHdpZHRoOiA0NTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDExNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5oZXJvLWltYWdlIC5oZXJvX292ZXJsYXkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgLmhlcm8taW1hZ2UgLmhlcm9fb3ZlcmxheSAuaGVyb19jb250ZW50IGg1IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZXJvLWltYWdlIC5oZXJvX292ZXJsYXkgLmhlcm9fY29udGVudCBoNSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNzVweDsgfSB9XG4gICAgLmhlcm8taW1hZ2UgLmhlcm9fb3ZlcmxheSAuaGVyb19jb250ZW50IC5oZXJvLWhlYWRpbmcge1xuICAgICAgbWFyZ2luLXRvcDogLTIwcHggIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGxpbmUtaGVpZ2h0OiA0M3B4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiUGVycGV0dWFcIiwgXCJHZW9yZ2lhXCIsIHNlcmlmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZXJvLWltYWdlIC5oZXJvX292ZXJsYXkgLmhlcm9fY29udGVudCAuaGVyby1oZWFkaW5nIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMzBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogNzdweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNjhweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgLmhlcm8taW1hZ2UgLmhlcm9fb3ZlcmxheSAuaGVyb19jb250ZW50IC5oZXJvLWhlYWRpbmcge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNzdweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLmhlcm8taW1hZ2UgLmhlcm9fb3ZlcmxheSAuaGVyb19jb250ZW50IC5oZXJvLWhlYWRpbmcge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDhweCAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5oZXJvLWltYWdlIC5oZXJvX292ZXJsYXkgLmhlcm9fY29udGVudCAuaGVyby1oZWFkaW5nIHNwYW4uaGVyby10ZXh0IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgICAgLmhlcm8taW1hZ2UgLmhlcm9fb3ZlcmxheSAuaGVyb19jb250ZW50IC5oZXJvLWhlYWRpbmcgc3Bhbi5oZXJvLXRleHQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAuaGVyby1pbWFnZSAuaGVyb19vdmVybGF5IC5oZXJvX2NvbnRlbnQgLmhlcm8taGVhZGluZyAuaGVyby11bmRlcmxpbmUge1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgLmhlcm8taW1hZ2UgLmhlcm9fb3ZlcmxheSAuaGVyb19jb250ZW50IC5oZXJvLWhlYWRpbmcgLmhlcm8tZG90IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMnB4ICFpbXBvcnRhbnQ7IH1cblxuLm5ld3MtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLyohXG4gKiBIYW1idXJnZXJzXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcbiAqIEBzaXRlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcbiAqL1xuLmhhbWJ1cmdlciB7XG4gIHBhZGRpbmc6IDVweCA1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLmhhbWJ1cmdlcjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43OyB9XG5cbi5oYW1idXJnZXItYm94IHtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMTVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTEuNXB4OyB9XG4gIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogLThweDsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAtOHB4OyB9XG5cbi8qXG4gICAqIEFycm93IFJpZ2h0XG4gICAqL1xuLmhhbWJ1cmdlci0tYXJyb3ctci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1LjJweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi5oYW1idXJnZXItLWFycm93LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1LjJweCwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTsgfVxuXG4vKlxuICAgKiBTbGlkZXJcbiAgICovXG4uaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMS41cHg7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiA4cHg7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAxNnB4OyB9XG5cbi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgOHB4LCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC0zLjcxNDI5cHgsIC01cHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTZweCwgMCkgcm90YXRlKC05MGRlZyk7IH1cblxuLypcbkBpbXBvcnQgXCJ0eXBlcy8zZHhcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHgtclwiO1xuQGltcG9ydCBcInR5cGVzLzNkeVwiO1xuQGltcG9ydCBcInR5cGVzLzNkeS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvdy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYm9yaW5nXCI7XG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2VcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpY1wiO1xuQGltcG9ydCBcInR5cGVzL2VsYXN0aWMtclwiO1xuQGltcG9ydCBcInR5cGVzL2VtcGhhdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWMtclwiO1xuQGltcG9ydCBcInR5cGVzL3NsaWRlclwiO1xuQGltcG9ydCBcInR5cGVzL3NsaWRlci1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3ByaW5nXCI7XG5AaW1wb3J0IFwidHlwZXMvc3ByaW5nLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZFwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluXCI7XG5AaW1wb3J0IFwidHlwZXMvc3Bpbi1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3F1ZWV6ZVwiO1xuQGltcG9ydCBcInR5cGVzL3ZvcnRleFwiO1xuQGltcG9ydCBcInR5cGVzL3ZvcnRleC1yXCI7XG4qL1xuLmZsZXhzbGlkZXIgdWwge1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZsZXhzbGlkZXIgdWwuc2xpZGVzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC5mbGV4c2xpZGVyIHVsLnNsaWRlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5mbGV4c2xpZGVyIHVsLnNsaWRlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZsZXhzbGlkZXIgdWwgbGkgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDE3NnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAuZmxleHNsaWRlciB1bCBsaSBpbWcge1xuICAgICAgbWF4LWhlaWdodDogMzY1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmZsZXhzbGlkZXIgdWwgbGkgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDYwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5ob21lLWdhbGxlcnkgLmZsZXhzbGlkZXIgdWwgbGkgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAxOTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5ob21lLWdhbGxlcnkgLmZsZXhzbGlkZXIgdWwgbGkgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA0MDVweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmhvbWUtZ2FsbGVyeSAuZmxleHNsaWRlciB1bCBsaSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDY3MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICNzdWl0ZS1zbGlkZXIgbGkgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAyMzZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICNzdWl0ZS1zbGlkZXIgbGkgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAzMTVweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgI3N1aXRlLXNsaWRlciBsaSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDUxMHB4OyB9IH1cblxuLmNhcm91c2VsLmZsZXhzbGlkZXIgdWwuc2xpZGVzIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5jYXJvdXNlbC5mbGV4c2xpZGVyIHVsLnNsaWRlcyBsaSBkaXYge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5jYXJvdXNlbC5mbGV4c2xpZGVyIHVsLnNsaWRlcyBsaSBkaXYge1xuICAgICAgICBoZWlnaHQ6IDcwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2Fyb3VzZWwuZmxleHNsaWRlciB1bC5zbGlkZXMgbGkgZGl2IHtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLmNhcm91c2VsLmZsZXhzbGlkZXIgdWwuc2xpZGVzIGxpIGRpdiB7XG4gICAgICAgIGhlaWdodDogMTQwcHg7IH0gfVxuICAgIC5jYXJvdXNlbC5mbGV4c2xpZGVyIHVsLnNsaWRlcyBsaSBkaXY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4udGh1bWJuYWlsLWltZyB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgaGVpZ2h0OiAzNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50aHVtYm5haWwtaW1nIC5pbWFnZS1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xOyB9XG5cbi5nYWxsZXJ5LWltZzpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2luZ2xlLWV2ZW50IC5oZXJvIHtcbiAgICBoZWlnaHQ6IDE4Ljc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuc2luZ2xlLWV2ZW50IC5oZXJvIHtcbiAgICBoZWlnaHQ6IDI1cmVtOyB9IH1cblxuLmV2ZW50LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogOTAwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5ldmVudC1jb250YWluZXIgaDEsXG4gIC5ldmVudC1jb250YWluZXIgLmV2ZW50LXRpbWUsXG4gIC5ldmVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAuZXZlbnQtY29udGFpbmVyIGg2IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLmV2ZW50LWluZm8ge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5kZXRhaWxzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLmRldGFpbHMtY29udGFpbmVyIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnJzdnAtZm9ybSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnJzdnAtZm9ybSBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uZmVhdHVyZWQtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLmV2ZW50LWRhdGUge1xuICBwYWRkaW5nOiAxMHB4IDQwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuZXZlbnQtZGF0ZSBoNSB7XG4gICAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG4uZmVhdHVyZWQtZXZlbnQtaW5mbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNDBweDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuZmVhdHVyZWQtZXZlbnQtaW5mbyBoNSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5mZWF0dXJlZC1ldmVudC1pbmZvIHAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5ldmVudHMtYmFja2dyb3VuZCB7XG4gIGhlaWdodDogMjAwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4udmlldy1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4ubW9yZUJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LWZhbWlseTogXCJQZXJwZXR1YVwiLCBcIkdlb3JnaWFcIiwgc2VyaWY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAubW9yZUJ0biBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4jc2luZ2xlLXBvc3Qge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gICNzaW5nbGUtcG9zdDo6YmVmb3JlLCAjc2luZ2xlLXBvc3Q6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAjc2luZ2xlLXBvc3Q6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAjc2luZ2xlLXBvc3QgLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC40Njg3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNDY4NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI3NpbmdsZS1wb3N0IC5tYWluLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAjc2luZ2xlLXBvc3QgLm1haW4tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH0gfVxuICAgICNzaW5nbGUtcG9zdCAubWFpbi1jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNzaW5nbGUtcG9zdCAubWFpbi1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNDY4NzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC40Njg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNzaW5nbGUtcG9zdCAubWFpbi1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAjc2luZ2xlLXBvc3QgLm1haW4tY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgI3NpbmdsZS1wb3N0IC5tYWluLWNvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5uZXdzLXJlcG9ydHMtY29udGFpbmVyIGgzIHtcbiAgICBmb250LXNpemU6IDI4cHg7IH0gfVxuXG4ubmV3cy1ob21lIHtcbiAgbWFyZ2luOiAwLjkzNzVyZW0gMDsgfVxuICAubmV3cy1ob21lX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMi41cmVtO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAubmV3cy1ob21lIGg1IHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIC5uZXdzLWhvbWVfX2JsdXJiIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gICAgLm5ld3MtaG9tZV9fYmx1cmIgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm5ld3MtaG9tZV9fYmx1cmIgaDUge1xuICAgICAgcGFkZGluZzogMDsgfVxuXG4uZXZlbnRzLWhvbWUge1xuICBtYXJnaW46IDAuOTM3NXJlbSAwOyB9XG4gIC5ldmVudHMtaG9tZV9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTIuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgLmV2ZW50cy1ob21lIGg1IHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIC5ldmVudHMtaG9tZV9fYmx1cmIge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAuZXZlbnRzLWhvbWVfX2JsdXJiIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5ldmVudHMtaG9tZV9fYmx1cmIgaDUge1xuICAgICAgcGFkZGluZzogMDsgfVxuXG4ubmV3cy1sb2NhdGlvbi1maWx0ZXIgc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uZW50cnktY29udGVudCBoNCB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG5cbi5lbnRyeS1jb250ZW50IGg1IHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgLmVudHJ5LWNvbnRlbnQgaDUgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgfVxuICAgIC5lbnRyeS1jb250ZW50IGg1IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmVudHJ5LWNvbnRlbnQgLnBkZi1kb3dubG9hZCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgfVxuXG4uc2luZ2xlLXBvc3QgLnBvc3QtdGFncywgLnNpbmdsZS1ldmVudCAucG9zdC10YWdzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuc2luZ2xlLXBvc3QgLnBvc3QtdGFncyAudGFnLCAuc2luZ2xlLWV2ZW50IC5wb3N0LXRhZ3MgLnRhZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnNpbmdsZS1wb3N0IC5jdGEtZm9vdGVyLCAuc2luZ2xlLWV2ZW50IC5jdGEtZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgcGFkZGluZzogMi41cmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuc2luZ2xlLXBvc3QgLmN0YS1mb290ZXIgLmJvcmRlci1saW5lLCAuc2luZ2xlLWV2ZW50IC5jdGEtZm9vdGVyIC5ib3JkZXItbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAuc2luZ2xlLXBvc3QgLmN0YS1mb290ZXIgaDQsIC5zaW5nbGUtZXZlbnQgLmN0YS1mb290ZXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuICAuc2luZ2xlLXBvc3QgLmN0YS1mb290ZXIgLmN0YS10ZXh0IHAsIC5zaW5nbGUtZXZlbnQgLmN0YS1mb290ZXIgLmN0YS10ZXh0IHAge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zaW5nbGUtcG9zdCAuY3RhLWZvb3RlciAuYnV0dG9uLCAuc2luZ2xlLWV2ZW50IC5jdGEtZm9vdGVyIC5idXR0b24ge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIHBhZGRpbmc6IDEuMzc1cmVtOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5jdGEtZm9vdGVyIC5idXR0b246aG92ZXIsIC5zaW5nbGUtZXZlbnQgLmN0YS1mb290ZXIgLmJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgLnNpbmdsZS1wb3N0IC5jdGEtZm9vdGVyIGRpdi52YWxpZ24tY2VudGVyLCAuc2luZ2xlLWV2ZW50IC5jdGEtZm9vdGVyIGRpdi52YWxpZ24tY2VudGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5zaW5nbGUtcG9zdCAuY3RhLWZvb3RlciBkaXYudmFsaWduLWNlbnRlciBzcGFuOm5vdCgubm8tYnJlYWspLCAuc2luZ2xlLWV2ZW50IC5jdGEtZm9vdGVyIGRpdi52YWxpZ24tY2VudGVyIHNwYW46bm90KC5uby1icmVhaykge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnNpbmdsZS1uZXdzLWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLmZlYXR1cmVkLWNhcHRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAucHJvbW8tY2FyZCAucHJvbW8tbGluayB7XG4gICAgbWluLWhlaWdodDogOS4zNzVyZW07XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb21vLWNhcmQgLnByb21vLWxpbmsge1xuICAgIG1pbi1oZWlnaHQ6IDE4Ljc1cmVtO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9XG4gICAgLnByb21vLWNhcmQgLnByb21vLWxpbmsgaDEsIC5wcm9tby1jYXJkIC5wcm9tby1saW5rIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtOyB9XG4gICAgLnByb21vLWNhcmQgLnByb21vLWxpbmsgaDMge1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAucHJvbW8tY2FyZCAucHJvbW8tbGluayB7XG4gICAgbWluLWhlaWdodDogMjVyZW07XG4gICAgcGFkZGluZzogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmx1eHVyeS1pbmNsdXNpb25zLWFkIC5wcm9tby1saW5rLFxuICAuc2VjdGlvbi1pbnRlcnN0aXRpYWwgLnByb21vLWxpbmsge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5sdXh1cnktaW5jbHVzaW9ucy1hZCAucHJvbW8tbGluayxcbiAgLnNlY3Rpb24taW50ZXJzdGl0aWFsIC5wcm9tby1saW5rIHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmx1eHVyeS1pbmNsdXNpb25zLWFkIC5wcm9tby1saW5rLFxuICAuc2VjdGlvbi1pbnRlcnN0aXRpYWwgLnByb21vLWxpbmsge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5wcm9tby1jYXJkICsgLnByb21vLWNhcmQge1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC0xeDEge1xuICAgIGRpc3BsYXk6IGdyaWQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtMngxIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjsgfSB9XG5cbi5wcm9tby1pbmZvIHtcbiAgcGFkZGluZzogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmhvbWUtZGVzaWducy1jYXJkIC5ib3JkZXItaW5uZXIge1xuICBwYWRkaW5nOiAwOyB9XG4iLCIvKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xuQGltcG9ydCB1cmwoXCIvL2hlbGxvLm15Zm9udHMubmV0L2NvdW50LzM3NDUxMVwiKTtcblxuICBcbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnUGVycGV0dWEnO2ZvbnQtd2VpZ2h0OiBib2xkO2ZvbnQtc3R5bGU6IG5vcm1hbDtzcmM6IHVybCgnLi4vZm9udHMvMzc0NTExXzBfMC5lb3QnKTtzcmM6IHVybCgnLi4vZm9udHMvMzc0NTExXzBfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnLi4vZm9udHMvMzc0NTExXzBfMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSx1cmwoJy4uL2ZvbnRzLzM3NDUxMV8wXzAud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnLi4vZm9udHMvMzc0NTExXzBfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCcuLi9mb250cy8zNzQ1MTFfMF8wLnN2ZyN3ZicpIGZvcm1hdCgnc3ZnJyk7fVxuIFxuICBcbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnUGVycGV0dWEnO2ZvbnQtd2VpZ2h0OiBub3JtYWw7Zm9udC1zdHlsZTogbm9ybWFsO3NyYzogdXJsKCcuLi9mb250cy8zNzQ1MTFfMV8wLmVvdCcpO3NyYzogdXJsKCcuLi9mb250cy8zNzQ1MTFfMV8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcuLi9mb250cy8zNzQ1MTFfMV8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLHVybCgnLi4vZm9udHMvMzc0NTExXzFfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcuLi9mb250cy8zNzQ1MTFfMV8wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJy4uL2ZvbnRzLzM3NDUxMV8xXzAuc3ZnI3dmJykgZm9ybWF0KCdzdmcnKTt9IFxuXG5cbiR0aGVtZS1ib2R5LWZvbnQtZmFtaWx5OiAnUGVycGV0dWEnLCAnR2VvcmdpYScsIHNlcmlmO1xuJHRoZW1lLWJvZHktZm9udC1mYW1pbHktYm9sZDogJ1BlcnBldHVhJywgJ0dlb3JnaWEnLCBzZXJpZjtcbiR0aGVtZS1oZWFkZXItZm9udC1mYW1pbHk6ICdQZXJwZXR1YScsICdHZW9yZ2lhJywgc2VyaWY7XG4kdGhlbWUtaGVhZGVyMi1mb250LWZhbWlseTogJHRoZW1lLWJvZHktZm9udC1mYW1pbHk7XG4kdGhlbWUtYnV0dG9uLWZvbnQtZmFtaWx5OiAkdGhlbWUtaGVhZGVyLWZvbnQtZmFtaWx5O1xuXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzAsICdsaW5lLWhlaWdodCc6IDEuMSksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyNiksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyMiwgJ2xpbmUtaGVpZ2h0JzogMS4xKSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDI0LCAnbGluZS1oZWlnaHQnOiAxLjEpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMjIpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM2KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDM2KSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMwLCAnbGluZS1oZWlnaHQnOiAxLjEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMjApLFxuICApLFxuICBsYXJnZTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNjQsICdsaW5lLWhlaWdodCc6IDEpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNjQsICdsaW5lLWhlaWdodCc6IDEpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogNTAsICdsaW5lLWhlaWdodCc6IDEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMzksICdsaW5lLWhlaWdodCc6IDEpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMzIpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMjYpLFxuICApLFxuKTtcblxuXG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kb3ZlcmxheTogcmdiYSgkYmxhY2ssMC41KTtcblxuJGRhcmstZ3JleTogIzIyMjtcbiRtZWRpdW0tZ3JleTogIzZkNmU3MDtcbiRsaWdodC1ncmV5OiAjZTBlMWRjO1xuXG4kZGFyay1ibHVlOiAjMTIzMjQ2O1xuJG1lZGl1bS1ibHVlOiAjMDA3OTg4O1xuJGxpZ2h0LWJsdWU6ICMwZGExYWM7XG4kZ3JlZW46ICNiOWQ1MzI7XG5cbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcblx0cHJpbWFyeTogJGxpZ2h0LWJsdWUsXG5cdHNlY29uZGFyeTogJG1lZGl1bS1ncmV5LFxuXHRhY2NlbnQ6ICRsaWdodC1ibHVlLFxuXHRsaWdodDogI2ZmZixcblx0ZGFyazogIzc2NzY3Nixcblx0c3VjY2VzczogIzNhZGI3Nixcblx0d2FybmluZzogI2ZmYWUwMCxcblx0YWxlcnQ6ICNjYzRiMzcsXG4pO1xuXG4kcHJpbWFyeTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAncHJpbWFyeScpO1xuJHNlY29uZGFyeTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAnc2Vjb25kYXJ5Jyk7XG4kYWNjZW50OiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICdhY2NlbnQnKTtcbiRsaWdodDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAnbGlnaHQnKTtcbiRkYXJrOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICdkYXJrJyk7XG5cbiR0aGVtZS1idXR0b24tYmctY29sb3I6ICRsaWdodC1ibHVlO1xuJHRoZW1lLWJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJHRoZW1lLWJ1dHRvbi1ib3JkZXItY29sb3I6ICR3aGl0ZTtcblxuJHRoZW1lLXRvcC1iYXItYmc6ICRkYXJrLWJsdWU7XG4kdGhlbWUtdG9wLWJhci1jb2xvcjogJHdoaXRlO1xuJHRoZW1lLXRvcC1iYXItYWN0aXZlLWNvbG9yOiAkbGlnaHQtYmx1ZTtcbiR0aGVtZS10b3AtYmFyLWJ1dHRvbi1iZzogJGxpZ2h0LWJsdWU7XG4kdGhlbWUtdG9wLWJhci1idXR0b24tY29sb3I6ICR3aGl0ZTtcbiR0aGVtZS10b3AtYmFyLXN1Ym1lbnUtYmc6ICR0aGVtZS10b3AtYmFyLWJnO1xuJHRoZW1lLXRvcC1iYXItc3VibWVudS1jb2xvcjogJHRoZW1lLXRvcC1iYXItY29sb3I7XG4kdGhlbWUtdG9wLWJhci1zdWJtZW51LWFjdGl2ZS1jb2xvcjogJHRoZW1lLXRvcC1iYXItYWN0aXZlLWNvbG9yO1xuJHRoZW1lLXRpdGxlLWJhci1iZzogJHRoZW1lLXRvcC1iYXItYmc7XG4kdGhlbWUtdGl0bGUtYmFyLWNvbG9yOiAkdGhlbWUtdG9wLWJhci1jb2xvcjtcblxuJHRoZW1lLWlucHV0LWJnOiAkd2hpdGU7XG4kdGhlbWUtaW5wdXQtY29sb3I6ICRibGFjaztcbiR0aGVtZS1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmV5O1xuXG4kdGhlbWUtb2ZmY2FudmFzLWJnOiAkbGlnaHQtZ3JleTtcbiR0aGVtZS1vZmZjYW52YXMtY2xvc2UtY29sb3I6ICRkYXJrLWJsdWU7XG4kdGhlbWUtb2ZmY2FudmFzLW5hdi1jb2xvcjogJGJsYWNrO1xuJHRoZW1lLW9mZmNhbnZhcy1uYXYtYWN0aXZlLWNvbG9yOiAkbGlnaHQtYmx1ZTtcbiR0aGVtZS1vZmZjYW52YXMtZm9ybS1sYWJlbC1jb2xvdXI6ICRibGFjaztcbiR0aGVtZS1vZmZjYW52YXMtZm9ybS1jaGVja2JveC1jb2xvdXI6IGRhcmtlbigkbGlnaHQtYmx1ZSwgMTAlKTtcblxuJHRoZW1lLXRhYi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiR0aGVtZS10YWItY29sb3I6ICRsaWdodC1ibHVlO1xuJHRoZW1lLXRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWJsdWU7XG4kdGhlbWUtdGFiLWFjdGl2ZS1jb2xvcjogJHdoaXRlO1xuJHRoZW1lLXRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuJHRoZW1lLXRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ibHVlO1xuJHRoZW1lLXRhYi1pdGVtLXBhZGRpbmc6IC43NWVtIDJlbSAuNmVtO1xuJHRoZW1lLXRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0aGVtZS10YWItY29udGVudC1ib3JkZXI6IG5vbmU7XG4kdGhlbWUtdGFiLWNvbnRlbnQtY29sb3I6ICRtZWRpdW0tZ3JleTtcbiR0aGVtZS10YWItY29udGVudC1wYWRkaW5nOiAxZW07XG5cbiR0aGVtZS1hY2NvcmRpb24tdGl0bGUtYmc6ICRsaWdodC1ibHVlO1xuJHRoZW1lLWFjY29yZGlvbi10aXRsZS1jb2xvcjogJHdoaXRlO1xuJHRoZW1lLWFjY29yZGlvbi10aXRsZS1ib3JkZXI6ICRsaWdodC1ibHVlO1xuJHRoZW1lLWFjY29yZGlvbi10aXRsZS1iZy1ob3ZlcjogZGFya2VuKCRsaWdodC1ibHVlLCA1JSk7XG4kdGhlbWUtYWNjb3JkaW9uLXRpdGxlLWNvbG9yLWhvdmVyOiAkd2hpdGU7XG4kdGhlbWUtYWNjb3JkaW9uLXRpdGxlLWJvcmRlci1ob3ZlcjogZGFya2VuKCRsaWdodC1ibHVlLCA1JSk7XG4kdGhlbWUtYWNjb3JkaW9uLWNvbnRlbnQtYmc6ICR3aGl0ZTtcbiR0aGVtZS1hY2NvcmRpb24tY29udGVudC1ib3JkZXI6ICRtZWRpdW0tZ3JleTtcbiR0aGVtZS1hY2NvcmRpb24tZGF0ZS1iZzogJGxpZ2h0LWdyZXk7XG4kdGhlbWUtYWNjb3JkaW9uLWRhdGUtY29sb3I6ICRtZWRpdW0tZ3JleTtcbiR0aGVtZS1hY2NvcmRpb24tbGluay1jb2xvcjogJG1lZGl1bS1ncmV5O1xuXG4kdGhlbWUtc3ViLWZvb3Rlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcbiR0aGVtZS1zdWItZm9vdGVyLWNvbG91cjogJGRhcmstZ3JleTtcbiR0aGVtZS1zdWItZm9vdGVyLWxpbmstY29sb3VyOiAkZGFyay1ncmV5O1xuXG4kdGhlbWUtZm9vdGVyLWJnOiAkZGFyay1ibHVlO1xuJHRoZW1lLWZvb3Rlci1jb2xvcjogJHdoaXRlO1xuJHRoZW1lLWZvb3Rlci1saW5rLWNvbG9yOiAkd2hpdGU7XG5cbiR0aGVtZS1mb290ZXItZml4ZWQtYnV0dG9uLWJnOiAkbGlnaHQtYmx1ZTtcbiR0aGVtZS1mb290ZXItZml4ZWQtYnV0dG9uLWNvbG91cjogJHdoaXRlO1xuJHRoZW1lLWZvb3Rlci1maXhlZC1idXR0b24tYm9yZGVyOiAkd2hpdGU7XG5cbi8vIENvbG91ciBzY2hlbWVzXG4kY29sb3VydGhlbWVzOiAoXG5cdGJsYWNrOiAkYmxhY2ssXG5cdHdoaXRlOiAkd2hpdGUsXG5cdGxpZ2h0LWdyZXk6ICRsaWdodC1ncmV5LFxuXHRtZWRpdW0tZ3JleTogJG1lZGl1bS1ncmV5LFxuXHRkYXJrLWdyZXk6ICRkYXJrLWdyZXksXG5cdGRhcmstYmx1ZTogJGRhcmstYmx1ZSxcblx0bWVkaXVtLWJsdWU6ICRtZWRpdW0tYmx1ZSxcblx0bGlnaHQtYmx1ZTogJGxpZ2h0LWJsdWUsXG5cdGdyZWVuOiAkZ3JlZW4sXG4pO1xuXG5cbi8vIEhlbHBlciB0aGVtZSBtaXhpblxuLy8gQHBhcmFtICRuYW1lOiBuYW1lIG9mIHRoZSB0aGVtZSAoSFRNTCBjbGFzcylcbi8vIEBwYXJhbSAkY29sb3I6IGNvbG9yIG9mIHRoZSB0aGVtZVxuQG1peGluIGNvbG91cnRoZW1lKCRuYW1lLCAkY29sb3IpIHtcblx0LiN7JG5hbWV9IHtcblx0XHRhLmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cdFx0fVxuXHRcdFxuXHRcdC5ob21lLWxpbmsgLnNuaXBwZXQtaW5mbyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cdFx0fVxuXHRcdC5ob21lLWxpbms6aG92ZXIgLnNuaXBwZXQtaW5mbyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxNSUpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdH1cbiBcdC5zZWN0aW9uLSN7JG5hbWV9IHtcblx0XHRoMSB7XG5cdFx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdFx0XG5cdFx0XHQuYm9yZGVyLWxpbmUge1xuXHRcdFx0ICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmhvbWVfX2hlcm8gaDEge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdC5ib3JkZXItbGluZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY29udGFjdF9kZXRhaWxzIGgxIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHRcblx0XHQudGV4dC13aGl0ZSB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0XHRcblx0XHQuYnV0dG9uLXByaW1hcnkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcdFx0XG5cdH1cbiBcdC5iZy0jeyRuYW1lfSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblx0XHR9XG5cdH1cbiBcdC5idXR0b24uYnV0dG9uLSN7JG5hbWV9IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDUlKSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuIFx0LmJ1dHRvbi5idXR0b24tdGV4dC0jeyRuYW1lfSB7XG5cdFx0Y29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6IGRhcmtlbigkY29sb3IsIDUlKSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuIFx0LnRleHQtbGluay5saW5rLSN7JG5hbWV9IHtcblx0XHRjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogZGFya2VuKCRjb2xvciwgNSUpICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCA1JSkgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbiBcdC50ZXh0LSN7JG5hbWV9IHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdGgxLCBoMiwgaDQsIGEsIGxpIHtcblx0XHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0fVxuXHR9XG4gXHQuYm9yZGVyLSN7JG5hbWV9IHtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvcjtcblx0fVxuIFx0LmxpbmUtI3skbmFtZX0ge1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXHR9XG5cdC5oZWFkaW5nLXVuZGVybGluZSB7XG5cdFx0Ji51bmRlcmxpbmUtI3skbmFtZX0ge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdC5idXR0b24ubGluay1ib3JkZXIubGluay1ib3JkZXItI3skbmFtZX0ge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IGRhcmtlbigkY29sb3IsIDE1JSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5idXR0b24ubGluay1ib3JkZXIudGV4dC0jeyRuYW1lfSB7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxNSUpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG4gXG59XG5cbi8vIEluY2x1ZGluZyB0aGVtZXMgXG4vLyBCeSBsb29waW5nIHRocm91Z2ggdGhlICR0aGVtZXMgbWFwXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJGNvbG91cnRoZW1lcyB7XG4gIEBpbmNsdWRlIGNvbG91cnRoZW1lKCRrZXksICR2YWx1ZSk7XG59XG5cbi8vIFRoZW1lIEJhY2tncm91bmRzXG4kdGhlbWViYWNrZ3JvdW5kczogKFxuXHRwZXRhbHMtZ3JleS1kb3duOiBwZXRhbHMtZ3JleS1kb3duLFxuXHRwZXRhbHMtZ3JleS11cDogcGV0YWxzLWdyZXktdXAsXG5cdHBldGFscy13aGl0ZS1kb3duOiBwZXRhbHMtZ3JleS1kb3duLFxuXHRwZXRhbHMtd2hpdGUtdXA6IHBldGFscy1ncmV5LXVwLFxuKTtcblxuQG1peGluIHRoZW1lYmFja2dyb3VuZHMoJG5hbWUsICRpbWFnZSkge1xuXG5cdC5ib3JkZXItYmctI3skbmFtZX0gLmNlbGwtYm9yZGVyLFxuXHQucm93LWlubmVyLWJvcmRlci5ib3JkZXItI3skbmFtZX0gLmdyaWQteCxcblx0LmJnLSN7JG5hbWV9IHtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvYmctI3skaW1hZ2V9LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0fVxufVxuXG4vLyBJbmNsdWRpbmcgdGhlbWVzIFxuLy8gQnkgbG9vcGluZyB0aHJvdWdoIHRoZSAkdGhlbWVzIG1hcFxuQGVhY2ggJGtleSwgJHZhbHVlIGluICR0aGVtZWJhY2tncm91bmRzIHtcbiAgQGluY2x1ZGUgdGhlbWViYWNrZ3JvdW5kcygka2V5LCAkdmFsdWUpO1xufVxuXG4vLyB6LWluZGV4IG1hbmFnZW1lbnRcbi8vIHVzYWdlOiBAaW5jbHVkZSB6LWluZGV4KHNjcm9sbFRvVG9wKTtcbiR6LWluZGV4OiAoXG5cdHNjcmVlbi1yZWFkZXIgICAgICBcdFx0XHQ6IDEwMDAwMCxcblx0bWFnbmlmaWMtcG9wdXAtYnV0dG9ucyBcdFx0OiAxMDQ2LFxuXHRtYWduaWZpYy1wb3B1cC1jb250ZW50IFx0XHQ6IDEwNDUsXG5cdG1hZ25pZmljLXBvcHVwLXByZWxvYWRlciBcdDogMTA0NCxcblx0bWFnbmlmaWMtcG9wdXAtd3JhcCBcdFx0OiAxMDQzLFxuXHRtYWduaWZpYy1wb3B1cC1iZyBcdFx0XHQ6IDEwNDIsXG5cdHNjcm9sbFRvVG9wICAgICAgICBcdFx0XHQ6IDEwMCxcblx0Zml4ZWQtZm9vdGVyIFx0XHRcdFx0OiA0MCxcblx0YnJpbmctdG8tZnJvbnRcdFx0XHQgXHQ6IDksXG5cdHNlYXJjaC1mb3JtLWhlYWRlciBcdFx0XHQ6IDUsXG5cdHN0aWNreS1oZWFkZXIgXHRcdFx0XHQ6IDQsXG5cdHJvdy1kaXZpZGVyXHRcdFx0IFx0XHQ6IDMsXG5cdGZvcm0tZmllbGRzIFx0XHRcdFx0OiAyLFxuXHRncmlkLWNvbnRhaW5lci13cmFwcGVyXHRcdDogMixcblx0c2VjdGlvbi1kaXZpZGVyXHRcdFx0IFx0OiAxLFxuXHRub3JtYWxcdFx0XHQgXHRcdFx0OiAxLFxuXHRtYWduaWZpYy1wb3B1cC1zaGFkb3cgXHRcdDogLTEsXG4pO1xuXG5AZnVuY3Rpb24gei1pbmRleCgka2V5KSB7XG4gIEByZXR1cm4gbWFwLWdldCgkei1pbmRleCwgJGtleSk7XG59XG5cbkBtaXhpbiB6LWluZGV4KCRrZXkpIHtcbiAgei1pbmRleDogei1pbmRleCgka2V5KTtcbn1cblxuXG4uY2FyZF9wYWdlcyB7XG5cdC5jYXJkIHtcblx0XHQuY2FyZC1pY29uIHtcblx0XHRcdHN2ZyB7XG5cdFx0XHRcdGZpbGw6ICRwcmltYXJ5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIHtcblxuXHRzZWxlY3Qgb3B0aW9uOmZpcnN0LWNoaWxkIHtcblx0ICBjb2xvcjogJGxpZ2h0LWdyZXk7XG5cdH1cbn1cblxuZm9ybSNkZXNpZ25Gb3JtIHtcblx0c2VsZWN0IHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ibHVlOyBcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBcblx0XHRjb2xvcjogJGRhcmstYmx1ZTsgXG5cdFx0Ly9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICMxMjMyNDYnPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cdH1cbn1cbi50aXRsZS1iYXItanVtcC1tZW51IHtcblx0ZmxleC1ncm93OiAxO1xuXHQuanVtcC1tZW51IHtcblx0XHRtYXgtd2lkdGg6IDE2MHB4O1xuXHQgICAgZmxvYXQ6IHJpZ2h0O1xuXHQgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHR9XG5cdGZvcm0jZGVzaWduRm9ybSB7XG5cdFx0c2VsZWN0IHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWJsdWU7IFxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlOyBcblx0XHRcdGNvbG9yOiAkZGFyay1ibHVlOyBcblx0XHR9XG5cdH1cbn1cblxuLmhvbWUtY29udGFjdCB7XG5cdC5nZm9ybV9mb290ZXIge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuXG4vLyBib3JkZXJzXG4uYm9yZGVyLXNvbGlkIHtcblx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4uYm9yZGVyLXNvbGlkLXRoaWNrIHtcblx0Ym9yZGVyLXdpZHRoOiAxMnB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4ucGV0YWwtb2Zmc2V0IHtcblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRvcGFjaXR5OiAwLjY7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvcGF0dGVybi1wZXRhbHNfd2hpdGUtc21hbGwuc3ZnJyk7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDE3MDBweCA2MDBweDtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDMyNXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvcGF0dGVybi1wZXRhbHNfd2hpdGUtc21hbGwuc3ZnJyk7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDE3MDBweCA2MDBweDtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDU3NXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvcGF0dGVybi1wZXRhbHNfd2hpdGUuc3ZnJyk7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDI1MDBweCAxNzZweDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gMzAwcHgpO1xuXHRcdH1cblx0fVxuXG59XG5cbi5zZWN0aW9uLWJnLXBldGFscy1ncmV5X3VwIHtcblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi8uLi8uLi91cGxvYWRzL2JvcmRlci1wZXRhbHMtZ3JleV91cC5zdmcnKTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogNTFweCA1NHB4O1xuXHRcdFx0aGVpZ2h0OiAzNnB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvYm9yZGVyLXBldGFscy1ncmV5X3VwLnN2ZycpO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDJweCAxMDZweDtcblx0XHRcdGhlaWdodDogNjZweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi8uLi8uLi91cGxvYWRzL2JvcmRlci1wZXRhbHMtZ3JleV91cC5zdmcnKTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTU0cHggMTYwcHg7XG5cdFx0XHRoZWlnaHQ6IDg2cHg7XG5cdFx0fVxuXHR9XG5cbn1cblxuLnNlY3Rpb24tYmctcGV0YWxzX3VwLXdoaXRlLXNlYW1sZXNzIHtcblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy9ib3JkZXItcGV0YWxzX3VwLXdoaXRlLXNlYW1sZXNzLnN2ZycpO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiA3MHB4IDgwcHg7XG5cdFx0XHQvL2hlaWdodDogMzZweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi8uLi8uLi91cGxvYWRzL2JvcmRlci1wZXRhbHNfdXAtd2hpdGUtc2VhbWxlc3Muc3ZnJyk7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMnB4IDExNnB4O1xuXHRcdFx0Ly9oZWlnaHQ6IDY2cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy9ib3JkZXItcGV0YWxzX3VwLXdoaXRlLXNlYW1sZXNzLnN2ZycpO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxNTRweCAxNzZweDtcblx0XHRcdC8vaGVpZ2h0OiA4NnB4O1xuXHRcdH1cblx0fVxuXHQuc2ltcGxlLXBhbmVsLWlubmVyIHtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cbn1cblxuXG4vLyBEaXZpZGVyc1xuXG4uZGl2aWRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblx0QGluY2x1ZGUgei1pbmRleChzZWN0aW9uLWRpdmlkZXIpO1xuXHQmLmdyaWQtY29udGFpbmVyICB7XG5cdFx0QGluY2x1ZGUgei1pbmRleChyb3ctZGl2aWRlcik7XG5cdH1cblx0Ji5iZy1wZXRhbHMtZ3JleS1kb3duIHtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1zaXplOiA3NnB4IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi8uLi8uLi91cGxvYWRzL2RpdmlkZXItcGV0YWxzLWdyZXktZG93bi5zdmcnKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcblx0fVxuXHQmLmJnLXBldGFscy1ncmV5LXVwIHtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1zaXplOiA3NnB4IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi8uLi8uLi91cGxvYWRzL2RpdmlkZXItcGV0YWxzLWdyZXktdXAuc3ZnJyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG5cdH1cblx0Ji5iZy1wZXRhbHMtd2hpdGUtZG93biB7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNzZweCAyMHB4O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy9kaXZpZGVyLXBldGFscy13aGl0ZS1kb3duLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXHR9XG5cdCYuYmctcGV0YWxzLXdoaXRlLXVwIHtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1zaXplOiA3NnB4IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi8uLi8uLi91cGxvYWRzL2RpdmlkZXItcGV0YWxzLXdoaXRlLXVwLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXHR9XG5cdCYuYmctc29saWQtZGFyay1ncmV5IHtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRkYXJrLWdyZXksIDQwJSk7XG5cdH1cblx0Ji5iZy1zb2xpZC1saWdodC1ncmV5IHtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcblx0fVxuXHQmLmJnLXNvbGlkLWxpZ2h0LWJsdWUge1xuXHRcdGhlaWdodDogMnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlO1xuXHR9XG5cblxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQuY29sdW1uLWRpdmlkZXItcmlnaHQge1xuXHRcdGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG5cdFx0XG5cdFx0Ji5kaXZpZGVyLXNvbGlkLWxpZ2h0LWJsdWUge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHR9XG5cdH1cbn1cblxuXG5cbi5iZy1saWdodC1ncmV5ICsgLmJnLXBldGFscy1ncmV5X3VwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG59XG4ub3ZlcmxhcC1kaXZpZGVyICsgLmJnLXBldGFscy1ncmV5X3VwIHtcblx0QGV4dGVuZCAuYnJpbmctdG8tZnJvbnQ7XG59XG5cbi5kaXZpZGVyLWZyb250ICsgLmRpdmlkZXIge1xuXHRAaW5jbHVkZSB6LWluZGV4KHJvdy1kaXZpZGVyKTtcbn1cblxuXG4uYXJjaGl2ZS1oZWFkaW5nIHtcblx0QGV4dGVuZCAudGV4dC1jZW50ZXI7XG59XG4uZ2FsbGVyeS1jYXJkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG5cdC5ib3JkZXItaW5uZXIge1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdH1cblx0LmdhbGxlcnktbGluayB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdC5nYWxsZXJ5LWluZm8ge1xuXHRcdHBhZGRpbmc6IDIwcHggMTBweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0aDYsaDQge1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHR9XG59XG5cbi5iYW5uZXItcHJvbW8ge1xuXHRib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtYmx1ZTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRwYWRkaW5nOiA1cHg7XG5cdGZvbnQtc2l6ZTogMS42ZW07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMjBweCBhdXRvIDA7XG5cdFxuXHQuYmFubmVyLXByb21vLWlubmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0cGFkZGluZzogMTRweCAzMHB4O1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cbn1cblxuLmF2YWlsYWJpbGl0eS1zdGF0dXMge1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRsaW5lLWhlaWdodDogMTtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Ym9yZGVyOiAzcHggc29saWQgJGxpZ2h0LWJsdWU7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRmb250LXNpemU6IDEuOGVtO1xuXHR9XHRcblx0LmF2YWlsYWJpbGl0eS1sb2NhdGlvbiB7XG5cdFx0cGFkZGluZzogMC41ZW0gMWVtIDAuM2VtO1xuXHR9XG5cdC5hdmFpbGFiaWxpdHktbnVtYmVyIHtcblx0XHRib3JkZXItcmFkaXVzOiAwIDZweCA2cHggMDtcblx0XHRwYWRkaW5nOiAwLjVlbSAxZW0gMC4zZW07XG5cdH1cbn1cblxuLnR5cGVzLW9mLWNhcmUtYm94ZXMge1xuXHRcblx0LmNhcmUtYm94IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHQvL292ZXJmbG93OiBoaWRkZW47XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtYmx1ZTtcblx0XHRjb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0Zm9udC1zaXplOiAxLjJlbTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRmb250LXNpemU6IDEuNWVtO1xuXHRcdH1cdFx0XG5cdFx0JjpiZWZvcmUge1xuXHRcdCAgICBjb250ZW50OiBcIlwiO1xuXHRcdCAgICBkaXNwbGF5OiBibG9jaztcblx0XHQgICAgcGFkZGluZy10b3A6IDEwMCU7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdCAgICBjb250ZW50OiBcIitcIjtcblx0XHQgICAgZGlzcGxheTogYmxvY2s7XG5cdFx0ICAgIGJvdHRvbTogMSU7XG5cdFx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdCAgICB3aWR0aDogMTAwJTtcblx0XHQgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdC5jYXJlLWJveC1jb250ZW50IHtcblx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdCAgICB0b3A6IDA7XG5cdFx0ICAgIGxlZnQ6IDA7XG5cdFx0ICAgIGJvdHRvbTogMDtcblx0XHQgICAgcmlnaHQ6IDA7XG5cdFx0XHRcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHR9XG5cdH1cbn1cbi5yZXZlYWwucmV2ZWFsLWNhcmUtdHlwZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1pbi1oZWlnaHQ6IDA7XG5cdHdpZHRoOiA5NiU7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi50eXBlcy1vZi1jYXJlLWxpc3Qge1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRmb250LXNpemU6IDEuNGVtO1xuXHR9XG5cdFxuXHRzcGFuIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0bWFyZ2luOiAwLjJlbSBhdXRvIDAuMmVtO1xuXHRcdHBhZGRpbmc6IDAuMmVtIDAuNGVtIDA7XG5cdFx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkbGlnaHQtYmx1ZTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRtYXJnaW46IDFlbSBhdXRvIDAuOGVtO1xuXHRcdFx0cGFkZGluZzogMC4yZW0gMC43ZW0gMDtcblx0XHR9XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItbGVmdDogMCBub25lO1xuXHRcdH1cblx0XHRcblx0fVxufVxuLnByaWNpbmctdGFibGUtaGVhZGVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmV5O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdG1hcmdpbi10b3A6IDNlbTtcblx0bWFyZ2luLWJvdHRvbTogMS41ZW07XG5cdHBhZGRpbmctdG9wOiAyZW07XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdG1hcmdpbi10b3A6IDRlbTtcblx0fVxuXHQuYXZhaWxhYmlsaXR5LXN0YXR1cy13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtMmVtO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cbn1cblxuLnBsYy1wcmljaW5nIHtcblx0Ym9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmV5O1xuXHRib3JkZXItYm90dG9tOiAwIG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0bWFyZ2luLWJvdHRvbTogMmVtO1xuXHRcblx0LnByaWNpbmctaGVhZGVyIHtcblx0XHRmb250LXNpemU6IDEuM2VtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0cGFkZGluZzogMC42ZW0gMWVtO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0fVxuXHQuc3VpdGUtaXRlbSB7XG5cdFx0ZGlzcGxheTogLW1zLWdyaWQ7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHQtbXMtZ3JpZC1jb2x1bW5zOiAgMWZyIDFmcjtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRcdFxuXHRcdC5zdWl0ZS1jZWxsIHtcblx0XHRcdGZvbnQtc2l6ZTogMS4zZW07XG5cdFx0XHRwYWRkaW5nOiAxZW07XG5cdFx0XHRsaW5lLWhlaWdodDogMS4xO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JleTtcblx0XHRcdFxuXHRcdFx0LmNlbGwtaGVhZGluZyB7XG5cdFx0XHRcdGNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRcdH1cblx0XHR9XG4gIFx0XHQuc3VpdGUtdGl0bGUge1xuXHQgIFx0XHQtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcblx0ICBcdFx0Z3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgXHRcdH1cbiAgXHRcdC5zdWl0ZS1tYXgtcmFkIHtcblx0ICBcdFx0LW1zLWdyaWQtY29sdW1uLXNwYW46IDE7XG5cdCAgXHRcdGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gIFx0XHR9XG4gIFx0XHQuc3VpdGUtbWF4LWRhcCB7XG5cdCAgXHRcdC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xuXHQgIFx0XHRncmlkLWNvbHVtbjogc3BhbiAxO1xuICBcdFx0fVxuICBcdFx0LnN1aXRlLXNsaWRlciB7XG5cdCAgXHRcdC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAyO1xuXHQgIFx0XHRncmlkLWNvbHVtbjogc3BhbiAyO1xuICBcdFx0fVxuICBcdFx0LnN1aXRlLXJhZCB7XG5cdCAgXHRcdC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xuXHQgIFx0XHRncmlkLWNvbHVtbjogc3BhbiAxO1xuICBcdFx0fVxuICBcdFx0LnN1aXRlLWRhcCB7XG5cdCAgXHRcdC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xuXHQgIFx0XHRncmlkLWNvbHVtbjogc3BhbiAxO1xuICBcdFx0fVxuICBcdFx0LnN1aXRlLWRhaWx5LWZlZSB7XG5cdCAgXHRcdC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAyO1xuXHQgIFx0XHRncmlkLWNvbHVtbjogc3BhbiAyO1xuICBcdFx0fVxuXG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQuc3VpdGUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0LnN1aXRlLWl0ZW0ge1xuXHQgIFx0XHQuc3VpdGUtbWF4LXJhZCB7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRtZWRpdW0tZ3JleTtcblx0ICBcdFx0fVxuXHQgIFx0XHQuc3VpdGUtcmFkIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJG1lZGl1bS1ncmV5O1xuXHQgIFx0XHR9XG4gIFx0XHR9XG5cdH1cblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHQucHJpY2luZy1oZWFkZXIge1xuXHRcdFx0Zm9udC1zaXplOiAxLjRlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRwYWRkaW5nOiAwLjRlbSAwLjZlbSAwLjNlbTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHRcdC5zdWl0ZS1pdGVtIHtcblx0XHRcdC1tcy1ncmlkLWNvbHVtbnM6ICAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMWZyKTtcblx0XHRcdFxuXHRcdFx0LnN1aXRlLWNlbGwge1xuXHRcdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4wNTtcblx0XHRcdFx0cGFkZGluZzogMC42ZW0gMC41ZW0gMC40ZW07XG5cdFx0XHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXHRcdCAgXHRcdGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXHRcdCAgXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdCAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHQgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0XHRcblx0ICBcdFx0LnN1aXRlLXRpdGxlIHtcblx0XHQgIFx0XHQtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcblx0XHQgIFx0XHRncmlkLWNvbHVtbjogc3BhbiAyO1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG5cdCAgXHRcdH1cblx0ICBcdFx0LnN1aXRlLW1heC1yYWQge1xuXHRcdCAgXHRcdC1tcy1ncmlkLWNvbHVtbjogMztcblx0XHQgIFx0XHQtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMTtcblx0XHQgIFx0XHRncmlkLWNvbHVtbjogc3BhbiAxO1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG5cdCAgXHRcdH1cblx0ICBcdFx0LnN1aXRlLW1heC1kYXAge1xuXHRcdCAgXHRcdC1tcy1ncmlkLWNvbHVtbjogNDtcblx0XHQgIFx0XHQtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMTtcblx0XHQgIFx0XHRncmlkLWNvbHVtbjogc3BhbiAxO1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG5cdCAgXHRcdH1cblx0ICBcdFx0LnN1aXRlLXNsaWRlciB7XG5cdFx0ICBcdFx0LW1zLWdyaWQtcm93OiAxO1xuXHRcdCAgXHRcdGdyaWQtcm93OiAxO1xuXHRcdCAgXHRcdC1tcy1ncmlkLWNvbHVtbjogNjtcblx0XHQgIFx0XHQtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcblx0XHQgIFx0XHRncmlkLWNvbHVtbjogNiAvIHNwYW4gMjtcblx0ICBcdFx0fVxuXHQgIFx0XHQuc3VpdGUtcmFkIHtcblx0XHQgIFx0XHQtbXMtZ3JpZC1yb3c6IDE7XG5cdFx0ICBcdFx0Z3JpZC1yb3c6IDE7XG5cdFx0ICBcdFx0LW1zLWdyaWQtY29sdW1uOiA1O1xuXHRcdCAgXHRcdC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xuXHRcdCAgXHRcdGdyaWQtY29sdW1uOiA1IC8gc3BhbiAxO1xuXHQgIFx0XHR9XG5cdCAgXHRcdC5zdWl0ZS1kYXAge1xuXHRcdCAgXHRcdC1tcy1ncmlkLXJvdzogMTtcblx0XHQgIFx0XHRncmlkLXJvdzogMTtcblx0XHQgIFx0XHQtbXMtZ3JpZC1jb2x1bW46IDg7XG5cdFx0ICBcdFx0LW1zLWdyaWQtY29sdW1uLXNwYW46IDE7XG5cdFx0ICBcdFx0Z3JpZC1jb2x1bW46IDggLyBzcGFuIDE7XG5cdCAgXHRcdH1cblx0ICBcdFx0LnN1aXRlLWRhaWx5LWZlZSB7XG5cdFx0ICBcdFx0LW1zLWdyaWQtY29sdW1uOiAzO1xuXHRcdCAgXHRcdC1tcy1ncmlkLWNvbHVtbi1zcGFuOiA2O1xuXHRcdCAgXHRcdGdyaWQtY29sdW1uOiBzcGFuIDY7XG5cdCAgXHRcdH1cbiAgXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQucHJpY2luZy1oZWFkZXIge1xuXHRcdFx0Zm9udC1zaXplOiAxLjVlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0XHRwYWRkaW5nOiAwLjZlbSAxZW07XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmV5O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0XHQuc3VpdGUtaXRlbSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdC1tcy1ncmlkLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnI7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCAxZnIpO1xuXHRcdFx0XG5cdFx0XHQuc3VpdGUtY2VsbCB7XG5cdFx0XHRcdHBhZGRpbmc6IDAuOGVtIDFlbSAwLjZlbTtcblx0XHRcdFx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cdFx0ICBcdFx0ZGlzcGxheTogLW1zLWZsZXhib3g7XG5cdFx0ICBcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0LXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0ICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdCAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdH1cblx0XHRcdFxuXHQgIFx0XHQuc3VpdGUtdGl0bGUge1xuXHRcdCAgXHRcdC1tcy1ncmlkLWNvbHVtbjogMTtcblx0XHQgIFx0XHQtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcblx0XHQgIFx0XHRncmlkLWNvbHVtbjogc3BhbiAyO1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG5cdCAgXHRcdH1cblx0ICBcdFx0LnN1aXRlLW1heC1yYWQge1xuXHRcdCAgXHRcdC1tcy1ncmlkLWNvbHVtbjogMztcblx0XHQgIFx0XHQtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMTtcblx0XHQgIFx0XHRncmlkLWNvbHVtbjogc3BhbiAxO1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG5cdCAgXHRcdH1cblx0ICBcdFx0LnN1aXRlLW1heC1kYXAge1xuXHRcdCAgXHRcdC1tcy1ncmlkLWNvbHVtbjogNDtcblx0XHQgIFx0XHQtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMTtcblx0XHQgIFx0XHRncmlkLWNvbHVtbjogc3BhbiAxO1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG5cdCAgXHRcdH1cblx0ICBcdFx0LnN1aXRlLXNsaWRlciB7XG5cdFx0ICBcdFx0LW1zLWdyaWQtcm93OiAxO1xuXHRcdCAgXHRcdGdyaWQtcm93OiAxO1xuXHRcdCAgXHRcdC1tcy1ncmlkLWNvbHVtbjogNjtcblx0XHQgIFx0XHQtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcblx0XHQgIFx0XHRncmlkLWNvbHVtbjogNiAvIHNwYW4gMjtcblx0ICBcdFx0fVxuXHQgIFx0XHQuc3VpdGUtcmFkIHtcblx0XHQgIFx0XHQtbXMtZ3JpZC1yb3c6IDE7XG5cdFx0ICBcdFx0Z3JpZC1yb3c6IDE7XG5cdFx0ICBcdFx0LW1zLWdyaWQtY29sdW1uOiA1O1xuXHRcdCAgXHRcdC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xuXHRcdCAgXHRcdGdyaWQtY29sdW1uOiA1IC8gc3BhbiAxO1xuXHQgIFx0XHR9XG5cdCAgXHRcdC5zdWl0ZS1kYXAge1xuXHRcdCAgXHRcdC1tcy1ncmlkLXJvdzogMTtcblx0XHQgIFx0XHRncmlkLXJvdzogMTtcblx0XHQgIFx0XHQtbXMtZ3JpZC1jb2x1bW46IDg7XG5cdFx0ICBcdFx0LW1zLWdyaWQtY29sdW1uLXNwYW46IDE7XG5cdFx0ICBcdFx0Z3JpZC1jb2x1bW46IDggLyBzcGFuIDE7XG5cdCAgXHRcdH1cblx0ICBcdFx0LnN1aXRlLWRhaWx5LWZlZSB7XG5cdFx0ICBcdFx0LW1zLWdyaWQtY29sdW1uOiAzO1xuXHRcdCAgXHRcdC1tcy1ncmlkLWNvbHVtbi1zcGFuOiA2O1xuXHRcdCAgXHRcdGdyaWQtY29sdW1uOiBzcGFuIDY7XG5cdCAgXHRcdH1cbiAgXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0XHQuZHJvcGRvd24ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XG5cdFx0XHRzZWxlY3Qge1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDMuM2VtO1xuXHRcdFx0XHRtYXJnaW46MDtcblx0XHRcdFx0YmFja2dyb3VuZDpub25lO1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdFx0LyogUHJlZml4ZWQgYm94LXNpemluZyBydWxlcyBuZWNlc3NhcnkgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5cdFx0XHRcdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHQvKiBSZW1vdmUgc2VsZWN0IHN0eWxpbmcgKi9cblx0XHRcdFx0YXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHQvKiBNYWdpYyBmb250IHNpemUgbnVtYmVyIHRvIHByZXZlbnQgaU9TIHRleHQgem9vbSAqL1xuXHRcdFx0XHRmb250LXNpemU6IDEuM2VtO1xuXHRcdFx0XHRjb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0XHRcdHBhZGRpbmc6IDFlbTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JleTtcblx0XHRcdH1cblx0XHRcdHNlbGVjdCxcblx0XHRcdGxhYmVsIHtcblx0XHRcdFx0Y29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQvKiBDdXN0b20gYXJyb3cgc2l0cyBvbiB0b3Agb2YgdGhlIHNlbGVjdCAtIGNvdWxkIGJlIGFuIGltYWdlLCBTVkcsIGljb24gZm9udCwgZXRjLiBvciB0aGUgYXJyb3cgY291bGQganVzdCBiYWtlZCBpbnRvIHRoZSBiZyBpbWFnZSBvbiB0aGUgc2VsZWN0ICovXG5cdFx0XHRcblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR3aWR0aDogOXB4O1xuXHRcdFx0XHRoZWlnaHQ6IDhweDtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHJpZ2h0OiAxZW07XG5cdFx0XHRcdG1hcmdpbi10b3A6LTRweDtcblx0XHRcdFx0ei1pbmRleDogMjtcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTInJTNFJTNDcG9seWdvbiBmaWxsPSdyZ2IoMTAyLDEwMiwxMDIpJyBwb2ludHM9JzgsMTIgMCwwIDE2LDAnLyUzRSUzQy9zdmclM0VcIikgMCAwIG5vLXJlcGVhdDsgIFxuXHRcdFx0XHQvKiBUaGVzZSBoYWNrcyBtYWtlIHRoZSBzZWxlY3QgYmVoaW5kIHRoZSBhcnJvdyBjbGlja2FibGUgaW4gc29tZSBicm93c2VycyAqL1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czpub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHRcdFx0XG5cdH1cblxufVxuXG4ubG9jYXRpb24tc2VhcmNoIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXHQuZHJvcGRvd24ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHRcblx0XHRzZWxlY3Qge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdGhlaWdodDogMi4xZW07XG5cdFx0XHRtYXJnaW46MDtcblx0XHRcdGJhY2tncm91bmQ6bm9uZTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdC8qIFByZWZpeGVkIGJveC1zaXppbmcgcnVsZXMgbmVjZXNzYXJ5IGZvciBvbGRlciBicm93c2VycyAqL1xuXHRcdFx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdC8qIFJlbW92ZSBzZWxlY3Qgc3R5bGluZyAqL1xuXHRcdFx0YXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdC8qIE1hZ2ljIGZvbnQgc2l6ZSBudW1iZXIgdG8gcHJldmVudCBpT1MgdGV4dCB6b29tICovXG5cdFx0XHRmb250LXNpemU6IDEuNmVtO1xuXHRcdFx0Y29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdFx0cGFkZGluZzogMC41ZW0gMS41ZW0gMC40ZW0gMWVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRsaWdodC1ibHVlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHNlbGVjdCxcblx0XHRsYWJlbCB7XG5cdFx0XHRjb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0XHRvcHRncm91cCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQvKiBDdXN0b20gYXJyb3cgc2l0cyBvbiB0b3Agb2YgdGhlIHNlbGVjdCAtIGNvdWxkIGJlIGFuIGltYWdlLCBTVkcsIGljb24gZm9udCwgZXRjLiBvciB0aGUgYXJyb3cgY291bGQganVzdCBiYWtlZCBpbnRvIHRoZSBiZyBpbWFnZSBvbiB0aGUgc2VsZWN0ICovXG5cdFx0XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiA5cHg7XG5cdFx0XHRoZWlnaHQ6IDhweDtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0cmlnaHQ6IDFlbTtcblx0XHRcdG1hcmdpbi10b3A6LTRweDtcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxMiclM0UlM0Nwb2x5Z29uIGZpbGw9J3JnYigxMDIsMTAyLDEwMiknIHBvaW50cz0nOCwxMiAwLDAgMTYsMCcvJTNFJTNDL3N2ZyUzRVwiKSAwIDAgbm8tcmVwZWF0OyAgXG5cdFx0XHQvKiBUaGVzZSBoYWNrcyBtYWtlIHRoZSBzZWxlY3QgYmVoaW5kIHRoZSBhcnJvdyBjbGlja2FibGUgaW4gc29tZSBicm93c2VycyAqL1xuXHRcdFx0cG9pbnRlci1ldmVudHM6bm9uZTtcblx0XHR9XG5cdH1cblx0LmxvY2F0aW9uLWF2YWlsYWJpbGl0eSB7XG5cdFx0Zm9udC1zaXplOiAxLjZlbTtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0LmZsZXgtY29udGFpbmVyIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuYXZhaWxhYmlsaXR5LXRleHQge1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgJGxpZ2h0LWJsdWU7XG5cdFx0XHRoZWlnaHQ6IDIuMWVtO1xuXHRcdFx0cGFkZGluZzogMC41ZW0gMWVtIDAuM2VtO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdGJvcmRlci10b3A6IDAgbm9uZTtcblx0XHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAwIG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5hdmFpbGFiaWxpdHktbnVtYmVyIHtcblx0XHRcdGhlaWdodDogMi4xZW07XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtYmx1ZTtcblx0XHRcdHBhZGRpbmc6IDAuNWVtIDFlbSAwLjNlbTtcblx0XHRcdGJvcmRlci1sZWZ0OiAwIG5vbmU7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMCBub25lO1xuXHRcdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5hdmFpbGFiaWxpdHktbGluayB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0XHRhIHtcblx0XHRcdFx0aGVpZ2h0OiAxLjk1ZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRcdHBhZGRpbmc6IDAuNWVtIDFlbSAwLjNlbTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cblxuI3NlYXJjaC1tb2RhbC5yZXZlYWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XG5cdC5yZXZlYWwtaW5uZXIge1xuXHRcdGhlaWdodDogMTAwdmg7XG5cdH1cbn1cblxuXG51bC50YWJzIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcblx0bGkudGFicy10aXRsZSB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdCAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdCAgICBtYXJnaW4tbGVmdDogNHB4ICFpbXBvcnRhbnQ7XG5cdCAgICBtYXJnaW4tcmlnaHQ6IDRweDtcblx0ICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQgICAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcblx0XHQgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHQgICAgXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHRcdH1cblx0XHQ+IGEge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdCAgICBcdFx0cGFkZGluZzogLjU1ZW0gLjZlbSAuNGVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4udGVzdGltb25pYWxzLWxpZ2h0Ym94LWdyaWQge1xuXHQudGVzdGltb25pYWwtd3JhcHBlciB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsaWdodC1ncmV5O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHQgICAgXHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHR9XG5cdH1cbn1cbi50ZXN0aW1vbmlhbC1yZXZlYWwge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICAgIHdpZHRoOiA5MnZ3ICFpbXBvcnRhbnQ7XG5cdCAgICB0b3A6IDR2dyAhaW1wb3J0YW50O1xuXHQgICAgbGVmdDogNHZ3ICFpbXBvcnRhbnQ7XG5cdCAgICBib3R0b206IDR2dyAhaW1wb3J0YW50O1xuXHQgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdCAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdH1cblx0cCB7XG5cdFx0Zm9udC1zaXplOiAxMTAlO1xuXHR9XG59XG5cbi5hbGwtbG9jYXRpb24tY29udGFjdHMge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0LmNvbHVtbi1kaXZpZGVyLXJpZ2h0Om50aC1jaGlsZCgybikge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuXHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuXHRcdH1cblx0XHQuZ3JpZC1wYWRkaW5nLXggPiAuY29sdW1uLWRpdmlkZXItcmlnaHQubWVkaXVtLTY6bnRoLWNoaWxkKDJuKSB7XG5cdFx0XHQuY2VsbC1ib3JkZXIge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyBcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdC5jb2x1bW4tZGl2aWRlci1yaWdodDpudGgtY2hpbGQoM24pIHtcblx0XHRcdGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcblx0XHRcdGJvcmRlci1yaWdodC13aWR0aDogMDtcblx0XHR9XG5cdFx0LmdyaWQtcGFkZGluZy14ID4gLmNvbHVtbi1kaXZpZGVyLXJpZ2h0LmxhcmdlLTQge1xuXHRcdFx0d2lkdGg6IDI5JTtcblx0XHR9XG5cdFx0LmdyaWQtcGFkZGluZy14ID4gLmNvbHVtbi1kaXZpZGVyLXJpZ2h0LmxhcmdlLTQ6bnRoLWNoaWxkKDIpLFxuXHRcdC5ncmlkLXBhZGRpbmcteCA+IC5jb2x1bW4tZGl2aWRlci1yaWdodC5sYXJnZS00Om50aC1jaGlsZCg1KSB7XG5cdFx0XHR3aWR0aDogNDIlO1xuXHRcdFx0bWF4LXdpZHRoOiA0MiU7XG5cdFx0XHQuY2VsbC1ib3JkZXIge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyBcblx0XHRcdH1cblx0XHR9XG5cdFx0LmdyaWQtcGFkZGluZy14ID4gLmNvbHVtbi1kaXZpZGVyLXJpZ2h0LmxhcmdlLTQ6bnRoLWNoaWxkKDMpLFxuXHRcdC5ncmlkLXBhZGRpbmcteCA+IC5jb2x1bW4tZGl2aWRlci1yaWdodC5sYXJnZS00Om50aC1jaGlsZCg2KSB7XG5cdFx0XHR3aWR0aDogMjklO1xuXHRcdFx0LmNlbGwtYm9yZGVyIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cblxuLnNpbmdsZS1zdWl0ZSB7XG5cdC5zdGF0dXMtbGFiZWwtdGV4dCB7XG5cdFx0bWFyZ2luLXRvcDogLTIwcHg7XG5cdFx0XG5cdFx0LmNlbGwtY29udGVudCB7XG5cdFx0ICAgIHBhZGRpbmc6IDEwcHggMjBweCA4cHg7XG5cdFx0ICAgIGZvbnQtc2l6ZTogMS42ZW07XG5cdFx0ICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdFx0XG5cdH1cblx0XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uUHJlc3Mgc2V0dGluZ3MuXG4vLyAgQmFzZWQgb24gRm91bmRhdGlvbiB2Ni40LjFcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuQGltcG9ydCAnZ2xvYmFsL2NvbG9ycyc7XG5AaW1wb3J0ICdzZXR0aW5ncy1wbGMnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG5cbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRkYXJrLWdyZXk7XG4kYm9keS1mb250LWZhbWlseTogJHRoZW1lLWJvZHktZm9udC1mYW1pbHk7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAzcHg7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC41cmVtIDEuM3JlbSAwLjM1cmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI1cHgsXG4gIHhsYXJnZTogMTQwMHB4LFxuICB4eGxhcmdlOiAyMDAwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuXHRzbWFsbDogcmVtLWNhbGMoMTUpLFxuXHRtZWRpdW06IHJlbS1jYWxjKDMwKSxcblx0bGFyZ2U6IHJlbS1jYWxjKDUwKSxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkdGhlbWUtaGVhZGVyLWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMztcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMS40cmVtO1xuLypcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzNiksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzNiksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyOCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBsYXJnZTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNzApLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNTcpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzYpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiovXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JleTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAycmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmV5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJGFjY2VudDtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JleTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmV5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmV5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHRoZW1lLWFjY29yZGlvbi10aXRsZS1iZztcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkdGhlbWUtYWNjb3JkaW9uLXRpdGxlLWJnLWhvdmVyO1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHRoZW1lLWFjY29yZGlvbi1jb250ZW50LWJnO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICR0aGVtZS1hY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JleTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmV5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6ICR0aGVtZS1idXR0b24tZm9udC1mYW1pbHk7XG4kYnV0dG9uLXBhZGRpbmc6IDAuNzVlbSAxLjhlbSAwLjU1ZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkdGhlbWUtYnV0dG9uLWJnLWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHRoZW1lLWJ1dHRvbi1jb2xvcjtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC43cmVtLFxuICBzbWFsbDogMC45cmVtLFxuICBkZWZhdWx0OiAxLjRyZW0sXG4gIGxhcmdlOiAxLjdyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JleTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyZXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICR3aGl0ZTtcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICR0aGVtZS10b3AtYmFyLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHRoZW1lLXRvcC1iYXItYmc7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHRoZW1lLXRvcC1iYXItc3VibWVudS1iZztcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyZXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHRoZW1lLXRvcC1iYXItc3VibWVudS1hY3RpdmUtY29sb3I7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JleTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JleTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkbGlnaHQtYmx1ZTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJHRoZW1lLWlucHV0LWNvbG9yO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkdGhlbWUtaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6IHJnYmEoJHRoZW1lLWlucHV0LWJnLCAwLjYpO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6IHJnYmEoJHRoZW1lLWlucHV0LWJnLCAwLjgpO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmV5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JleTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmV5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyZXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkdGhlbWUtdG9wLWJhci1hY3RpdmUtY29sb3I7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmV5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICR0aGVtZS1vZmZjYW52YXMtYmc7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmV5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JleTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmV5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyZXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmV5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmV5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAwO1xuJHJldmVhbC1ib3JkZXI6IDAgbm9uZTtcbiRyZXZlYWwtcmFkaXVzOiAzcHg7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JleTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmV5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMHB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDEyIDEwIDgpO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR0aGVtZS10YWItYmFja2dyb3VuZDtcbiR0YWItY29sb3I6ICR0aGVtZS10YWItY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkdGhlbWUtdGFiLWJhY2tncm91bmQtYWN0aXZlO1xuJHRhYi1hY3RpdmUtY29sb3I6ICR0aGVtZS10YWItYWN0aXZlLWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogJHRoZW1lLXRhYi1pdGVtLWZvbnQtc2l6ZTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkdGhlbWUtdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiR0YWItaXRlbS1wYWRkaW5nOiAkdGhlbWUtdGFiLWl0ZW0tcGFkZGluZztcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkdGhlbWUtdGFiLWNvbnRlbnQtYmFja2dyb3VuZDtcbiR0YWItY29udGVudC1ib3JkZXI6ICR0aGVtZS10YWItY29udGVudC1ib3JkZXI7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICR0aGVtZS10YWItY29udGVudC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAkdGhlbWUtdGFiLWNvbnRlbnQtcGFkZGluZztcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICR0aGVtZS10aXRsZS1iYXItYmc7XG4kdGl0bGViYXItY29sb3I6ICR0aGVtZS10aXRsZS1iYXItY29sb3I7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JleTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JleTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMjBweCAxMHB4O1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkdGhlbWUtdG9wLWJhci1iZztcbiR0b3BiYXItdWwtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItbGluay1mb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiR0b3BiYXItbGluay1mb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiR0b3BiYXItbGluay1mb250LXdlaWdodDogbm9ybWFsO1xuXG4kdG9wYmFyLWxpbmstY29sb3I6ICR0aGVtZS10b3AtYmFyLWNvbG9yO1xuJHRvcGJhci1saW5rLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4kdG9wYmFyLWxpbmstYmFja2dyb3VuZC1ob3ZlcjogJHRvcGJhci1saW5rLWJhY2tncm91bmQ7XG4kdG9wYmFyLWxpbmstY29sb3ItaG92ZXI6ICR0aGVtZS10b3AtYmFyLWFjdGl2ZS1jb2xvcjtcblxuJHRvcGJhci1saW5rLWJhY2tncm91bmQtYWN0aXZlOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG5cbiR0b3BiYXItbGluay1oaWdobGlnaHQtYmFja2dyb3VuZDogJHRoZW1lLXRvcC1iYXItYnV0dG9uLWJnO1xuJHRvcGJhci1saW5rLWhpZ2hsaWdodC1jb2xvcjogJHRoZW1lLXRvcC1iYXItYnV0dG9uLWNvbG9yO1xuXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci1zdWJtZW51LWNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG5cbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kLWhvdmVyOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXN1Ym1lbnUtY29sb3ItaG92ZXI6ICRhY2NlbnQ7XG5cbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kLWFjdGl2ZTogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiR0b3BiYXItc3VibWVudS1jb2xvci1hY3RpdmU6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuXG4vLyAkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbGFyZ2U7XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDE1cHgsXG4gIG1lZGl1bTogMjBweCxcbiAgbGFyZ2U6IDMwcHhcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDM3LiBMb2dvXG4vLyAtLS0tLS0tLS0tLVxuJGxvZ28taW1hZ2UtaGVpZ2h0OiAoXG5cdCdzbWFsbCc6IDQwcHgsXG5cdCdtZWRpdW0nOiA2MHB4LFxuXHQnbGFyZ2UnOiA4MHB4LFxuXHQneGxhcmdlJzogMTAwcHgsXG5cdCd4eGxhcmdlJzogMTUwcHgsXG4pO1xuXG4vLyAzOC4gU2xpZGUgaW4gcGFuZWxcbi8vIC0tLS0tLS0tLS0tXG5cbiRwYW5lbC13aWR0aC1zbWFsbDogOTB2dyAhZGVmYXVsdDtcbiRwYW5lbC13aWR0aC1tZWRpdW06IDcwdncgIWRlZmF1bHQ7XG4kcGFuZWwtd2lkdGgtbGFyZ2U6IDYwdncgIWRlZmF1bHQ7XG4kcGFuZWwtaGVpZ2h0OiAxMDAlICFkZWZhdWx0O1xuJHBhbmVsLWJhY2tncm91bmQ6ICR0aGVtZS1vZmZjYW52YXMtYmcgIWRlZmF1bHQ7XG4kcGFuZWwtdHJhbnNpdGlvbi1lYXNpbmc6IGVhc2UgIWRlZmF1bHQ7XG4kcGFuZWwtdHJhbnNpdGlvbi10aW1pbmc6IC4yNXMgIWRlZmF1bHQ7XG4kcGFuZWwtY29udGVudC1wYWRkaW5nLXNtYWxsOiAxNXB4IDE1cHggMTVweCA0MHB4ICFkZWZhdWx0O1xuJHBhbmVsLWNvbnRlbnQtcGFkZGluZy1tZWRpdW06IDR2aCAhZGVmYXVsdDtcbiRwYW5lbC1jb250ZW50LXBhZGRpbmctbGFyZ2U6IDEuNXZoIDZ2aCAhZGVmYXVsdDtcbiRwYW5lbC16LWluZGV4OiA5OTk5ICFkZWZhdWx0O1xuJHBhbmVsLXNoYWRvdy1jb2xvcjogIzczNzM3MyAhZGVmYXVsdDtcbiRwYW5lbC1zaGFkb3c6IC4wMWVtIDAgLjVlbSAkcGFuZWwtc2hhZG93LWNvbG9yICFkZWZhdWx0O1xuJHBhbmVsLXRyYW5zbGF0ZTogdHJhbnNsYXRlWCgtMTAwJSk7XG4kcGFuZWwtc2lkZTogJ3JpZ2h0JyAhZGVmYXVsdDtcbiRwYW5lbC1jbG9zZS1idXR0b24tY29sb3I6ICR0aGVtZS1vZmZjYW52YXMtY2xvc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuNC1yYzFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gaGF2ZSByb3cgd3JhcHBpbmcgYmVoYXZpb3Igc2V0IHRvIG5vd3JhcFxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYGdyb3dgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpOztcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gIH1cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG4gICAgXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbWFwOiBjYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbGVmdF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGxlZnQsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcblxuXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcbkBpbXBvcnQgJ21vdGlvbi11aSc7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLypcbiAgTXkgY3VzdG9tIHN0eWxlczpcbiAgQWRkIHlvdXIgc2NzcyBmaWxlcyBiZWxvdyB0byBzdHJ1Y3R1cmUgeW91ciBwcm9qZWN0IHN0eWxlc1xuKi9cblxuLy8gR2xvYmFsXG5AaW1wb3J0IFwiZ2xvYmFsL21peGluc1wiO1xuQGltcG9ydCBcImdsb2JhbC9fYWNjZXNzaWJpbGl0eVwiO1xuQGltcG9ydCBcImdsb2JhbC9jb2xvcnNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvdHlwb2dyYXBoeS1wbGNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvYmFzZVwiO1xuQGltcG9ydCBcImdsb2JhbC9zZWN0aW9uc1wiO1xuQGltcG9ydCBcImdsb2JhbC9pbWFnZXNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvd3AtYWRtaW5cIjtcbkBpbXBvcnQgXCJnbG9iYWwvd3Atb3ZlcnJpZGVzXCI7XG5cbi8vIE1vZHVsZXNcbkBpbXBvcnQgXCJtb2R1bGVzL25hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NvbnRlbnRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Zvb3RlclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZWRpdG9yLXN0eWxlXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9zbGlkZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2ltYWdlLWdyaWRzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9vZmYtY2FudmFzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jYXJkc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYXJkc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGl2aWRlcnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9iYWNrZ3JvdW5kc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGFtYnVyZ2VyXCI7XG5cbi8vIFRlbXBsYXRlc1xuQGltcG9ydCBcInRlbXBsYXRlcy9nYWxsZXJ5XCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL2V2ZW50c1wiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9zaW5nbGUtcG9zdFwiO1xuLy9AaW1wb3J0IFwidGVtcGxhdGVzL3NpbmdsZS1ob21lXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL25ld3MtZXZlbnRzLWhvbWVcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvc2luZ2xlLW5ld3MtZXZlbnRzXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL3Byb21vc1wiO1xuIiwiLy8gVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gQWRkcmVzc2VzIHBhcnQgb2YgdGhlbWUtY2hlY2sgaXNzdWUgIzg0MC5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9BdXRvbWF0dGljL19zL2Jsb2IvbWFzdGVyL3N0eWxlLmNzc1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IC8vIEFib3ZlIFdQIHRvb2xiYXIuXG59XG4iLCJcbmgxIHtcblx0Y29sb3I6ICRtZWRpdW0tZ3JleTtcblx0XG5cdCYuYm9keS1mb250IHtcblx0XHRmb250LWZhbWlseTogJHRoZW1lLWJvZHktZm9udC1mYW1pbHk7XG5cdH1cblx0c3BhbiB7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRmb250LXNpemU6IDAuNTVlbTtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Zm9udC1zaXplOiAwLjQ1ZW07XG5cdFx0fVxuXHR9XG59XG5oMiB7XG5cdGNvbG9yOiAkbWVkaXVtLWdyZXk7XG5cdFxuXHQmLmJvZHktZm9udCB7XG5cdFx0Zm9udC1mYW1pbHk6ICR0aGVtZS1ib2R5LWZvbnQtZmFtaWx5O1xuXHR9XG59XG5oMywgaDQge1xuXHRjb2xvcjogJG1lZGl1bS1ncmV5O1xuXHRcblx0Ji5ib2R5LWZvbnQge1xuXHRcdGZvbnQtZmFtaWx5OiAkdGhlbWUtYm9keS1mb250LWZhbWlseTtcblx0fVxufVxuaDUge1xuXHRjb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFxuXHQmLmJvZHktZm9udCB7XG5cdFx0Zm9udC1mYW1pbHk6ICR0aGVtZS1ib2R5LWZvbnQtZmFtaWx5O1xuXHR9XG59XG5oNiB7XG5cdGNvbG9yOiAkbWVkaXVtLWdyZXk7XG5cdFxuXHRzcGFuIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXHQmLmJvZHktZm9udCB7XG5cdFx0Zm9udC1mYW1pbHk6ICR0aGVtZS1ib2R5LWZvbnQtZmFtaWx5O1xuXHR9XG59XG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcblx0Ji5uby1tYXJnaW4ge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdH1cblx0LnNlYXJjaC10eXBlIHtcblx0XHRmb250LXNpemU6IDYwJTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWdyZXk7XG5cdFx0cGFkZGluZzogNXB4IDhweCAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0fVxufVxuLnVwcGVyY2FzZSB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uaGVhZGluZy11bmRlcmxpbmUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0d2lkdGg6IDkwcHg7XG5cdFx0bWFyZ2luOiAxZW0gMCAzZW07XG5cdFx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHR3aWR0aDogMTYwcHg7XG5cdFx0bWFyZ2luOiAxLjJlbSAwIDNlbTtcblx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQ7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdHdpZHRoOiAyNTBweDtcblx0XHRtYXJnaW46IDJlbSAwIDRlbTtcblx0XHRib3JkZXItYm90dG9tOiA1cHggc29saWQ7XG5cdH1cbn1cbi5uby1tYXJnaW4gKyAuaGVhZGluZy11bmRlcmxpbmUge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRtYXJnaW46IDAuNWVtIDAgMC44ZW07XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdG1hcmdpbjogMWVtIDAgMmVtO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRtYXJnaW46IDFlbSAwIDFlbTtcblx0fVxufVxuLnRleHQtY2VudGVyIC5oZWFkaW5nLXVuZGVybGluZSxcbi50ZXh0LWNlbnRlciArIC5oZWFkaW5nLXVuZGVybGluZSB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5pbWFnZS1oZWFkZXItbGFyZ2UsXG4uaW1hZ2UtaGVhZGVyIHtcblx0aDEge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0NCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMC45O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg2NCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMC44O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDkwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAwLjg7XG5cdFx0fVxuXHR9XG5cdGgxLmZvbnQtbm9ybWFsIHtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR9XG5cdC5oZWFkaW5nLXVuZGVybGluZSB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0ICAgIHdpZHRoOiA5MHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0ICAgIHdpZHRoOiAxNjBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdCAgICB3aWR0aDogMjUwcHg7XG5cdFx0fVxuXHQgICAgbWFyZ2luOiAwLjVlbSBhdXRvO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQgICAgbWFyZ2luOiAyZW0gYXV0byAwO1xuXHRcdH1cblx0fVxufVxuLnNpdGUtaW50cm8gaDIge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdGZvbnQtc2l6ZTogNXZ3O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XG5cdH1cbn1cblxuLnBvc3QtZGF0ZSxcbmg2LnBvc3QtZGF0ZSB7XG5cdGZvbnQtZmFtaWx5OiAkdGhlbWUtYm9keS1mb250LWZhbWlseTtcblx0bWFyZ2luLXRvcDo1cHg7XG59XG4uY29udGFpbmVyIHtcblx0cCwgbGkge1xuXHRcdGZvbnQtZmFtaWx5OiAkdGhlbWUtYm9keS1mb250LWZhbWlseTtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRmb250LXNpemU6IDIxcHg7XG5cdFx0fVxuXHR9XG5cdHAubGVhZCB7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHRcdGZvbnQtc2l6ZTogMjVweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0Zm9udC1zaXplOiAyNXB4O1xuXHRcdH1cblx0fVxuXHRwLm5vLW1hcmdpbiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXHRwLmltYWdlLWNhcHRpb24ge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0fVxuXHR9XG5cdG9sLCB1bCB7XG5cdCAgICBtYXJnaW46IDAgMCAxLjVlbSAwO1xuXHR9XG5cdHVsLm5vLW1hcmdpbiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXHQudGV4dC1jZW50ZXIgbGkge1xuXHRcdGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcblx0fVxuXHQudGV4dC1jZW50ZXIgdWwuaGFzLXN1Ymxpc3QgbGkge1xuXHQgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXHR9XG5cdC50ZXh0LWNlbnRlciBsaSBsaSB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7IFxuXHR9XG5cdC50ZXh0LWNlbnRlciB1bC5oYXMtc3VibGlzdCBsaSBsaSB7XG5cdCAgICBtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG4uYWNmLW1hcCB7XG5cdGg1IHtcblx0XHRmb250LXNpemU6IDIxcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHR9XG5cdHAge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHR9XG59XG5cbnNlY3Rpb24gbGkge1xuXHRtYXJnaW4tbGVmdDogMjBweDtcbn1cbnVsLmFjY29yZGlvbiA+IGxpIHtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cbnVsLmRhc2gtbGlzdCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcblx0PiBsaSB7XG5cdFx0dGV4dC1pbmRlbnQ6IC0yMHB4O1xuXHR9XG5cdD4gbGk6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIuKAk1wiO1xuXHRcdHRleHQtaW5kZW50OiAtMTBweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdH1cbn1cbi5hcmNoaXZlLXllYXIge1xufVxuLnBhZ2UtdGl0bGUsXG4uYWxidW0tY2F0ZWdvcnktaGVhZGluZyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmIsIHN0cm9uZyB7XG5cdGZvbnQtZmFtaWx5OiAkdGhlbWUtYm9keS1mb250LWZhbWlseS1ib2xkO1xufVxuLm5vLWJyZWFrIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJlbW92ZS1sYXN0LXAtbWFyZ2luIHtcblx0cDpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG51bC5jb2x1bW5zLTMge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQgICAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG5cdCAgICAtbW96LWNvbHVtbi1nYXA6IDIwcHg7XG5cdCAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcblx0ICAgIC13ZWJraXQtY29sdW1uLWdhcDogMjBweDtcblx0ICAgIGNvbHVtbi1jb3VudDogMztcblx0ICAgIGNvbHVtbi1nYXA6IDIwcHg7XG5cdH1cbn1cbnVsLmNvbHVtbnMtMiB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdCAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcblx0ICAgIC1tb3otY29sdW1uLWdhcDogMjBweDtcblx0ICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuXHQgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAyMHB4O1xuXHQgICAgY29sdW1uLWNvdW50OiAyO1xuXHQgICAgY29sdW1uLWdhcDogMjBweDtcblx0fVxufVxudWwubWVkaXVtLWNvbHVtbnMtMiB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0ICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuXHQgICAgLW1vei1jb2x1bW4tZ2FwOiAyMHB4O1xuXHQgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG5cdCAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDIwcHg7XG5cdCAgICBjb2x1bW4tY291bnQ6IDI7XG5cdCAgICBjb2x1bW4tZ2FwOiAyMHB4O1xuXHR9XG59XG4ucHJpY2UtbWFyZ2lucyB7XG5cdHN0cm9uZyB7XG5cdFx0bWFyZ2luLXRvcDogMjVweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG51bC50aWNrLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHQ+IGxpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDkwJTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTAgMTAgMTAgMjApO1xuXHRcdG1hcmdpbi1sZWZ0OiA0MHB4O1xuXHR9XG5cdD4gbGk6YmVmb3JlIHtcblx0ICBjb250ZW50OiBcIlwiO1xuXHQgIGhlaWdodDogMzNweDtcblx0ICB3aWR0aDogMzNweDtcblx0ICBkaXNwbGF5OiBibG9jaztcblx0ICBmbG9hdDogbGVmdDtcblx0ICBtYXJnaW4tbGVmdDogLTU1cHg7XG5cdCAgbWFyZ2luLXRvcDogLTJweDtcblx0ICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdCAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0ICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cdCAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy90aWNrLWJ1bGxldF9saWdodC1ibHVlLnN2Z1wiKTtcblx0fVxufVxudWwudGljay1saXN0LnRpY2std2hpdGUge1xuXHQ+IGxpOmJlZm9yZSB7XG5cdCAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy90aWNrLWJ1bGxldF93aGl0ZS5zdmdcIik7XG5cdH1cbn1cbnVsLmNpcmNsZS1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0PiBsaSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCAxMCAxMCAyMCk7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuXHRcdH1cblx0fVxuXHQ+IGxpOmJlZm9yZSB7XG5cdCAgY29udGVudDogXCJcIjtcblx0ICBoZWlnaHQ6IDEwcHg7XG5cdCAgd2lkdGg6IDEwcHg7XG5cdCAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHQgIG1hcmdpbi1yaWdodDogMTBweDtcblx0ICBtYXJnaW4tbGVmdDogLTIwcHg7XG5cdCAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHQgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdCAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuXHQgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvY2lyY2xlLWJ1bGxldF9saWdodC1ibHVlLnN2Z1wiKTtcblx0fVxuXHQmLmNpcmNsZS1kYXJrLWdyZXl7XG5cdFx0PiBsaTpiZWZvcmUge1xuXHRcdCAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vLi4vLi4vdXBsb2Fkcy9jaXJjbGUtYnVsbGV0X21lZGl1bS1ncmV5LnN2Z1wiKTtcblx0XHR9XG5cdH1cbn1cbi50ZXh0LWNlbnRlciB1bC5jaXJjbGUtbGlzdCB7XG5cdD4gbGkge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHQuaG9tZS1jb250YWN0LWRldGFpbHMge1xuXHRcdHNwYW4ge1xuXHRcdFx0Zm9udC1zaXplOiBjYWxjKDEzcHggKyAxdncpO1xuXHRcdFx0Ly9kaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cbn1cblxuLmhvbWUtY2FyZCB7XG5cdC5ob21lLWluZm8ge1xuXHRcdGgzIHtcblx0XHRcdGNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHRcdD4gaDYge1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG5cdH1cblxufVxuLnNpbXBsZS1wYW5lbCB7XG5cdC5wYW5lbC1jb250YWN0LWZvcm0ge1xuXHRcdC5nZm9ybV93cmFwcGVyIHtcblx0XHRcdGgzLmdmb3JtX3RpdGxlIHtcblx0XHRcdFx0Y29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4iLCJcbi5wLW1hcmdpbiB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5jYXBzIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmZpeGVkIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiA5OTtcbn1cblxuLnRleHQtcmlnaHQge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnJlbGF0aXZlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29udGFpbmVyIHtcblx0Ly9tYXJnaW4tdG9wOiA2NnB4O1xuXHRwYWRkaW5nLXRvcDogMDtcblxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1MHB4KSB7XG5cdFx0Ly9tYXJnaW4tdG9wOiAxMjhweDtcblx0fVxufVxuXG4uZGlzcGxheSB7XG5cdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdyB7XG5cdG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5pdGFsaWMge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi53aGl0ZSB7XG5cdGNvbG9yOiAkd2hpdGU7XG59XG5cbi5tYXJnaW4tYm90dG9tLS0yMCB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tYXJnaW5fYm90dG9tLS0zMCB7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5tYXJnaW5fYm90dG9tLS00MCB7XG5cdG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbl9ib3R0b20tLTYwIHtcblx0bWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuLm5vLWhlcm8tc2VjdGlvbi1wYWRkaW5nIHtcblx0cGFkZGluZy10b3A6IDcwcHggIWltcG9ydGFudDtcbn1cblxuLnNlY3Rpb24tcGFkZGluZyB7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg0MCk7XG5cdH1cbn1cblxuLm1vYmlsZS1wYWRkaW5nIHtcblx0QG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcblx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0fVxufVxuXG4ubW9iaWxlLXNlY3Rpb24tcGFkZGluZyB7XG5cblx0QG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG5cblx0XHQuY29sdW1ucyB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH1cblx0fVxuXHRcbn1cblxuXG5zdWIge1xuXHRib3R0b206IDhweCAhaW1wb3J0YW50O1xufVxuXG4vLyB2ZXJ0aWNhbGx5IGNlbnRlciBkaXYgY29udGVudHNcbi5jZW50ZXItdmVydCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdFxuXHRpbWcsIC5mbGV4LXdyYXBwZXIge1xuXHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0fVxufVxuXG5cbi8vQXBwZW5kZWQgVW5kZXJsaW5lIHRvIEhlYWRpbmdzIFxuXG4vLyAudGl0bGUge1xuLy8gXHRoMSB7XG4vLyBcdFx0c3BhbiB7XG4vLyBcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4vLyBcdFx0fVxuLy8gXHR9XG4vLyB9XG5cbiIsIi8vIHNlY3Rpb24gbWFyZ2lucyBhbmQgcGFkZGluZ1xuXG4kc2VjdGlvbi1wYWRkaW5nOiAoXG5cdHNtYWxsOiBtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSxcblx0bWVkaXVtOiBtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSksXG5cdGxhcmdlOiBtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIGxhcmdlKSxcbik7XG4uc2VjdGlvbi1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpKjEuNSBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKS8xLjU7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgzMjBweCBkb3duKSB7XG5cdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCkvMiAwO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIG1lZGl1bSkgbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pLzI7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpO1xuXHR9XG5cdC5jZWxsLWlubmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRjbGVhcjogYm90aDtcblx0fVxufVxuLmJnLXRyYW5zcGFyZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYmctaW1hZ2Uge1xuXHRAaW5jbHVkZSBiYWNrZ3JvdW5kRmlsbCgpO1xufVxuLmJnLWNvbnRhaW4sXG4uYmctaW1hZ2UuYmctY29udGFpbiB7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cbi5iYWNrZ3JvdW5kLWNvbnRhaW4ge1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG4uYmctaW1hZ2UuYmctYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xufVxuLnNtYWxsLWJnLWJvdHRvbSxcbi5iZy1pbWFnZS5zbWFsbC1iZy1ib3R0b20ge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHQgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcblx0fVx0XG59XG4uc21hbGwtYmctY29udGFpbixcbi5iZy1pbWFnZS5zbWFsbC1iZy1jb250YWluIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdCAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdH1cdFxufVxuLmJhY2tncm91bmQtcmVwZWF0IHtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWw7XG59XG4uYmFja2dyb3VuZC1yZXBlYXQteCB7XG5cdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWw7XG59XG4uaGFzLWRpdmlkZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0LnNtYWxsLWhpZGUtYmctaW1hZ2Uge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuLmhlbGxvLWJhciB7XG5cdHBhZGRpbmc6IDhweDtcblx0Zm9udC1zaXplOiAxMjAlO1xuXHQuYnV0dG9uLWdyb3VwIHtcblx0XHQvL2Rpc3BsYXk6IGZsZXg7XG5cdFx0Ly9hbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdC8vanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0bWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHR9XG5cdC5idXR0b24ge1xuXHRcdC8vbWFyZ2luLWxlZnQ6IDhweDtcblx0XHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdH1cblx0LmJ1dHRvbjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cblx0LnRleHQtbGluayB7XG5cdFx0bWFyZ2luOiA1cHggMTBweDtcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdFx0Ym9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG5cdH1cbn1cbi5pbWFnZS1oZWFkZXIge1xuXHQuZ3JpZC14IHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDE0MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI0MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDM0MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYyg0NDApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDU0MCk7XG5cdFx0fVxuXHR9XG59XG4uaW1hZ2UtaGVhZGVyLWxhcmdlIHtcblx0LmdyaWQteCB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYygxNTApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYygyNDApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYyg1MDApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoNjAwKTtcblx0XHR9XG5cdFx0XG5cdH1cbn1cbi5wb3N0LWltYWdlLWhlYWRlciB7XG5cdC5ncmlkLXgge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoMTYwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoMzAwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoNDYwKTtcblx0XHR9XG5cdH1cbn1cbi5zaW5nbGUtdGVhbSAucG9zdC1pbWFnZS1oZWFkZXIge1xuXHQuZ3JpZC14IHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IDg4dnc7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQ2MCk7XG5cdFx0fVxuXHR9XG59XG4uY29sdW1uLWlubmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcbn1cbi5yZW1vdmUtc2VjdGlvbi1wYWRkaW5nIHtcblx0cGFkZGluZzogMDtcblx0PiAuc2VjdGlvbi1jb250YWluZXIge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cbi5ncmlkLWNvbnRhaW5lci13cmFwcGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQvL0BpbmNsdWRlIHotaW5kZXgoZ3JpZC1jb250YWluZXItd3JhcHBlcik7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoMzIwcHggZG93bikge1xuXHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpLzIgMDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKTtcblx0fVxufVxuLnJlbW92ZS1yb3ctcGFkZGluZyB7XG5cdHBhZGRpbmc6IDA7XG59XG4ucmVtb3ZlLXNpZGUtcGFkZGluZyB7XG5cdHBhZGRpbmctbGVmdDogMDtcblx0cGFkZGluZy1yaWdodDogMDtcblx0PiAuc2VjdGlvbi1jb250YWluZXIge1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG59XG4ucmVtb3ZlLXZlcnQtcGFkZGluZyB7XG5cdHBhZGRpbmctdG9wOiAwO1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5yZW1vdmUtcGFkZGluZy1ib3R0b20ge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5yZW1vdmUtcGFkZGluZy10b3Age1xuXHRwYWRkaW5nLXRvcDogMDtcbn1cbi5hbGlnbi1pdGVtcy1jZW50ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uc2VjdGlvbi1jdGEge1xuLypcblx0LmNlbGw6Zmlyc3QtY2hpbGQge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCkgbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCkgMDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKSAwIG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpIG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpO1xuXHRcdH1cblx0fVxuXHQuY2VsbDpsYXN0LWNoaWxkIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0cGFkZGluZy1yaWdodDogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0cGFkZGluZy1yaWdodDogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBsYXJnZSk7XG5cdFx0fVxuXHR9XG4qL1xufVxuLnByb21vLWxpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcdFxufVxuLmNvbnRhY3QtY2FyZCB7XG5cdC5ib3JkZXItaW5uZXIge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKS8yO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKS8yO1xuXHRcdH1cblx0fVxufVxuLmltYWdlLW1hcmdpbi1ib3R0b20gaW1nIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKTtcblx0fVx0XG59XG5cbi5icmluZy10by1mcm9udCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRAaW5jbHVkZSB6LWluZGV4KGJyaW5nLXRvLWZyb250KTtcbn1cbi5vdmVybGFwLWJvdHRvbS1tYXJnaW4tbGFyZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHRcdG1hcmdpbi1ib3R0b206IC0yMDBweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdG1hcmdpbi1ib3R0b206IC0yODBweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogLTI4MHB4O1xuXHR9XG5cdCYuZ3JpZC1jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIHotaW5kZXgoYnJpbmctdG8tZnJvbnQpO1xuXHR9XG59XG4ub3ZlcmxhcC10b3AtbWFyZ2luLWxhcmdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0XHRtYXJnaW4tdG9wOiAtMjAwcHg7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRtYXJnaW4tdG9wOiAtMjgwcHg7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdG1hcmdpbi10b3A6IC0yODBweDtcblx0fVxuXHQmLmdyaWQtY29udGFpbmVyIHtcblx0XHRAaW5jbHVkZSB6LWluZGV4KGJyaW5nLXRvLWZyb250KTtcblx0fVxufVxuLm92ZXJsYXAtdG9wLXBhZGRpbmctbGFyZ2Uge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG5cdFx0cGFkZGluZy10b3A6IDIwMHB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZy10b3A6IDIzMHB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRwYWRkaW5nLXRvcDogMjAwcHg7XG5cdH1cblx0XG59XG4ub3ZlcmxhcC1ib3R0b20tcGFkZGluZy1sYXJnZSB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMjAwcHg7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMjAwcHg7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMDBweDtcblx0fVxuXHRcbn1cblxuXG4uZ3JpZC1zbWFsbC1tYXJnaW4tdG9wIHtcblx0LmNvbHVtbiB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0fVxuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cbn1cbi5ncmlkLXNtYWxsLW1hcmdpbi1ib3R0b20ge1xuXHQuY2VsbCB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0fVxuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cbn1cbi5zbWFsbC1pbm5lci1ndXR0ZXIge1xuXHRtYXJnaW4tcmlnaHQ6IC01cHggIWltcG9ydGFudDtcblx0bWFyZ2luLWxlZnQ6IC01cHggIWltcG9ydGFudDtcblx0XG5cdC5jZWxsIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuXG4vLyByZXNwb25zaXZlIGhlbHBlciBjbGFzc2VzXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG5cdC5tYXJnaW4ge1xuXHRcdG1hcmdpbjogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCk7XG5cdH1cblx0LnBhZGRlZCxcblx0LmJvcmRlci1wYWRkZWQgLmNlbGwtYm9yZGVyLFxuXHQuaW5uZXItcGFkZGVkIC5jZWxsLWlubmVyIHtcblx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKTtcblx0fVxuXHQucGFkZGVkLWhhbGYsXG5cdC5zbWFsbC1wYWRkZWQtaGFsZixcblx0LmJvcmRlci1wYWRkZWQtaGFsZiAuY2VsbC1ib3JkZXIsXG5cdC5pbm5lci1wYWRkZWQtaGFsZiAuY2VsbC1pbm5lciB7XG5cdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCkvMjtcblx0fVxuXHQucGFkZGVkLXRoaXJkLFxuXHQuc21hbGwtcGFkZGVkLXRoaXJkLFxuXHQuYm9yZGVyLXBhZGRlZC10aGlyZCAuY2VsbC1ib3JkZXIsXG5cdC5pbm5lci1wYWRkZWQtdGhpcmQgLmNlbGwtaW5uZXIge1xuXHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpLzM7XG5cdH1cblx0LnBhZGRlZC1kb3VibGUsXG5cdC5zbWFsbC1wYWRkZWQtZG91YmxlIHtcblx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKSoyO1xuXHR9XG5cdC5zbWFsbC1wYWRkZWQge1xuXHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpO1xuXHR9XG5cdC5tYXJnaW4tdG9wLFxuXHQubWFyZ2luLXRvcC1oYWxmLFxuXHQuc21hbGwtbWFyZ2luLXRvcCB7XG5cdFx0bWFyZ2luLXRvcDogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCk7XG5cdH1cblx0Lm1hcmdpbi1ib3R0b20sXG5cdC5tYXJnaW4tYm90dG9tLWhhbGYsXG5cdC5zbWFsbC1tYXJnaW4tYm90dG9tIHtcblx0XHRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKTtcblx0fVxuXHQucGFkZGluZy10b3AsXG5cdC5wYWRkaW5nLXRvcC1oYWxmLFxuXHQuc21hbGwtcGFkZGluZy10b3Age1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKTtcblx0fVxuXHQucGFkZGluZy1ib3R0b20sXG5cdC5wYWRkaW5nLWJvdHRvbS1oYWxmLFxuXHQuc21hbGwtcGFkZGluZy1ib3R0b20ge1xuXHRcdHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKTtcblx0fVxuXHQuc21hbGwtbWFyZ2luLXRvcC1oYWxmIHtcblx0XHRtYXJnaW4tdG9wOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKS8yO1xuXHR9XG5cdC5zbWFsbC1tYXJnaW4tYm90dG9tLWhhbGYge1xuXHRcdG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpLzI7XG5cdH1cblx0LnNtYWxsLW1hcmdpbi10b3AtZG91YmxlIHtcblx0XHRtYXJnaW4tdG9wOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKSoyO1xuXHR9XG5cdC5zbWFsbC1tYXJnaW4tYm90dG9tLWRvdWJsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCkqMjtcblx0fVxuXHQuc21hbGwtcGFkZGluZy10b3AtaGFsZiB7XG5cdFx0cGFkZGluZy10b3A6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpLzI7XG5cdH1cblx0LnNtYWxsLXBhZGRpbmctYm90dG9tLWhhbGYge1xuXHRcdHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKS8yO1xuXHR9XG5cdC5ib3JkZXItcGFkZGluZyB7XG5cdFx0cGFkZGluZzogMTBweDtcblx0fVxuXHQuc21hbGwtcmVtb3ZlLXNlY3Rpb24tcGFkZGluZyAuc2VjdGlvbi1jb250YWluZXIge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0Lm1hcmdpbiB7XG5cdFx0bWFyZ2luOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIG1lZGl1bSk7XG5cdH1cblx0LnBhZGRlZCxcblx0LmJvcmRlci1wYWRkZWQgLmNlbGwtYm9yZGVyLFxuXHQuaW5uZXItcGFkZGVkIC5jZWxsLWlubmVyIHtcblx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIG1lZGl1bSk7XG5cdH1cblx0LnBhZGRlZC1oYWxmLFxuXHQubWVkaXVtLXBhZGRlZC1oYWxmLFxuXHQuYm9yZGVyLXBhZGRlZC1oYWxmIC5jZWxsLWJvcmRlcixcblx0LmlubmVyLXBhZGRlZC1oYWxmIC5jZWxsLWlubmVyIHtcblx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIG1lZGl1bSk7XG5cdH1cblx0LnBhZGRlZC10aGlyZCxcblx0Lm1lZGl1bS1wYWRkZWQtdGhpcmQsXG5cdC5ib3JkZXItcGFkZGVkLXRoaXJkIC5jZWxsLWJvcmRlcixcblx0LmlubmVyLXBhZGRlZC10aGlyZCAuY2VsbC1pbm5lciB7XG5cdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pLzM7XG5cdH1cblx0LnBhZGRlZC1kb3VibGUsXG5cdC5tZWRpdW0tcGFkZGVkLWRvdWJsZSB7XG5cdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pKjI7XG5cdH1cblx0Lm1lZGl1bS1wYWRkZWQge1xuXHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKTtcblx0fVxuXHQubWFyZ2luLXRvcCxcblx0Lm1lZGl1bS1tYXJnaW4tdG9wIHtcblx0XHRtYXJnaW4tdG9wOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIG1lZGl1bSk7XG5cdH1cblx0Lm1hcmdpbi1ib3R0b20sXG5cdC5tZWRpdW0tbWFyZ2luLWJvdHRvbSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pO1xuXHR9XG5cdC5wYWRkaW5nLXRvcCxcblx0Lm1lZGl1bS1wYWRkaW5nLXRvcCB7XG5cdFx0cGFkZGluZy10b3A6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKTtcblx0fVxuXHQucGFkZGluZy1ib3R0b20sXG5cdC5tZWRpdW0tcGFkZGluZy1ib3R0b20ge1xuXHRcdHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIG1lZGl1bSk7XG5cdH1cblx0Lm1hcmdpbi10b3AtaGFsZixcblx0Lm1lZGl1bS1tYXJnaW4tdG9wLWhhbGYge1xuXHRcdG1hcmdpbi10b3A6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKS8yO1xuXHR9XG5cdC5tYXJnaW4tYm90dG9tLWhhbGYsXG5cdC5tZWRpdW0tbWFyZ2luLWJvdHRvbS1oYWxmIHtcblx0XHRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIG1lZGl1bSkvMjtcblx0fVxuXHQucGFkZGluZy10b3AtaGFsZixcblx0Lm1lZGl1bS1wYWRkaW5nLXRvcC1oYWxmIHtcblx0XHRwYWRkaW5nLXRvcDogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pLzI7XG5cdH1cblx0LnBhZGRpbmctYm90dG9tLWhhbGYsXG5cdC5tZWRpdW0tcGFkZGluZy1ib3R0b20taGFsZiB7XG5cdFx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKS8yO1xuXHR9XG5cdC5ib3JkZXItcGFkZGluZyB7XG5cdFx0cGFkZGluZzogMTVweDtcblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHQubWFyZ2luIHtcblx0XHRtYXJnaW46IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpO1xuXHR9XG5cdC5wYWRkZWQsXG5cdC5ib3JkZXItcGFkZGVkIC5jZWxsLWJvcmRlcixcblx0LmlubmVyLXBhZGRlZCAuY2VsbC1pbm5lciB7XG5cdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBsYXJnZSk7XG5cdH1cblx0LnBhZGRlZC1oYWxmLFxuXHQubGFyZ2UtcGFkZGVkLWhhbGYsXG5cdC5ib3JkZXItcGFkZGVkLWhhbGYgLmNlbGwtYm9yZGVyLFxuXHQuaW5uZXItcGFkZGVkLWhhbGYgLmNlbGwtaW5uZXIge1xuXHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpLzI7XG5cdH1cblx0LnBhZGRlZC10aGlyZCxcblx0LmxhcmdlLXBhZGRlZC10aGlyZCxcblx0LmJvcmRlci1wYWRkZWQtdGhpcmQgLmNlbGwtYm9yZGVyLFxuXHQuaW5uZXItcGFkZGVkLXRoaXJkIC5jZWxsLWlubmVyIHtcblx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKS8zO1xuXHR9XG5cdC5wYWRkZWQtZG91YmxlLFxuXHQubGFyZ2UtcGFkZGVkLWRvdWJsZSB7XG5cdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBsYXJnZSkqMjtcblx0fVxuXHQubGFyZ2UtcGFkZGVkIHtcblx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKTtcblx0fVxuXHQubWFyZ2luLXRvcCxcblx0LmxhcmdlLW1hcmdpbi10b3Age1xuXHRcdG1hcmdpbi10b3A6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpO1xuXHR9XG5cdC5tYXJnaW4tYm90dG9tLFxuXHQubGFyZ2UtbWFyZ2luLWJvdHRvbSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBsYXJnZSk7XG5cdH1cblx0LnBhZGRpbmctdG9wLFxuXHQubGFyZ2UtcGFkZGluZy10b3Age1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKTtcblx0fVxuXHQucGFkZGluZy1ib3R0b20sXG5cdC5sYXJnZS1wYWRkaW5nLWJvdHRvbSB7XG5cdFx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpO1xuXHR9XG5cdC5tYXJnaW4tdG9wLWhhbGYsXG5cdC5sYXJnZS1tYXJnaW4tdG9wLWhhbGYge1xuXHRcdG1hcmdpbi10b3A6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpLzI7XG5cdH1cblx0Lm1hcmdpbi1ib3R0b20taGFsZixcblx0LmxhcmdlLW1hcmdpbi1ib3R0b20taGFsZiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBsYXJnZSkvMjtcblx0fVxuXHQucGFkZGluZy10b3AtaGFsZixcblx0LmxhcmdlLXBhZGRpbmctdG9wLWhhbGYge1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKS8yO1xuXHR9XG5cdC5wYWRkaW5nLWJvdHRvbS1oYWxmLFxuXHQubGFyZ2UtcGFkZGluZy1ib3R0b20taGFsZiB7XG5cdFx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpLzI7XG5cdH1cblx0LmNvbnRlbnQtY29udGFpbmVkIC5jZWxsLWJvcmRlciB7XG5cdFx0bWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoLzIgLSBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKTtcblx0fVxuXHQuYm9yZGVyLXBhZGRpbmcge1xuXHRcdHBhZGRpbmc6IDE1cHg7XG5cdH1cbn1cblxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG5cdGh0bWwgI3dwYWRtaW5iYXIge1xuXHQgICAgbWluLXdpZHRoOiBhdXRvO1xuXHQgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxufVxuXG4uYWJzb2x1dGUtYm90dG9tLXJpZ2h0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cbi5hYnNvbHV0ZS1ib3R0b20tbGVmdCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cbi5hYnNvbHV0ZS10b3AtcmlnaHQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuLmFic29sdXRlLXRvcC1sZWZ0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xufSIsIkBtaXhpbiBidXR0b24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDggMTUgNSk7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuXHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHggM3B4IDNweCAzcHg7XG5cdC1tb3otYm9yZGVyLXJhZGl1czogM3B4IDNweCAzcHggM3B4O1xuXHQtbXMtYm9yZGVyLXJhZGl1czogM3B4IDNweCAzcHggM3B4O1xuXHQtby1ib3JkZXItcmFkaXVzOiAzcHggM3B4IDNweCAzcHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweCAzcHggM3B4IDNweDtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbjtcbn1cblxuQG1peGluIHRyYW5zaXRpb24ge1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cyBsaW5lYXI7XG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzIGxpbmVhcjtcblx0LW1zLXRyYW5zaXRpb246IGFsbCAwLjI1cyBsaW5lYXI7XG5cdC1vLXRyYW5zaXRpb246IGFsbCAwLjI1cyBsaW5lYXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjI1cyBsaW5lYXI7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kRmlsbCB7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuQG1peGluIHRyYW5zZm9ybSgkdmFsdWUpIHtcblx0LXdlYmtpdC10cmFuc2Zvcm06ICR2YWx1ZTtcblx0LW1vei10cmFuc2Zvcm06ICR2YWx1ZTtcblx0LW1zLXRyYW5zZm9ybTogJHZhbHVlO1xuXHQtby10cmFuc2Zvcm06ICR2YWx1ZTtcblx0dHJhbnNmb3JtOiAkdmFsdWU7XG59XG5cblxuQG1peGluIGRyb3BTaGFkb3cge1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAgNHB4IDhweCAwIHJnYmEoMCwwLDAsMC41KTtcblx0Ym94LXNoYWRvdzogMCA0cHggOHB4IDAgcmdiYSgwLDAsMCwwLjUpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbkVsZW1lbnQge1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnM7XG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycztcblx0LW1zLXRyYW5zaXRpb246IGFsbCAuMnM7XG5cdC1vLXRyYW5zaXRpb246IGFsbCAuMnM7XG5cdHRyYW5zaXRpb246IGFsbCAuMnM7XG59XG5cblxuQG1peGluIGNzcy1ncmlkIHtcblx0ZGlzcGxheTogLW1zLWdyaWQ7XG5cdGRpc3BsYXk6IGdyaWQ7XG59XG5cbiVjc3MtZ3JpZCB7IEBpbmNsdWRlIGNzcy1ncmlkOyB9XG5cbkBtaXhpbiBjc3MtaW5saW5lLWdyaWQge1xuXHRkaXNwbGF5OiAtbXMtaW5saW5lLWdyaWQ7XG5cdGRpc3BsYXk6IGlubGluZS1ncmlkO1xufVxuXG4lY3NzLWlubGluZS1ncmlkIHsgQGluY2x1ZGUgY3NzLWlubGluZS1ncmlkOyB9XG5cbkBtaXhpbiBjc3MtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKCR2YWx1ZXM6IChhdXRvKSkge1xuXHQtbXMtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAkdmFsdWVzO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICR2YWx1ZXM7XG59XG5AbWl4aW4gY3NzLWdyaWQtZ2FwKCR2YWx1ZXM6IChhdXRvKSkge1xuXHQtbXMtZ3JpZC1jb2x1bW4tZ2FwOiAkdmFsdWVzO1xuXHQtbXMtZ3JpZC1yb3ctZ2FwOiAkdmFsdWVzO1xuXHRncmlkLWdhcDogJHZhbHVlcztcbn1cbkBtaXhpbiBjc3MtZ3JpZC1vcmRlcigkdmFsdWVzOiAoYXV0bykpIHtcblx0LW1zLW9yZGVyOiAkdmFsdWVzO1xuXHRvcmRlcjogJHZhbHVlcztcbn1cbkBtaXhpbiBjc3MtZ3JpZC1yb3coJHZhbHVlczogKGF1dG8pKSB7XG5cdC1tcy1ncmlkLXJvdzogJHZhbHVlcztcblx0Z3JpZC1yb3c6ICR2YWx1ZXM7XG59XG5AbWl4aW4gY3NzLWdyaWQtY29sdW1uKCR2YWx1ZXM6IChhdXRvKSkge1xuXHQtbXMtZ3JpZC1jb2x1bW46ICR2YWx1ZXM7XG5cdGdyaWQtY29sdW1uOiAkdmFsdWVzO1xufVxuQG1peGluIGNzcy1ncmlkLWFsaWduLXNlbGYoJHZhbHVlczogKGF1dG8pKSB7XG5cdC1tcy1hbGlnbi1zZWxmOiAkdmFsdWVzO1xuXHRhbGlnbi1zZWxmOiAkdmFsdWVzO1xufVxuQG1peGluIGNzcy1ncmlkLWFsaWduLWl0ZW1zKCR2YWx1ZXM6IChhdXRvKSkge1xuXHQtbXMtYWxpZ24taXRlbXM6ICR2YWx1ZXM7XG5cdGFsaWduLWl0ZW1zOiAkdmFsdWVzO1xufVxuQG1peGluIGNzcy1ncmlkLWp1c3RpZnktc2VsZigkdmFsdWVzOiAoYXV0bykpIHtcblx0LW1zLWp1c3RpZnktc2VsZjogJHZhbHVlcztcblx0anVzdGlmeS1zZWxmOiAkdmFsdWVzO1xufVxuXG4iLCJpbWdbc3JjJD1cIi5zdmdcIl0ge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmdhbGxlcnktZ3JleSB7XG5cdGltZyB7XG5cdCAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxKTtcblx0ICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcblx0fVxuXHRpbWc6aG92ZXIge1xuXHQgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCk7XG5cdCAgZmlsdGVyOiBncmF5c2NhbGUoMCk7XG5cdH1cbn0iLCIvLyBGaXggdGhlIGlzc3VlIHdoZXJlIHRoZSBXUCBhZG1pbi1iYXIgb3ZlcmxhcHMgdGhlIG1vYmlsZSBtZW51XG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4vLyBNYWtlIHN1cmUgdGhhdCB0aGUgV1AgYWRtaW4tYmFyIGRvZXMgbm90IG92ZXJsYXAgdGhlIHN0aWNreSB0b3AgYmFyXG5ib2R5LmFkbWluLWJhci5mLXRvcGJhci1maXhlZCB7XG4gIC5zdGlja3kuZml4ZWQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcbiAgfVxufVxuIiwiLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxucC53cC1jYXB0aW9uLXRleHR7XG4gIGZvbnQtc2l6ZTo5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOnJlbS1jYWxjKDEwKSAwO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIlxuLm1haW4tbmF2LXRhZ2xpbmUge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQvL2Rpc3BsYXk6IG5vbmU7XG5cdH1cblx0aDUge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuLy8gTmF2aWdhdGlvbiBicmVha3BvaW50c1xuLm1vYmlsZS1tZW51LFxuLnNpdGUtdGl0bGUtYmFyLFxuLnRpdGxlLWJhci13cmFwcGVyIHtcbiAgQGluY2x1ZGUgaGlkZS1mb3IobGFyZ2UpO1xufVxuXG4uZGVza3RvcC1tZW51LFxuLnRvcC1iYXIge1xuICBAaW5jbHVkZSBzaG93LWZvcihsYXJnZSk7XG59XG5cbi8vIFNpdGUgdGl0bGVcbi5zaXRlLWRlc2t0b3AtdGl0bGUgYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vLyBNb2JpbGUgbWVudVxuLm1vYmlsZS1tZW51IHtcbiAgZGlzcGxheTogbm9uZTsgLy8gcHJldmVudHMgcmVwYWludCBjYXVzZWQgYnkgSlMgaGlkaW5nIG1lbnUgb25sb2FkXG59XG5cbi5zaXRlLXRpdGxlLWJhciAuZ3JpZC14IHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbiNtb2JpbGUtbWVudSB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGEge1xuXHRcdGNvbG9yOiAkdGhlbWUtb2ZmY2FudmFzLW5hdi1jb2xvcjtcblx0XHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNjY2M7XG5cdH1cblx0LmlzLWFjdGl2ZSA+IGEge1xuXHQgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdCAgICBjb2xvcjogJHRoZW1lLW9mZmNhbnZhcy1uYXYtYWN0aXZlLWNvbG9yO1xuXHR9XG5cdFx0XG59XG5cbi8vIFRhYmxldCBhbmQgZGVza3RvcCBtZW51XG4uZGVza3RvcC1tZW51IHtcblxuXHQuZHJvcGRvd24ubWVudSAuaXMtYWN0aXZlID4gYSB7XG5cdCAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0ICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcblx0fVxuXG59XG5cbi5zaXRlLW5hdmlnYXRpb24ge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiAwOyAvLyBwcmV2ZW50cyBjb250YWluZXIgdmlzaWJpbGl0eSBvbiBzbWFsbCBzY3JlZW5zXG4gIH1cbn1cblxuXG5cbi8vIFdQIHBvc3QgbmF2aWdhdGlvblxuLnBvc3QtbmF2aWdhdGlvbiB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4ubmF2LXByZXZpb3VzIHtcbiAgZmxvYXQ6bGVmdDtcbn1cblxuLm5hdi1uZXh0IHtcbiAgZmxvYXQ6cmlnaHQ7XG59XG5cbi8qIE5hdmlnYXRpb24gYnJlYWtwb2ludHMgKi9cblxuLypcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODQ5cHgpIHtcblx0I21vYmlsZS1tZW51LCAudGl0bGUtYmFyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdC5zaXRlLWhlYWRlciAuZGVza3RvcC1tZW51LCAudG9wLWJhci1sZWZ0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUwcHgpIHtcblx0LmRlc2t0b3AtbWVudSwgLnRvcC1iYXItbGVmdCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQjbW9iaWxlLW1lbnUsIC50aXRsZS1iYXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiovXG5cbi5zdWJtZW51IHtcblx0bGkge1xuXHRcdGEge1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0fVxuXHR9XG59XG5cbi8qXG4udG9wLWJhci1yaWdodCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLXRvcDogMzZweDtcbn1cbiovXG5cbiNzaXRlLW5hdmlnYXRpb24ge1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7XG5cdGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0bWFyZ2luLXRvcDogNXB4O1xuXHRyaWdodDogOXB4O1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG5cdGJvcmRlcjogbm9uZTtcblxuXHRsaSB7XG5cdFx0YSB7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0b3BhY2l0eTogMC42O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBNb2JpbGUgYW5kIHRhYmxldCBtZW51XG4udGl0bGUtYmFyIHtcblxuXHQuc2l0ZS10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAwLjhyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiBhdXRvOyAvLyBJRSBmYWxsYmFja1xuXHRcdFx0bWF4LXdpZHRoOiAxMDBweDsgLy8gSUUgZmFsbGJhY2tcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHsgXG5cdFx0XHRcdGhlaWdodDogbWFwLWdldCgkbG9nby1pbWFnZS1oZWlnaHQsICdzbWFsbCcpOyBcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxuXHRcdFx0XHRoZWlnaHQ6IG1hcC1nZXQoJGxvZ28taW1hZ2UtaGVpZ2h0LCAnbWVkaXVtJyk7IFxuXHRcdFx0fVxuXHRcdFx0XHQgXG5cdCBcdFx0dHJhbnNpdGlvbjogMC41cztcblx0XHR9XG5cdH1cblxufVxuXG4vLyBEZXNrdG9wIG1lbnVcbi50b3AtYmFyIHtcbi8qXG5cdC50b3AtYmFyLWlubmVyIHtcblx0XHRAaW5jbHVkZSBncmlkLXJvdygpO1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG4qL1xuXG5cdC5zaXRlLXRpdGxlIHtcblx0XHRmb250LXNpemU6IDAuOHJlbTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiBhdXRvOyAvLyBJRSBmYWxsYmFja1xuXHRcdFx0bWF4LXdpZHRoOiAyMjBweDsgLy8gSUUgZmFsbGJhY2tcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxuXHRcdFx0XHRoZWlnaHQ6IG1hcC1nZXQoJGxvZ28taW1hZ2UtaGVpZ2h0LCAnbWVkaXVtJyk7IFxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBcblx0XHRcdFx0aGVpZ2h0OiBtYXAtZ2V0KCRsb2dvLWltYWdlLWhlaWdodCwgJ2xhcmdlJyk7IFxuXHRcdFx0fVxuXHRcdFx0XHQgXG5cdCBcdFx0dHJhbnNpdGlvbjogMC41cztcblx0XHR9XG5cdH1cblxuXHR1bC5tZW51IHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci11bC1iYWNrZ3JvdW5kO1xuXHR9XG5cblx0dWwubWVudSBhIHtcblx0XHRjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuXHRcdGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcblx0XHRmb250LWZhbWlseTogJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5O1xuXHRcdGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWxpbmstZm9udC13ZWlnaHQ7XG5cdFx0XG5cdFx0Jjpob3Zlcjpub3QoLm1lbnUtYnV0dG9uKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmFja2dyb3VuZC1ob3Zlcjtcblx0XHRcdGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG5cdFx0fVxuXHR9XG5cdC5tYWluLW5hdi1jdGEge1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cblxuXHQubWFpbi1uYXYtY3RhIHVsLm1lbnUgYSB7XG5cdFx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXHRcdGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWxpbmstZm9udC13ZWlnaHQ7XG5cdH1cblx0XG5cdC5tYWluLW5hdi1jdGEgdWwubWVudSBsaS5tZW51LXBob25lIGEge1xuXHRcdGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZSoxLjY7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0Y29sb3I6ICR0aGVtZS10b3AtYmFyLWFjdGl2ZS1jb2xvcjtcblx0XHRcblx0XHQubWVudS1sYWJlbC10ZXh0IHtcblx0XHRcdC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0Ly90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdH1cblx0fVxuXHRcblx0dWwubWVudSAuYWN0aXZlID4gYSxcblx0dWwubWVudSAuY3VycmVudC1tZW51LWl0ZW0gYSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJhY2tncm91bmQtYWN0aXZlO1xuXHRcdGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuXHR9XG5cblx0dWwubWVudSAuaGlnaGxpZ2h0IGEge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1oaWdobGlnaHQtYmFja2dyb3VuZDtcblx0XHRjb2xvcjogJHRvcGJhci1saW5rLWhpZ2hsaWdodC1jb2xvcjtcblx0XHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblx0fVxuXHR1bC5tZW51IC5tZW51LWJ1dHRvbiBhIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtdG9wLWJhci1idXR0b24tYmc7XG5cdFx0Y29sb3I6ICR0aGVtZS10b3AtYmFyLWJ1dHRvbi1jb2xvcjtcblx0XHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCR0aGVtZS10b3AtYmFyLWJ1dHRvbi1iZywgJGxpZ2h0bmVzczogLTE1JSk7XG5cdFx0XHRjb2xvcjogJHRoZW1lLXRvcC1iYXItYnV0dG9uLWNvbG9yO1xuXHRcdH1cblx0fVxuXHQuZHJvcGRvd24ubWVudSAuc3VibWVudSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG5cdFx0Y29sb3I6ICR0b3BiYXItc3VibWVudS1jb2xvcjtcblx0XHRcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kLWhvdmVyO1xuXHRcdFx0Y29sb3I6ICR0b3BiYXItc3VibWVudS1jb2xvci1ob3Zlcjtcblx0XHR9XG5cdH1cblx0LmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUgLmFjdGl2ZSA+IGEsXG5cdC5kcm9wZG93bi5tZW51IC5zdWJtZW51IC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZC1hY3RpdmU7XG5cdFx0Y29sb3I6ICR0b3BiYXItc3VibWVudS1jb2xvci1hY3RpdmU7XG5cdH1cblxuXHQuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuXHQgICAgYm9yZGVyLWNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdH1cblx0LmRyb3Bkb3duLm1lbnUgPiBsaS5hY3RpdmUuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG5cdCAgICBib3JkZXItY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdH1cblx0LmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXHQgICAgei1pbmRleDogMyAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi51dGlsaXR5LWJhciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJsdWU7XG5cdFxuXHQudG9wLXV0aWxpdHktYmFyIHtcblx0XHRwYWRkaW5nLXRvcDogNXB4O1xuXHRcdFxuXHRcdHVsLm1lbnUge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXVsLWJhY2tncm91bmQ7XG5cdFx0fVxuXHRcblx0XHR1bC5tZW51IGEge1xuXHRcdFx0Y29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcblx0XHRcdGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcblx0XHRcdGZvbnQtZmFtaWx5OiAkdG9wYmFyLWxpbmstZm9udC1mYW1pbHk7XG5cdFx0XHRmb250LXdlaWdodDogJHRvcGJhci1saW5rLWZvbnQtd2VpZ2h0O1xuXHRcdFx0XG5cdFx0XHQmOmhvdmVyOm5vdCgubWVudS1idXR0b24pIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJhY2tncm91bmQtaG92ZXI7XG5cdFx0XHRcdGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxpLm1lbnUtZG93bmxvYWQgYSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH1cblx0XHQubWFpbi1uYXYtY3RhIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0fVxuXHRcblx0XHQubWFpbi1uYXYtY3RhIHVsLm1lbnUgYSB7XG5cdFx0XHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cdFx0XHRmb250LXdlaWdodDogJHRvcGJhci1saW5rLWZvbnQtd2VpZ2h0O1xuXHRcdH1cblx0XHRcblx0XHQubWFpbi1uYXYtY3RhIHVsLm1lbnUgbGkubWVudS1waG9uZSBhIHtcblx0XHRcdGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZSoxLjY7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0Y29sb3I6ICR0aGVtZS10b3AtYmFyLWFjdGl2ZS1jb2xvcjtcblx0XHRcdFxuXHRcdFx0Lm1lbnUtbGFiZWwtdGV4dCB7XG5cdFx0XHRcdC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRcdFx0Ly90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHR1bC5tZW51IC5hY3RpdmUgPiBhLFxuXHRcdHVsLm1lbnUgLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJhY2tncm91bmQtYWN0aXZlO1xuXHRcdFx0Y29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XG5cdFx0fVxuXHRcblx0XHR1bC5tZW51IC5oaWdobGlnaHQgYSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstaGlnaGxpZ2h0LWJhY2tncm91bmQ7XG5cdFx0XHRjb2xvcjogJHRvcGJhci1saW5rLWhpZ2hsaWdodC1jb2xvcjtcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXHRcdH1cblx0XHR1bC5tZW51IC5tZW51LWJ1dHRvbiBhIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS10b3AtYmFyLWJ1dHRvbi1iZztcblx0XHRcdGNvbG9yOiAkdGhlbWUtdG9wLWJhci1idXR0b24tY29sb3I7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblx0XHR9XG5cdFx0LmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG5cdFx0XHRjb2xvcjogJHRvcGJhci1zdWJtZW51LWNvbG9yO1xuXHRcdFx0XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQtaG92ZXI7XG5cdFx0XHRcdGNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtY29sb3ItaG92ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5kcm9wZG93bi5tZW51IC5zdWJtZW51IC5hY3RpdmUgPiBhLFxuXHRcdC5kcm9wZG93bi5tZW51IC5zdWJtZW51IC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kLWFjdGl2ZTtcblx0XHRcdGNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtY29sb3ItYWN0aXZlO1xuXHRcdH1cblx0XG5cdFx0LmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcblx0XHQgICAgYm9yZGVyLWNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHRcdC5kcm9wZG93bi5tZW51ID4gbGkuYWN0aXZlLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuXHRcdCAgICBib3JkZXItY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHRcdC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblx0XHQgICAgei1pbmRleDogMyAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG4uc3RpY2t5LWhlYWRlciB7XG5cdEBpbmNsdWRlIHotaW5kZXgoc3RpY2t5LWhlYWRlcik7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0XG5cdCYuc2Nyb2xsLXNpemUgLnRvcC1iYXIge1xuXHRcdHBhZGRpbmc6IDEwcHggMjBweDtcblx0XHR0cmFuc2l0aW9uOiAwLjVzO1xuXHRcdFxuXHRcdC5zaXRlLXRpdGxlIHtcdFxuXHRcdFx0aW1nIHtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgaGVpZ2h0OiBtYXAtZ2V0KCRsb2dvLWltYWdlLWhlaWdodCwgJ21lZGl1bScpLzI7IH1cblx0IFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgaGVpZ2h0OiBtYXAtZ2V0KCRsb2dvLWltYWdlLWhlaWdodCwgJ2xhcmdlJykvMjsgfVxuXHQgXHRcdFx0dHJhbnNpdGlvbjogMC41cztcblx0IFx0XHR9XG5cdCBcdH1cblx0fVx0XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblxuXHRib2R5Lm5hdi1oaWRlIHtcblx0XHQudGl0bGUtYmFyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0ICAgIC5zaXRlLWhlYWRlciB7XG5cdCAgICAgICAgb3BhY2l0eTogMDtcblx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0OyBcblx0XHRcdC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0OyBcblx0XHRcdC1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7IFxuXHRcdFx0LW8tdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0OyBcblx0XHRcdHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgIFxuXHQgICAgfVxuXHRcblx0fVxuXHRib2R5Lm5hdi1zaG93IHtcbi8qXG5cdCAgICAuc2l0ZS1oZWFkZXIge1xuXHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7IFxuXHRcdFx0LW1vei10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7IFxuXHRcdFx0LW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgXG5cdFx0XHQtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7IFxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0OyAgXG5cdCAgICB9XG5cdFxuKi9cblx0fVxuXHRib2R5LnNjcm9sbGVkLm5hdi1zaG93IHtcblx0ICAgIC53cmFwcGVyIHtcblx0XHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0ICAgIHBhZGRpbmctdG9wOjExNnB4O1xuXHRcdCAgICB9XG5cdFx0fVxuXHQgICAgLnNpdGUtaGVhZGVyIHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHQgICAgdG9wOiAwO1xuXHRcdCAgICB3aWR0aDogMTAwJTtcblx0XHQgICAgei1pbmRleDogOTk7XG5cdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgXG5cdFx0XHQtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgXG5cdFx0XHQtbXMtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0OyBcblx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7ICBcblx0XHQgICAgcGFkZGluZzogMDtcblx0ICAgIH1cblx0ICAgIC50b3AtYmFyIHtcblx0XHQgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuXHRcdCAgICBcblx0XHQgICAgLnNpdGUtdGl0bGUge1xuXHRcdFx0ICAgIGltZyB7XG5cdFx0XHRcdCAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg0Nik7XG5cdFx0XHQgICAgfVxuXHRcdCAgICB9XG5cdCAgICB9XG5cdCAgICAudG9wLWJhci1yaWdodCB7XG5cdFx0ICAgIG1hcmdpbi10b3A6IDRweDtcblx0XHR9XG5cdFxuXHR9XG59XG5cbi5hZG1pbi1iYXIge1xuXHQmLnNjcm9sbGVkLm5hdi1zaG93IHtcblx0XHQuc2l0ZS1oZWFkZXIge1xuXHRcdFx0bWFyZ2luLXRvcDogNDZweDtcblx0XHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAzMnB4O1xuXHRcdCAgICB9XG5cdCAgICB9XG5cdH1cbn1cblxuLyogVGFibGV0IGFuZCBkZXNrdG9wIG1lbnUgKi9cbi8qXG4udG9wLWJhciB7XG5cbiAgLnRvcC1iYXItcmlnaHQge1xuXG5cdHVsIHtcblx0ICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgei1pbmRleDogMTtcblxuXHQgIGxpIHtcblx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdCAgfVxuXHR9XG4gIH1cblxuICAubWVudSBhIHtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdCY6aG92ZXI6bm90KC5idXR0b24pIHtcblx0ICBjb2xvcjogJGFjY2VudDtcblx0fVxuICB9XG5cbiAgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMTIxMjEyO1xuXHRjb2xvcjogI2U2ZTZlNjtcblx0Ym9yZGVyOiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgYSB7IHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7IGJvcmRlcjogMDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtZG93bi1hcnJvdyA+IGE6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4uZml4ZWQtc3VibmF2IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG59XG5cbi5zY3JvbGwtc3VibmF2IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IDA7XG59XG4qL1xuXG5cbi8vIG1vdmUgdGhlIHN0aWNreSBoZWFkZXIgZG93biB3aGVuIGFkbWluIGJhciBpcyBhY3RpdmF0ZWRcbi5hZG1pbi1iYXIge1xuXHQuc2l0ZS1oZWFkZXIuZml4ZWQge1xuXHRcdC50b3AtYmFyIHtcblx0XHRcdG1hcmdpbi10b3A6IDMycHg7XG5cdFx0fVxuXHR9XG59XG5cbi5kaXNjbGFpbWVyLW1lbnUge1xuXHQubWVudSA+IGxpID4gYSB7XG5cdCAgICBwYWRkaW5nOiAwIDVweDtcblx0fVxufVxuXG4uaXMtbWVudSBzdmcge1xuICAgIGZpbGw6ICNmZmY7XG59XG4uaXMtbWVudSAubWRjLXRleHQtZmllbGQgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5pcy1tZW51LmRyb3Bkb3duIGZvcm0uc2VhcmNoLWZvcm0ge1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG59XG5cbiNtYWlubWVudV9jb250YWluZXIgLmlzLW1lbnUgbGFiZWwubWRjLXRleHQtZmllbGRfX2xhYmVsIHtcbiAgICBjb2xvcjogJGRhcmstZ3JleTtcbn1cblxuXG4vLyBMb2NhdGlvbiBTdWJtZW51XG5cbi5sb2NhdGlvbi1zdWJtZW51IHtcblx0dWwubWVudSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdCYuc3VibWVudS10aXRsZSB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0LXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuXHRcdFx0ICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHQgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuXHRcdFx0ICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0ICAgIHBhZGRpbmctdG9wOiA1cHg7XG5cdFx0XHQgICAgcGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHQgICAgcGFkZGluZy10b3A6IDVweDtcblx0XHRcdCAgICBwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5zdWJtZW51LW1lbnUge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcblx0XHRcdCAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG5cdFx0XHQgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0ICAgIH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdC13ZWJraXQtYm94LXBhY2s6IGVuZDtcblx0XHQgICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcblx0ICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdH1cblx0XHR9XG5cdFx0bGksIC5tZW51LXRleHQge1xuXHRcdFx0YSB7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZzogNXB4OyBcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDVweDsgXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0cGFkZGluZzogNXB4IDEwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDVweDsgXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0cGFkZGluZzogNXB4IDE1cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdH1cblx0fVxufVxuXG4uc2l0ZS1oZWFkZXIgLmxvY2F0aW9uLXN1Ym1lbnUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLnNjcm9sbGVkIC5zaXRlLWhlYWRlciAubG9jYXRpb24tc3VibWVudSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4iLCIubWFpbi13cmFwIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQoKTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gIH1cblxuICAmLnNpZGViYXItbGVmdCB7XG5cbiAgICAvLyBQbGFjZSB0aGUgc2lkZWJhciBiZWxvdyBtYWluIGNvbnRlbnQgb24gc21hbGwgc2NyZWVucyAuLi5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgLm1haW4tY29udGVudCB7IG9yZGVyOiAxOyB9XG4gICAgICAgIC5zaWRlYmFyIHsgb3JkZXI6IDI7IH1cbiAgICAgIH1cblxuICAgIC8vIC4uLiBhbmQgdG8gdGhlIGxlZnQgb24gbWVkaXVtLXVwIHNjcmVlbnMsIHdoZW4gdXNpbmcgdGhlIHNpZGViYXItbGVmdCB0ZW1wbGF0ZVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgLm1haW4tY29udGVudCB7IG9yZGVyOiAyOyB9XG4gICAgICAgIC5zaWRlYmFyIHsgb3JkZXI6IDE7IH1cbiAgICAgIH1cbiAgfVxuXG4gIC8vIEZ1bGwgd2lkdGggdGVtcGxhdGVcbiAgJi5mdWxsLXdpZHRoIHtcbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cbiAgfVxuXG4gIC5tYWluLWNvbnRlbnQge1xuXG4gICAgLy8gRGVmYXVsdCB0ZW1wbGF0ZVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xuICAgIH1cblxuICB9XG5cbiAgLnNpZGViYXIge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICB9XG59XG4iLCIvLyA0MC4gRm9vdGVyXG4vLyAtLS0tLS0tLS0tLVxuXG4kZm9vdGVyLWJnOiAkdGhlbWUtZm9vdGVyLWJnO1xuJGZvb3Rlci10ZXh0OiAkdGhlbWUtZm9vdGVyLWNvbG9yO1xuJGZvb3Rlci1saW5rOiAkdGhlbWUtZm9vdGVyLWxpbmstY29sb3I7XG4kZm9vdGVyLWxpbmstYWN0aXZlOiAkdGhlbWUtZm9vdGVyLWNvbG9yO1xuJGZvb3Rlci1mb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiRmb290ZXItcGFkZGluZzogKFxuXHRzbWFsbDogbWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCksXG5cdG1lZGl1bTogbWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pLFxuXHRsYXJnZTogbWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBsYXJnZSksXG4pO1xuXG4kZm9vdGVyLWZpeGVkLWJ1dHRvbi1iZzogJHRoZW1lLWZvb3Rlci1maXhlZC1idXR0b24tYmc7XG4kZm9vdGVyLWZpeGVkLWJ1dHRvbi1jb2xvdXI6ICR0aGVtZS1mb290ZXItZml4ZWQtYnV0dG9uLWNvbG91cjtcbiRmb290ZXItZml4ZWQtYnV0dG9uLWJvcmRlcjogJHRoZW1lLWZvb3Rlci1maXhlZC1idXR0b24tYm9yZGVyO1xuXG5cblxuLmZvb3Rlci1jb250YWluZXIge1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLmZvb3RlciB7XG5cdC8vQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cdC8vQGluY2x1ZGUgeHktZ3JpZDtcblxuICBhcnRpY2xlIHtcbiAgICAvL0BpbmNsdWRlIHh5LWNlbGwoYXV0byk7XG4gICAgLy9tYXJnaW46IDA7XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5mb290ZXItY29udGFpbmVyIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItYmc7XG5cdGNvbG9yOiAkZm9vdGVyLXRleHQ7XG5cdGZvbnQtc2l6ZTogJGZvb3Rlci1mb250LXNpemU7XG5cblx0LmZvb3RlciB7XG5cblx0XHRwYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDQwKTtcblx0XHR9XG5cblx0XHR1bCB7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cblx0XHQuZm9vdGVyLWJvdHRvbS1zZWN0aW9uIHtcblx0XHRcdHBhZGRpbmctdG9wOiAzMHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdFx0bGkge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IHByZTtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogOXB4O1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuODtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5mb290ZXItY29weXJpZ2h0IHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdH1cblxuXHRcdC5jb3B5cmlnaHQge1xuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdH1cblx0XHQuZm9vdGVyLWNyZWRpdCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRcdFx0YSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0Y29sb3I6ICRtZWRpdW0tYmx1ZTtcblx0XHRcdFx0XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG5cbi8vIEZvb3RlciBhcHAgc3R5bGUgQ1RBIGJ1dHRvbiAobW9iaWxlIG9ubHkpXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi5mb290ZXItZml4ZWQge1xuXHRwb3NpdGlvbjogZml4ZWQ7IFxuXHRib3R0b206IDA7IFxuXHRAaW5jbHVkZSB6LWluZGV4KGZpeGVkLWZvb3Rlcik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRmb290ZXItZml4ZWQtYnV0dG9uLWJvcmRlcjtcblx0XG5cdC5idXR0b24ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItZml4ZWQtYnV0dG9uLWJnO1xuXHRcdGNvbG9yOiAkZm9vdGVyLWZpeGVkLWJ1dHRvbi1jb2xvdXI7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTUgMTAgMTIpO1xuXHRcdG1hcmdpbjogMCAycHggIWltcG9ydGFudDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHR9XG5cdFxufVxuXG5cbi8vIFNjcm9sbCB0byBUb3AgYnV0dG9uXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi5zY3JvbGxUb1RvcCB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0cmlnaHQ6IDIwcHg7XG5cdGJvdHRvbTogNjBweDtcblx0ZGlzcGxheTogbm9uZTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdHJpZ2h0OiAyMHB4O1xuXHRcdGJvdHRvbTogMjBweDtcblx0fVxuXHRAaW5jbHVkZSB6LWluZGV4KHNjcm9sbFRvVG9wKTtcblx0YSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg4IDE1KTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCAxNSA3KTtcblx0XHR9XG5cdFx0YmFja2dyb3VuZDogJG1lZGl1bS1ncmV5O1xuXHRcdC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRvcGFjaXR5OiAwLjY7XG5cdFx0Ji5kb3dubG9hZC1idXR0b24ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMnB4O1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHNwYW4udGV4dCB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAzcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGltZyB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuXHRcdH1cblx0fVxufVxuIiwiYm9keSN0aW55bWNle1xuICBoZWlnaHQ6IGF1dG87IC8vIEZpeCBlZGl0b3Igc3R5bGUgYnVnXG4gIG1heC13aWR0aDogJGdyaWQtcm93LXdpZHRoOyAvLyBHaXZlIHRoZSBlZGl0b3IgYSBtYXgtd2lkdGhcbiAgcGFkZGluZzogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG59IiwiXG5cbi8qXG4gKiBqUXVlcnkgRmxleFNsaWRlciB2Mi42LjBcbiAqIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9mbGV4c2xpZGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDEyIFdvb1RoZW1lc1xuICogRnJlZSB0byB1c2UgdW5kZXIgdGhlIEdQTHYyIGFuZCBsYXRlciBsaWNlbnNlLlxuICogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuICpcbiAqIENvbnRyaWJ1dGluZyBhdXRob3I6IFR5bGVyIFNtaXRoIChAbWJtdWZmZmluKVxuICogXG4gKi9cblxuXG4kZm9udC1wYXRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiLi4vZm9udHNcIjtcbiRmb250LW5hbWU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmbGV4c2xpZGVyLWljb25cIjtcbiRmb250LWZpbGUtbmFtZTogICAgICAgICAgICAgICAgICAgICAgXCJmbGV4c2xpZGVyLWljb25cIjtcbiRkZWZhdWx0LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgMXM7XG4kZGVmYXVsdC1lYXNpbmc6ICAgICAgICAgICAgICAgICAgICAgIGVhc2U7XG4kZGVmYXVsdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIDA7XG4kZGVmYXVsdC1ib3gtc2hhZG93LXgtYXhpczogICAgICAgICAgIDA7XG4kZGVmYXVsdC1ib3gtc2hhZG93LXktYXhpczogICAgICAgICAgIDFweDtcbiRkZWZhdWx0LWJveC1zaGFkb3ctYmx1cjogICAgICAgICAgICAgMnB4O1xuJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjogICAgICAgICAgICByZ2JhKCAwLCAwLCAwLCAwLjIgKTtcbiRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXQ6ICAgICAgICAgICAgJyc7XG4kZmxleHNsaWRlci1tYXJnaW46ICAgICAgICAgICAgICAgICAgIDA7XG4kZmxleHNsaWRlci1iZzogICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuJGZsZXhzbGlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAwIG5vbmU7XG4kZmxleHNsaWRlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIDA7XG4kZmxleHNsaWRlci1ib3gtc2hhZG93LXgtYXhpczogICAgICAgIDA7XG4kZmxleHNsaWRlci1ib3gtc2hhZG93LXktYXhpczogICAgICAgIDFweDtcbiRmbGV4c2xpZGVyLWJveC1zaGFkb3ctYmx1cjogICAgICAgICAgNHB4O1xuJGZsZXhzbGlkZXItYm94LXNoYWRvdy1jb2xvcjogICAgICAgICByZ2JhKCAwLCAwLCAwLCAwLjIgKTtcbiRmbGV4c2xpZGVyLWJveC1zaGFkb3ctaW5zZXQ6ICAgICAgICAgJyc7XG4kZmxleC12aWV3cG9ydC1tYXgtaGVpZ2h0OiAgICAgICAgICAgIDIwMDBweDtcbiRmbGV4LXZpZXdwb3J0LWxvYWRpbmctbWF4LWhlaWdodDogICAgMzAwcHg7XG4kZmxleC1jb250cm9sLXRodW1iczogICAgICAgICAgICAgICAgIDVweCAwIDA7XG4kZmxleC1kaXJlY3Rpb24tbmF2LWNvbG9yOiAgICAgICAgICAgIHJnYmEoMCwwLDAsMC43KTtcbiRmbGV4LWRpcmVjdGlvbi1uYXYtdGV4dC1zaGFkb3c6ICAgICAgMXB4IDFweCAwIHJnYmEoIDI1NSwgMjU1LCAyNTUsIDAuMyApO1xuJGZsZXgtZGlyZWN0aW9uLW5hdi1pY29uLWNvbG9yOiAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7XG4kZmxleC1kaXJlY3Rpb24tbmF2LWljb24tdGV4dC1zaGFkb3c6IDFweCAxcHggMCByZ2JhKCAyNTUsIDI1NSwgMjU1LCAwLjMgKTtcbiRmbGV4LWRpcmVjdGlvbi1uYXYtaWNvbi1wcmV2OiAgICAgICAgJ1xcZjAwMSc7XG4kZmxleC1kaXJlY3Rpb24tbmF2LWljb24tbmV4dDogICAgICAgICdcXGYwMDInO1xuJGZsZXgtcGF1c2VwbGF5LWljb24tcGxheTogICAgICAgICAgICAnXFxmMDAzJztcbiRmbGV4LXBhdXNlcGxheS1pY29uLXBhdXNlOiAgICAgICAgICAgJ1xcZjAwNCc7XG5cbi8vXG4vLyBUcmFuc2l0aW9uXG4vL1xuXG5AbWl4aW4gdHJhbnNpdGlvbiggJGR1cmF0aW9uOiAkZGVmYXVsdC1kdXJhdGlvbiwgJGVhc2luZzogJGRlZmF1bHQtZWFzaW5nICkge1xuXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsICRkdXJhdGlvbiAkZWFzaW5nO1xuICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAkZHVyYXRpb24gJGVhc2luZztcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgJGR1cmF0aW9uICRlYXNpbmc7XG4gICAgICAgLW8tdHJhbnNpdGlvbjogYWxsICRkdXJhdGlvbiAkZWFzaW5nO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkZHVyYXRpb24gJGVhc2luZztcblxufVxuXG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyggJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cyApe1xuXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbn1cblxuXG4vL1xuLy8gQm94LXNoYWRvd1xuLy9cblxuQG1peGluIGJveC1zaGFkb3coICR4LWF4aXM6ICRkZWZhdWx0LWJveC1zaGFkb3cteC1heGlzLCAkeS1heGlzOiAkZGVmYXVsdC1ib3gtc2hhZG93LXktYXhpcywgJGJsdXI6ICRkZWZhdWx0LWJveC1zaGFkb3ctYmx1ciwgJGNvbG9yOiAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yLCAkaW5zZXQ6ICRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXQgKSB7XG4gIFxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRpbnNldCAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRpbnNldCAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xuICAgICAgIC1vLWJveC1zaGFkb3c6ICRpbnNldCAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRpbnNldCAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xuXG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRk9OVC1GQUNFXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cblxuQGZvbnQtZmFjZSB7XG5cbiAgZm9udC1mYW1pbHk6ICcjeyRmb250LW5hbWV9JztcbiAgc3JjOnVybCgnI3skZm9udC1wYXRofS8jeyRmb250LWZpbGUtbmFtZX0uZW90Jyk7XG4gIHNyYzp1cmwoJyN7JGZvbnQtcGF0aH0vI3skZm9udC1maWxlLW5hbWV9LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcjeyRmb250LXBhdGh9LyN7JGZvbnQtZmlsZS1uYW1lfS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcjeyRmb250LXBhdGh9LyN7JGZvbnQtZmlsZS1uYW1lfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRmb250LXBhdGh9LyN7JGZvbnQtZmlsZS1uYW1lfS5zdmcjZmxleHNsaWRlci1pY29uJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBSRVNFVFNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuXG4uZmxleC1jb250YWluZXIsXG4uZmxleC1zbGlkZXIge1xuXG4gIGE6aG92ZXIge1xuXG4gICAgb3V0bGluZTogbm9uZTtcblxuICB9XG5cbn1cblxuLnNsaWRlcyxcbi5zbGlkZXMgPiBsaSxcbi5mbGV4LWNvbnRyb2wtbmF2LFxuLmZsZXgtZGlyZWN0aW9uLW5hdiB7XG5cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG59XG5cbi5mbGV4LXBhdXNlcGxheSBzcGFuIHtcblxuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCQVNFIFNUWUxFU1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5cbi5mbGV4c2xpZGVyIHtcblxuXHRtYXJnaW46IDA7IFxuXHRwYWRkaW5nOiAwO1xuXHRcblx0LnNsaWRlcyB7XG5cdFx0bWFyZ2luOiAwOyBcblxuXHQgICAgPiBsaSB7XG5cdFxuXHRcdFx0ZGlzcGxheTogbm9uZTsgXG5cdFx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XG5cdCAgICB9XG5cdFxuXHQgICAgaW1ne1xuXHRcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XG5cdCAgICB9XG5cdFxuXHRcblx0ICAgIC8vXG5cdCAgICAvLyBDbGVhcmZpeCBmb3IgdGhlIC5zbGlkZXMgZWxlbWVudFxuXHQgICAgLy9cblx0XG5cdCAgICAmOmFmdGVye1xuXHRcblx0XHRcdGNvbnRlbnQ6IFwiXFwwMDIwXCI7IFxuXHRcdFx0ZGlzcGxheTogYmxvY2s7IFxuXHRcdFx0Y2xlYXI6IGJvdGg7IFxuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuOyBcblx0XHRcdGxpbmUtaGVpZ2h0OiAwOyBcblx0XHRcdGhlaWdodDogMDtcblx0XG5cdFxuXHQgICAgfVxuXHRcblx0ICAgIGh0bWxbeG1sbnNdICZ7XG5cdCAgICAgIFxuXHQgICAgXHRkaXNwbGF5OiBibG9jaztcblx0XG5cdCAgICB9XG5cdFxuXHQgICAgKiBodG1sICZ7XG5cdCAgICAgIFxuXHQgICAgXHRoZWlnaHQ6IDElO1xuXHRcblx0ICAgIH1cblx0XG5cdFxuXHQgICAgXG5cdCAgICAgLy8gXG5cdCAgICAgLy8gTm8gSmF2YVNjcmlwdCBGYWxsYmFja1xuXHQgICAgIC8vIElmIHlvdSBhcmUgbm90IHVzaW5nIGFub3RoZXIgc2NyaXB0LCBzdWNoIGFzIE1vZGVybml6ciwgbWFrZSBzdXJlIHlvdVxuXHQgICAgIC8vIGluY2x1ZGUganMgdGhhdCBlbGltaW5hdGVzIHRoaXMgY2xhc3Mgb24gcGFnZSBsb2FkXG5cdCAgICAgLy8gXG5cdCAgICBcblx0XG5cdCAgICAubm8tanMgJntcblx0XG5cdFx0XHQ+IGxpe1xuXHRcdFx0XG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRcdFxuXHRcdFx0XHQgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHQgICAgfVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERFRkFVTFQgVEhFTUVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuXG4uZmxleHNsaWRlciB7XG5cdG1hcmdpbjogJGZsZXhzbGlkZXItbWFyZ2luO1xuXHRiYWNrZ3JvdW5kOiAkZmxleHNsaWRlci1iZztcblx0Ym9yZGVyOiAkZmxleHNsaWRlci1ib3JkZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0em9vbTogMTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGZsZXhzbGlkZXItYm9yZGVyLXJhZGl1cyApO1xuXHRAaW5jbHVkZSBib3gtc2hhZG93KCAkZmxleHNsaWRlci1ib3gtc2hhZG93LXgtYXhpcywgJGZsZXhzbGlkZXItYm94LXNoYWRvdy15LWF4aXMsICRmbGV4c2xpZGVyLWJveC1zaGFkb3ctYmx1ciwgJGZsZXhzbGlkZXItYm94LXNoYWRvdy1jb2xvciwgJGZsZXhzbGlkZXItYm94LXNoYWRvdy1pbnNldCk7XG5cdFxuXHQuc2xpZGVzIHtcblx0XG5cdFx0em9vbTogMTtcblx0XHRpbWcge1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLmZsZXgtdmlld3BvcnQge1xuXG5cdG1heC1oZWlnaHQ6ICRmbGV4LXZpZXdwb3J0LW1heC1oZWlnaHQ7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblx0XG5cdC5sb2FkaW5nICZ7XG5cdFx0bWF4LWhlaWdodDogJGZsZXgtdmlld3BvcnQtbG9hZGluZy1tYXgtaGVpZ2h0O1xuXHR9XG59XG5cbi5jYXJvdXNlbCBsaSB7XG5cbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbn1cblxuXG4vL1xuLy8gRGlyZWN0aW9uIE5hdlxuLy9cblxuLmZsZXgtZGlyZWN0aW9uLW5hdiB7XG5cdCpoZWlnaHQ6IDA7XG5cdFxuXHQvL1xuXHQvLyBHbG9iYWwgc3R5bGVzXG5cdC8vXG5cdGxpIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXHRhICB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGhlaWdodDogNjBweDtcblx0XHRtYXJnaW46IC0zMHB4IDAgMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0ei1pbmRleDogMTA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRjb2xvcjogJGZsZXgtZGlyZWN0aW9uLW5hdi1jb2xvcjtcblx0XHR0ZXh0LXNoYWRvdzogJGZsZXgtZGlyZWN0aW9uLW5hdi10ZXh0LXNoYWRvdztcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKCAwLjNzLCBlYXNlLWluLW91dCApO1xuXHRcdFxuXHRcdCY6YmVmb3JlICB7XG5cdFx0XG5cdFx0XHRmb250LWZhbWlseTogXCIjeyRmb250LW5hbWV9XCI7XG5cdFx0XHRmb250LXNpemU6IDM1cHg7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRjb250ZW50OiAkZmxleC1kaXJlY3Rpb24tbmF2LWljb24tcHJldjtcblx0XHRcdGNvbG9yOiAkZmxleC1kaXJlY3Rpb24tbmF2LWljb24tY29sb3I7XG5cdFx0XHR0ZXh0LXNoYWRvdzogJGZsZXgtZGlyZWN0aW9uLW5hdi1pY29uLXRleHQtc2hhZG93O1xuXHRcdFxuXHRcdH1cblx0XG5cdFx0Ji5mbGV4LW5leHQ6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICRmbGV4LWRpcmVjdGlvbi1uYXYtaWNvbi1uZXh0O1xuXHRcdH1cblx0fVxuXG5cdC8vXG5cdC8vIFByZXZcblx0Ly9cblx0LmZsZXgtcHJldiB7XG5cdFx0bGVmdDogLTUwcHg7XG5cdH1cblxuXHQvL1xuXHQvLyBOZXh0XG5cdC8vXG5cdC5mbGV4LW5leHQge1xuXHRcdHJpZ2h0OiAtNTBweDtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG5cdC8vXG5cdC8vIEhvdmVyIHN0YXRlc1xuXHQvL1xuXHQuZmxleHNsaWRlcjpob3ZlciAmIHtcblx0XHQuZmxleC1wcmV2IHtcblx0XHRcdG9wYWNpdHk6IDAuNztcblx0XHRcdGxlZnQ6IDEwcHg7XG5cdFx0XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmZsZXgtbmV4dCB7XG5cdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0XHRyaWdodDogMTBweDtcblx0XHRcdFxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly9cblx0Ly8gRGlzYWJsZWRcblx0Ly9cblx0LmZsZXgtZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAhaW1wb3J0YW50O1xuXHRcdGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0ei1pbmRleDogLTE7XG5cdH1cbn1cblxuXG4vL1xuLy8gUGF1c2UvUGxheVxuLy9cbi5mbGV4LXBhdXNlcGxheSBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiA1cHg7XG5cdGxlZnQ6IDEwcHg7XG5cdG9wYWNpdHk6IDAuODtcblx0ei1pbmRleDogMTA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6ICMwMDA7XG5cdFxuXHQmOmJlZm9yZSB7XG5cdFx0Zm9udC1mYW1pbHk6IFwiI3skZm9udC1uYW1lfVwiO1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Y29udGVudDogJGZsZXgtcGF1c2VwbGF5LWljb24tcGF1c2U7XG5cdH1cblx0XG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0XG5cdCYuZmxleC1wbGF5OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJGZsZXgtcGF1c2VwbGF5LWljb24tcGxheTtcblx0fVxuXG59XG5cblxuLy9cbi8vIENvbnRyb2wgTmF2XG4vL1xuXG4uZmxleC1jb250cm9sLW5hdiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogLTQwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bGkge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwIDZweDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0em9vbTogMTtcblx0XHQqZGlzcGxheTogaW5saW5lO1xuXHR9XG59XG5cblxuLy9cbi8vIENvbnRyb2wgcGFnaW5nXG4vL1xuXG4uZmxleC1jb250cm9sLXBhZ2luZyBsaSB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblxuICBhIHtcblxuICAgIHdpZHRoOiAxMXB4O1xuICAgIGhlaWdodDogMTFweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjNjY2O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAwLCAwLCAzcHgsIHJnYmEoMCwwLDAsMC4zKSwgaW5zZXQgKTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAyMHB4ICk7XG5cbiAgICAmOmhvdmVyIHtcblxuICAgICAgYmFja2dyb3VuZDogIzMzMztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43KTtcblxuICAgIH1cblxuICAgICYuZmxleC1hY3RpdmUge1xuXG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSggMCwgMCwgMCwgMC45ICk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICB9XG4gIH1cbn1cblxuXG4uZmxleC1jb250cm9sLXRodW1icyB7XG5cbiAgbWFyZ2luOiAkZmxleC1jb250cm9sLXRodW1icztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBsaSB7XG5cbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcblxuICB9XG5cbiAgaW1nIHtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAuNztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcblxuICAgICY6aG92ZXIge29wYWNpdHk6IDE7fVxuXG4gIH1cblxuICAuZmxleC1hY3RpdmUge1xuXG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBSRVNQT05TSVZFXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBtZWRpYSBzY3JlZW4gYW5kICggbWF4LXdpZHRoOiA4NjBweCApIHtcblxuICAuZmxleC1kaXJlY3Rpb24tbmF2IHtcblxuICAgIC5mbGV4LXByZXYgeyBcblxuICAgICAgb3BhY2l0eTogMTsgXG4gICAgICBsZWZ0OiAxMHB4O1xuXG4gICAgfVxuXG4gICAgLmZsZXgtbmV4dCB7IFxuXG4gICAgICBvcGFjaXR5OiAxOyBcbiAgICAgIHJpZ2h0OiAxMHB4O1xuXG4gICAgfVxuICB9XG59XG5cblxuLnRlc3RpbW9uaWFsLXNsaWRlciB7XG5cdC50ZXN0aW1vbmlhbC13cmFwcGVyIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpLzIgbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCkqMjtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pLzIgbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pKjI7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpLzIgbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBsYXJnZSkqMjtcblx0XHR9XG5cdH1cblx0LmZsZXgtZGlyZWN0aW9uLW5hdiB7XG5cdFx0YSB7XG5cdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0fVxuXHRcdC8vXG5cdFx0Ly8gUHJldlxuXHRcdC8vXG5cdFx0LmZsZXgtcHJldiB7XG5cdFx0XHRsZWZ0OiAxMHB4O1xuXHRcdH1cblx0XG5cdFx0Ly9cblx0XHQvLyBOZXh0XG5cdFx0Ly9cblx0XHQuZmxleC1uZXh0IHtcblx0XHRcdHJpZ2h0OiAxMHB4O1xuXHRcdH1cblx0XG5cdFx0Ly9cblx0XHQvLyBIb3ZlciBzdGF0ZXNcblx0XHQvL1xuXHRcdC5mbGV4c2xpZGVyOmhvdmVyICYge1xuXHRcdFx0LmZsZXgtcHJldiB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNztcblx0XHRcdFx0bGVmdDogMTBweDtcblx0XHRcdFxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuZmxleC1uZXh0IHtcblx0XHRcdFx0b3BhY2l0eTogMC43O1xuXHRcdFx0XHRyaWdodDogMTBweDtcblx0XHRcdFx0XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFxuXHR9XG5cdFxufVxuXG4iLCIuaW1hZ2UtZ3JpZC1jb250YWluZXIge1xuXHRkaXNwbGF5OiB0YWJsZTsgLy8gSUUgZmFsbGJhY2tcblx0d2lkdGg6IDEwMCU7XG5cdC5ncmlkLWl0ZW0ge1xuXHRcdGZsb2F0OiBsZWZ0OyAvLyBJRSBmYWxsYmFja1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gSUUgZmFsbGJhY2tcblx0fVxuXHRAc3VwcG9ydHMgKGdyaWQtYXV0by1yb3dzOiAxcHgpIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0XHRcdGdyaWQtZ2FwOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdGdyaWQtZ2FwOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIG1lZGl1bSk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGdyaWQtZ2FwOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKTtcblx0XHR9XG5cdFx0LmdyaWQtaXRlbSB7XG5cdFx0ICAgIHdpZHRoOiBhdXRvO1xuXHRcdH1cblx0fVxufVxuJGdhbGxlcnktbWFyZ2luOiAxJTtcblxuLm1vZHVsZS0tZ2FsbGVyeS5pbWFnZS1ncmlkLWNvbnRhaW5lciB7XG5cdC5ncmlkLWl0ZW0ge1xuXHRcdG1hcmdpbi1yaWdodDogJGdhbGxlcnktbWFyZ2luOyAvLyBJRSBmYWxsYmFja1xuXHR9XG5cdCYuZ3JpZC1zbWFsbC1jb2wtMSB7XG5cdFx0LmdyaWQtaXRlbSB7XG5cdFx0XHR3aWR0aDogMTAwJTsgLy8gSUUgZmFsbGJhY2tcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHR9XG5cdH1cblx0Ji5ncmlkLXNtYWxsLWNvbC0yIHtcblx0XHQuZ3JpZC1pdGVtIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gI3skZ2FsbGVyeS1tYXJnaW59KTsgLy8gSUUgZmFsbGJhY2tcblx0XHR9XG5cdH1cblx0Ji5ncmlkLXNtYWxsLWNvbC0zIHtcblx0XHQuZ3JpZC1pdGVtIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gI3skZ2FsbGVyeS1tYXJnaW59KTsgLy8gSUUgZmFsbGJhY2tcblx0XHR9XG5cdH1cblx0Ji5ncmlkLXNtYWxsLWNvbC00IHtcblx0XHQuZ3JpZC1pdGVtIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gI3skZ2FsbGVyeS1tYXJnaW59KTsgLy8gSUUgZmFsbGJhY2tcblx0XHR9XG5cdH1cblx0Ji5ncmlkLXNtYWxsLWNvbC01IHtcblx0XHQuZ3JpZC1pdGVtIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyA1IC0gI3skZ2FsbGVyeS1tYXJnaW59KTsgLy8gSUUgZmFsbGJhY2tcblx0XHR9XG5cdH1cblx0Ji5ncmlkLXNtYWxsLWNvbC02IHtcblx0XHQuZ3JpZC1pdGVtIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyA2IC0gI3skZ2FsbGVyeS1tYXJnaW59KTsgLy8gSUUgZmFsbGJhY2tcblx0XHR9XG5cdH1cblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Ji5ncmlkLW1lZGl1bS1jb2wtMSB7XG5cdFx0XHQuZ3JpZC1pdGVtIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7IC8vIElFIGZhbGxiYWNrXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5ncmlkLW1lZGl1bS1jb2wtMiB7XG5cdFx0XHQuZ3JpZC1pdGVtIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAjeyRnYWxsZXJ5LW1hcmdpbn0pOyAvLyBJRSBmYWxsYmFja1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmdyaWQtbWVkaXVtLWNvbC0zIHtcblx0XHRcdC5ncmlkLWl0ZW0ge1xuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC8gMyAtICN7JGdhbGxlcnktbWFyZ2lufSk7IC8vIElFIGZhbGxiYWNrXG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuZ3JpZC1tZWRpdW0tY29sLTQge1xuXHRcdFx0LmdyaWQtaXRlbSB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gI3skZ2FsbGVyeS1tYXJnaW59KTsgLy8gSUUgZmFsbGJhY2tcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5ncmlkLW1lZGl1bS1jb2wtNSB7XG5cdFx0XHQuZ3JpZC1pdGVtIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAvIDUgLSAjeyRnYWxsZXJ5LW1hcmdpbn0pOyAvLyBJRSBmYWxsYmFja1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmdyaWQtbWVkaXVtLWNvbC02IHtcblx0XHRcdC5ncmlkLWl0ZW0ge1xuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC8gNiAtICN7JGdhbGxlcnktbWFyZ2lufSk7IC8vIElFIGZhbGxiYWNrXG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQmLmdyaWQtbGFyZ2UtY29sLTEge1xuXHRcdFx0LmdyaWQtaXRlbSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlOyAvLyBJRSBmYWxsYmFja1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuZ3JpZC1sYXJnZS1jb2wtMiB7XG5cdFx0XHQuZ3JpZC1pdGVtIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAjeyRnYWxsZXJ5LW1hcmdpbn0pOyAvLyBJRSBmYWxsYmFja1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmdyaWQtbGFyZ2UtY29sLTMge1xuXHRcdFx0LmdyaWQtaXRlbSB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gI3sjeyRnYWxsZXJ5LW1hcmdpbn19KTsgLy8gSUUgZmFsbGJhY2tcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5ncmlkLWxhcmdlLWNvbC00IHtcblx0XHRcdC5ncmlkLWl0ZW0ge1xuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC8gNCAtICN7JGdhbGxlcnktbWFyZ2lufSk7IC8vIElFIGZhbGxiYWNrXG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuZ3JpZC1sYXJnZS1jb2wtNSB7XG5cdFx0XHQuZ3JpZC1pdGVtIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAvIDUgLSAjeyRnYWxsZXJ5LW1hcmdpbn0pOyAvLyBJRSBmYWxsYmFja1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmdyaWQtbGFyZ2UtY29sLTYge1xuXHRcdFx0LmdyaWQtaXRlbSB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyA2IC0gI3skZ2FsbGVyeS1tYXJnaW59KTsgLy8gSUUgZmFsbGJhY2tcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QHN1cHBvcnRzIChncmlkLWF1dG8tcm93czogMXB4KSB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHRcdFx0Z3JpZC1nYXA6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpLzM7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRncmlkLWdhcDogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pLzM7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGdyaWQtZ2FwOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKS80O1xuXHRcdH1cblx0XHQmLmdyaWQtc21hbGwtY29sLTEge1xuXHRcdFx0XG5cdFx0fVxuXHRcdCYuZ3JpZC1zbWFsbC1jb2wtMiB7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRcdH1cblx0XHQmLmdyaWQtc21hbGwtY29sLTMge1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcblx0XHR9XG5cdFx0Ji5ncmlkLXNtYWxsLWNvbC00IHtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG5cdFx0fVxuXHRcdCYuZ3JpZC1zbWFsbC1jb2wtNSB7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuXHRcdH1cblx0XHQmLmdyaWQtc21hbGwtY29sLTYge1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTtcblx0XHR9XG5cdFx0XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdCYuZ3JpZC1tZWRpdW0tY29sLTEge1xuXHRcdFx0XHRcblx0XHRcdH1cblx0XHRcdCYuZ3JpZC1tZWRpdW0tY29sLTIge1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRcdFx0fVxuXHRcdFx0Ji5ncmlkLW1lZGl1bS1jb2wtMyB7XG5cdFx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cdFx0XHR9XG5cdFx0XHQmLmdyaWQtbWVkaXVtLWNvbC00IHtcblx0XHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcblx0XHRcdH1cblx0XHRcdCYuZ3JpZC1tZWRpdW0tY29sLTUge1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuXHRcdFx0fVxuXHRcdFx0Ji5ncmlkLW1lZGl1bS1jb2wtNiB7XG5cdFx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0Ji5ncmlkLWxhcmdlLWNvbC0xIHtcblx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0XHQmLmdyaWQtbGFyZ2UtY29sLTIge1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRcdFx0fVxuXHRcdFx0Ji5ncmlkLWxhcmdlLWNvbC0zIHtcblx0XHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcblx0XHRcdH1cblx0XHRcdCYuZ3JpZC1sYXJnZS1jb2wtNCB7XG5cdFx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG5cdFx0XHR9XG5cdFx0XHQmLmdyaWQtbGFyZ2UtY29sLTUge1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuXHRcdFx0fVxuXHRcdFx0Ji5ncmlkLWxhcmdlLWNvbC02IHtcblx0XHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmdyaWQtaXRlbSB7XG5cdFx0ICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0ICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRcdCAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcblx0XHR9XG5cblx0fVxuXG59XG5cbi5sb2dvLWdyaWQge1xuXHQubW9kdWxlLS1nYWxsZXJ5LmltYWdlLWdyaWQtY29udGFpbmVyIHtcblx0XHRAc3VwcG9ydHMgKGdyaWQtYXV0by1yb3dzOiAxcHgpIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0XHRcdFx0Z3JpZC1nYXA6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpLzI7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRncmlkLWdhcDogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pLzI7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdGdyaWQtZ2FwOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKS8yO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuZ3JpZC1pdGVtIHtcblx0XHQgICAgZGlzcGxheTogZmxleDtcblx0XHQgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cblx0fVxufVxuXG4ubG9jYXRpb24tZ3JpZC5pbWFnZS1ncmlkLWNvbnRhaW5lciB7XG5cdC5ncmlkLWl0ZW0ge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0XHRcdHdpZHRoOiA0OSU7XG5cdFx0XHRtYXJnaW46IC41JTtcblx0XHRcdGhlaWdodDogMTQwcHg7XG5cdFx0XHQmLmltYWdlLTUge1xuXHRcdFx0XHR3aWR0aDogMjQlO1xuXHRcdFx0fVxuXHRcdFx0Ji5pbWFnZS02IHtcblx0XHRcdFx0d2lkdGg6IDI0JTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHdpZHRoOiAyNCU7XG5cdFx0XHRoZWlnaHQ6IDE4MHB4O1xuXHRcdFx0Ji5pbWFnZS01IHtcblx0XHRcdFx0d2lkdGg6IDE0LjUlO1xuXHRcdFx0fVxuXHRcdFx0Ji5pbWFnZS02IHtcblx0XHRcdFx0d2lkdGg6IDE0LjUlO1xuXHRcdFx0fVxuXHRcdFx0Ji5pbWFnZS04IHtcblx0XHRcdFx0d2lkdGg6IDE4JTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0aGVpZ2h0OiAyMjBweDtcblx0XHR9XG5cblx0fVxuXHRAc3VwcG9ydHMgKGdyaWQtYXV0by1yb3dzOiAxcHgpIHtcblx0XHQuZ3JpZC1pdGVtIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ncmlkO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcblx0XHQgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0XHQgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7O1xuXHRcdCAgICBtYXJnaW46IDA7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0Z3JpZC1nYXA6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgc21hbGwpLzI7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTEsIDQwcHgpO1xuXHRcdFx0LmltYWdlLTEge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcblx0XHRcdFx0Z3JpZC1yb3c6IDEgLyBzcGFuIDM7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtMiB7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiA0IC8gc3BhbiAyO1xuXHRcdFx0XHRncmlkLXJvdzogMSAvIHNwYW4gMjtcblx0XHRcdH1cblx0XHRcdC5pbWFnZS01IHtcblx0XHRcdFx0Z3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG5cdFx0XHRcdGdyaWQtcm93OiA0IC8gc3BhbiAyO1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTYge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogNCAvIHNwYW4gMjtcblx0XHRcdFx0Z3JpZC1yb3c6IDMgLyBzcGFuIDM7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtNyB7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuXHRcdFx0XHRncmlkLXJvdzogNiAvIHNwYW4gMztcblx0XHRcdH1cblx0XHRcdC5pbWFnZS0zIHtcblx0XHRcdFx0Z3JpZC1jb2x1bW46IDMgLyBzcGFuIDM7XG5cdFx0XHRcdGdyaWQtcm93OiA2IC8gc3BhbiA0O1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTQge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcblx0XHRcdFx0Z3JpZC1yb3c6IDkgLyBzcGFuIDM7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtOCB7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiAzIC8gc3BhbiAzO1xuXHRcdFx0XHRncmlkLXJvdzogMTAgLyBzcGFuIDI7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtOSB7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRncmlkLWdhcDogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBtZWRpdW0pLzM7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI4JSAyMCUgMjglIDI0JTtcblx0XHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDksIDMwcHgpO1xuXHRcdFx0LmltYWdlLTEge1xuXHRcdFx0XHRncmlkLXJvdzogMSAvIHNwYW4gNTtcblx0XHRcdH1cblx0XHRcdC5pbWFnZS0yIHtcblx0XHRcdFx0Z3JpZC1yb3c6IDEgLyBzcGFuIDQ7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtMyB7XG5cdFx0XHRcdGdyaWQtcm93OiAxIC8gc3BhbiA0O1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTQge1xuXHRcdFx0XHRncmlkLXJvdzogMSAvIHNwYW4gNjtcblx0XHRcdH1cblx0XHRcdC5pbWFnZS01IHtcblx0XHRcdFx0Z3JpZC1yb3c6IDYgLyBzcGFuIDQ7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtNiB7XG5cdFx0XHRcdGdyaWQtcm93OiA1IC8gc3BhbiA1O1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTcge1xuXHRcdFx0XHRncmlkLXJvdzogNSAvIHNwYW4gNTtcblx0XHRcdH1cblx0XHRcdC5pbWFnZS04IHtcblx0XHRcdFx0Z3JpZC1yb3c6IDcgLyBzcGFuIDM7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtOSB7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGdyaWQtZ2FwOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKS80O1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoOSwgNDBweCk7XG5cdFx0fVxuXHR9XG5cblxuXG59XG5cbi5sb2NhdGlvbi1ncmlkLTIuaW1hZ2UtZ3JpZC1jb250YWluZXIge1xuXHQuZ3JpZC1pdGVtIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG5cdFx0XHR3aWR0aDogNDklO1xuXHRcdFx0bWFyZ2luOiAuNSU7XG5cdFx0XHRoZWlnaHQ6IDE0MHB4O1xuXHRcdFx0Ji5pbWFnZS01IHtcblx0XHRcdFx0d2lkdGg6IDI0JTtcblx0XHRcdH1cblx0XHRcdCYuaW1hZ2UtNiB7XG5cdFx0XHRcdHdpZHRoOiAyNCU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHR3aWR0aDogMjQlO1xuXHRcdFx0aGVpZ2h0OiAxODBweDtcblx0XHRcdCYuaW1hZ2UtNSB7XG5cdFx0XHRcdHdpZHRoOiAxNC41JTtcblx0XHRcdH1cblx0XHRcdCYuaW1hZ2UtNiB7XG5cdFx0XHRcdHdpZHRoOiAxNC41JTtcblx0XHRcdH1cblx0XHRcdCYuaW1hZ2UtOCB7XG5cdFx0XHRcdHdpZHRoOiAxOCU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGhlaWdodDogMjIwcHg7XG5cdFx0fVxuXG5cdH1cblx0QHN1cHBvcnRzIChncmlkLWF1dG8tcm93czogMXB4KSB7XG5cdFx0LmdyaWQtaXRlbSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG5cdFx0ICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0ICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50Oztcblx0XHQgICAgbWFyZ2luOiAwO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGdyaWQtZ2FwOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKS8yO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTtcblx0XHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDExLCA0MHB4KTtcblx0XHRcdC5pbWFnZS0xIHtcblx0XHRcdFx0Z3JpZC1jb2x1bW46IDEgLyBzcGFuIDY7XG5cdFx0XHRcdGdyaWQtcm93OiAxIC8gc3BhbiAzO1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTUge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcblx0XHRcdFx0Z3JpZC1yb3c6IDQgLyBzcGFuIDM7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtMyB7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiA0IC8gc3BhbiAzO1xuXHRcdFx0XHRncmlkLXJvdzogNCAvIHNwYW4gNjtcblx0XHRcdH1cblx0XHRcdC5pbWFnZS02IHtcblx0XHRcdFx0Z3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG5cdFx0XHRcdGdyaWQtcm93OiA3IC8gc3BhbiAzO1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTIge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcblx0XHRcdFx0Z3JpZC1yb3c6IDEwIC8gc3BhbiAyO1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTQge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogMyAvIHNwYW4gMjtcblx0XHRcdFx0Z3JpZC1yb3c6IDEwIC8gc3BhbiAyO1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTcge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogNSAvIHNwYW4gMjtcblx0XHRcdFx0Z3JpZC1yb3c6IDEwIC8gc3BhbiAyO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Z3JpZC1nYXA6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKS8zO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyOCUgMjAlIDI4JSAyNCU7XG5cdFx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg5LCA0MHB4KTtcblx0XHRcdC5pbWFnZS0xIHtcblx0XHRcdFx0Z3JpZC1jb2x1bW46IHNwYW4gMjtcblx0XHRcdFx0Z3JpZC1yb3c6IDEgLyBzcGFuIDU7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtMiB7XG5cdFx0XHRcdGdyaWQtcm93OiAxIC8gc3BhbiA0O1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTMge1xuXHRcdFx0XHRncmlkLXJvdzogMSAvIHNwYW4gNjtcblx0XHRcdH1cblx0XHRcdC5pbWFnZS00IHtcblx0XHRcdFx0Z3JpZC1yb3c6IDYgLyBzcGFuIDQ7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtNSB7XG5cdFx0XHRcdGdyaWQtcm93OiA2IC8gc3BhbiA0O1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTYge1xuXHRcdFx0XHRncmlkLXJvdzogNSAvIHNwYW4gNTtcblx0XHRcdH1cblx0XHRcdC5pbWFnZS03IHtcblx0XHRcdFx0Z3JpZC1yb3c6IDcgLyBzcGFuIDM7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGdyaWQtZ2FwOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKS80O1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoOSwgNTBweCk7XG5cdFx0fVxuXHR9XG5cblxuXG59XG5cbi5icmljay1ncmlkLmltYWdlLWdyaWQtY29udGFpbmVyIHtcblx0LmdyaWQtaXRlbSB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHRcdFx0d2lkdGg6IDQ5JTtcblx0XHRcdG1hcmdpbjogLjUlO1xuXHRcdFx0aGVpZ2h0OiAxNDBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHdpZHRoOiAyNCU7XG5cdFx0XHRoZWlnaHQ6IDIwMHB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRoZWlnaHQ6IDMxMHB4O1xuXHRcdH1cblxuXHR9XG5cdEBzdXBwb3J0cyAoZ3JpZC1hdXRvLXJvd3M6IDFweCkge1xuXHRcdC5ncmlkLWl0ZW0ge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWdyaWQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1pdGVtczogY2VudGVyO1xuXHRcdCAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRcdCAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDs7XG5cdFx0ICAgIG1hcmdpbjogMDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRncmlkLWdhcDogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCkvMjtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCAxZnIpO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMywgMTQwcHgpO1xuXHRcdFx0LmltYWdlLTEge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogc3BhbiA0O1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTIge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogc3BhbiA2O1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTMge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogc3BhbiA1O1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTQge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogc3BhbiA1O1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTUge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogc3BhbiA2O1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLTYge1xuXHRcdFx0XHRncmlkLWNvbHVtbjogc3BhbiA0O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Z3JpZC1nYXA6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKS8zO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNSUgMTIlIDIwJSA4JSAzMCU7XG5cdFx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCAyMDBweCk7XG5cdFx0XHQuaW1hZ2UtMSB7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiBzcGFuIDE7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtMiB7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiBzcGFuIDI7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtMyB7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiBzcGFuIDI7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtNCB7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiBzcGFuIDI7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtNSB7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiBzcGFuIDI7XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtNiB7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiBzcGFuIDE7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGdyaWQtZ2FwOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKS80O1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMzEwcHgpO1xuXHRcdH1cblx0fVxuXG5cblxufVxuXG4iLCIvKiBNb2JpbGUgbWVudSAqL1xuXG4ub2ZmLWNhbnZhcyB7XG5cdGhlaWdodDogMTAwJTtcblx0cG9zaXRpb246IGZpeGVkO1xuXHQvL3dpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuICB1bCB7XG5cblx0bGkge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAkbGlnaHQtZ3JheTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcblx0XHR9XG5cdH1cblx0LmN1cnJlbnQtbWVudS1pdGVtIGEge1xuXHRcdGNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtY29sb3ItYWN0aXZlO1xuXHR9XG4gIH1cbn1cbiNtYWluLW1vYmlsZS1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogLTEwMCU7XG5cdHRvcDogMDtcblx0ei1pbmRleDogOTtcblx0cGFkZGluZy10b3A6IDYwcHg7XG5cdHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXHRoZWlnaHQ6IDEwMHZoO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZy10b3A6IDgwcHg7XG5cdH1cbn1cbi5vcGVuLW1haW4tbWVudSB7XG5cdHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cblxuXG4ubWVudVRvZ2dsZSB7XG5cdHJpZ2h0OiAwO1xufVxuXG5cblxuQG1peGluIHNpbXBsZS1wYW5lbCB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHR3aWR0aDogJHBhbmVsLXdpZHRoLXNtYWxsO1xuXHRcdHBhZGRpbmc6ICRwYW5lbC1jb250ZW50LXBhZGRpbmctc21hbGw7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdHdpZHRoOiAkcGFuZWwtd2lkdGgtbWVkaXVtO1xuXHRcdHBhZGRpbmc6ICRwYW5lbC1jb250ZW50LXBhZGRpbmctbWVkaXVtO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHR3aWR0aDogJHBhbmVsLXdpZHRoLWxhcmdlO1xuXHRcdHBhZGRpbmc6ICRwYW5lbC1jb250ZW50LXBhZGRpbmctbGFyZ2U7XG5cdH1cblx0YmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWJhY2tncm91bmQ7XG5cdHotaW5kZXg6ICRwYW5lbC16LWluZGV4O1xuXHR0cmFuc2Zvcm06ICRwYW5lbC10cmFuc2xhdGU7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAkcGFuZWwtdHJhbnNpdGlvbi1lYXNpbmcgJHBhbmVsLXRyYW5zaXRpb24tdGltaW5nO1xuXHRib3gtc2hhZG93OiBub25lO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG5cblx0LnNpbXBsZS1wYW5lbC1pbm5lciB7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XG5cdH1cblxuXHQmLnJpZ2h0IHtcblx0XHRyaWdodDogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdH1cblx0Ji50b3Age1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogJHBhbmVsLWhlaWdodDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHR9XG5cdCYuYm90dG9tIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6ICRwYW5lbC1oZWlnaHQ7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcblx0fVxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0Ym94LXNoYWRvdzogJHBhbmVsLXNoYWRvdztcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcblxuXHRcdC5jbG9zZS1idXR0b24ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWJhY2tncm91bmQ7XG5cdFx0XHRjb2xvcjogJHBhbmVsLWNsb3NlLWJ1dHRvbi1jb2xvcjtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogNDBweDtcblx0XHRcdGhlaWdodDogNDBweDtcblx0XHQgICAgcGFkZGluZzogOXB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0dG9wOiAyMHB4O1xuXHRcdFx0bGVmdDogLTE4cHg7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQuY2xvc2UtaWNvbiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHRcdFx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdCAgICBsaW5lLWhlaWdodDogMTtcblx0XHRcdH1cblx0XHRcdC5jbG9zZS10ZXh0IHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0XHQgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0ICAgIGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0XG5cdH1cblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0LnBhbmVsLWNvbnRhY3QtZm9ybSB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRwYWRkaW5nOiAkcGFuZWwtY29udGVudC1wYWRkaW5nLW1lZGl1bTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0cGFkZGluZzogJHBhbmVsLWNvbnRlbnQtcGFkZGluZy1sYXJnZTtcblx0XHR9XG5cdFx0Lmdmb3JtX3dyYXBwZXIge1xuXHRcdFx0aDMuZ2Zvcm1fdGl0bGUge1xuXHRcdFx0XHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0XHQuZ2ZpZWxkX2xhYmVsLFxuXHRcdFx0LmdmaWVsZF9yZXF1aXJlZCB7XG5cdFx0XHRcdGNvbG9yOiAkdGhlbWUtb2ZmY2FudmFzLWZvcm0tbGFiZWwtY29sb3VyO1xuXHRcdFx0fVxuXHRcdFx0LmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCwgXG5cdFx0XHQuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcblx0XHRcdFx0Y29sb3I6ICR0aGVtZS1vZmZjYW52YXMtZm9ybS1jaGVja2JveC1jb2xvdXI7XG5cdFx0XHR9XG5cblx0XHR9XG5cdFx0XG5cdFx0Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRwYWRkaW5nOiAkcGFuZWwtY29udGVudC1wYWRkaW5nLXNtYWxsO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0XHRwYWRkaW5nOiAkcGFuZWwtY29udGVudC1wYWRkaW5nLW1lZGl1bTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg2MDApO1xuXHRcdFx0XHRcblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0XHQuY29uZmlybWF0aW9uLW1lc3NhZ2Uge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDUwcHggMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0fVxuXHRcdFxuXHR9XG5cbn1cblxuXG4uc2ltcGxlLXBhbmVsIHtcbiAgQGluY2x1ZGUgc2ltcGxlLXBhbmVsO1xufVxuXG4iLCIuaG9tZS1saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jYXJkX3BhZ2VzIHtcblx0LmNhcmQge1xuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCAxMCA0MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCk7IFxuXHRcdH1cblx0XHQuY2FyZC1jb250ZW50IHtcblx0XHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHR9XG5cdFx0LmNhcmQtaWNvbiB7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoNzApO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0fVxuXHR9XG59XG5cbi5jYXJkLXNoYWRvdyB7XG5cdCAgLy9iYWNrZ3JvdW5kOiAjZmZmO1xuXHQgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjo6YmVmb3JlIHtcblx0ICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4zKTtcblx0ICBjb250ZW50OiBcIlwiO1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIGJvdHRvbTogLS4xZW07XG5cdCAgICBsZWZ0OiAuMWVtO1xuXHQgICAgcmlnaHQ6IC4xZW07XG5cdCAgICB0b3A6IC41ZW07XG5cdCAgei1pbmRleDogLTE7XG5cdH1cblx0XG5cdCY6OmFmdGVyIHtcblx0ICAvL2JhY2tncm91bmQ6ICNmZmY7XG5cdCAgY29udGVudDogXCJcIjtcblx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICBib3R0b206IDA7XG5cdCAgICBsZWZ0OiAwO1xuXHQgICAgcmlnaHQ6IDA7XG5cdCAgICB0b3A6IDA7XG5cdCAgei1pbmRleDogLTE7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDQpO1xuXHQgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcblx0fVxuXHRcblx0Jjpob3Zlcjo6YmVmb3JlIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSguMWVtKTtcblx0ICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSguMWVtKTtcblx0fVxuXHRcblx0Jjpob3Zlcjo6YWZ0ZXIge1xuXHQgIC8vYmFja2dyb3VuZDogI2ZmZjtcblx0fVxuXHRcblx0JjphY3RpdmUge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC4yZW0pO1xuXHQgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC4yZW0pO1xuXHQgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcblx0ICB0cmFuc2l0aW9uOiBub25lO1xuXHR9XG5cdFxuXHQmOmFjdGl2ZTo6YmVmb3JlIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtLjFlbSk7XG5cdCAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLS4xZW0pO1xuXHQgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcblx0ICB0cmFuc2l0aW9uOiBub25lO1xuXHR9XG5cdFxuXHQmLCAmOjpiZWZvcmUsICY6OmFmdGVyIHtcblx0ICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNXMgY3ViaWMtYmV6aWVyKDAsMSwuMywxKTtcblx0ICB0cmFuc2l0aW9uOiBhbGwgLjVzIGN1YmljLWJlemllcigwLDEsLjMsMSk7XG5cdH1cblx0XG59XG4uY2FyZC1zaGFkb3ctc3VidGxlIHtcblx0ICAvL2JhY2tncm91bmQ6ICNmZmY7XG5cdCAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHQgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXG5cdCY6aG92ZXIge1xuXHQgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG5cdCAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpO1xuXHR9XG5cdFxuXHQmOmhvdmVyOjpiZWZvcmUge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC4xZW0pO1xuXHQgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC4xZW0pO1xuXHR9XG5cdFxuXHQmOmhvdmVyOjphZnRlciB7XG5cdCAgLy9iYWNrZ3JvdW5kOiAjZmZmO1xuXHR9XG5cdFxuXHQmOmFjdGl2ZSB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLjJlbSk7XG5cdCAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLjJlbSk7XG5cdCAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuXHQgIHRyYW5zaXRpb246IG5vbmU7XG5cdH1cblx0XG5cdCY6YWN0aXZlOjpiZWZvcmUge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0uMWVtKTtcblx0ICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtLjFlbSk7XG5cdCAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuXHQgIHRyYW5zaXRpb246IG5vbmU7XG5cdH1cblx0XG5cdCYsICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuXHQgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC41cyBjdWJpYy1iZXppZXIoMCwxLC4zLDEpO1xuXHQgIHRyYW5zaXRpb246IGFsbCAuNXMgY3ViaWMtYmV6aWVyKDAsMSwuMywxKTtcblx0fVxuXHRcbn1cblxuLypcbi5uZXdzLWNhcmRzLmdyaWQtY29udGFpbmVyIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHRcdGdyaWQtZ2FwOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKS8yO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Z3JpZC1nYXA6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbWVkaXVtKS8yO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRncmlkLWdhcDogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBsYXJnZSkvMjtcblx0fVxuXG59XG4qL1xuXG4ubmV3cy1jYXJkcyB7XG5cdC5jYXJkLWl0ZW0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFxuXHRcdC5ib3JkZXItaW5uZXIge1xuXHRcdFx0cGFkZGluZzogOHB4O1xuXHRcdH1cblx0XHQuY2FyZC1saW5rIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHQuY2FyZC1pbWFnZSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogNTAlO1xuXHRcdFx0Ly9oZWlnaHQ6IHJlbS1jYWxjKDE0MCk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHQvL2hlaWdodDogcmVtLWNhbGMoMTQwKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0Ly9oZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kRmlsbDtcblx0XHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBcblx0XHQgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgLyogSUUgOSAqL1xuXHRcdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG5cdFx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcblx0XHR9XG5cdFx0LmNhcmQtaW5mbyB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRvdmVyZmxvdzogYXV0bztcblx0XHRcdD4gaDYge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdH1cblx0XHRcdD4gaDMge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdH1cblx0XHRcdC5jYXJkLWRlc2NyaXB0aW9uIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5jYXJkLWJ1dHRvbiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjZweDtcblx0XHR9XG5cdH1cbn1cblxuJGNhcmQtaG92ZXItd3JhcHBlci10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiRjYXJkLWhvdmVyLWRhdGUtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4kY2FyZC1kYXRlLWJnOiAkbGlnaHQtYmx1ZTtcbiRjYXJkLWRhdGUtY29sb3I6ICR3aGl0ZTtcbiRjYXJkLWRhdGUtYm9yZGVyOiAycHggc29saWQgJGxpZ2h0LWJsdWU7XG5cbi5uZXdzLWNhcmQubmV3c2xldHRlci1zdHlsZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQuYm9yZGVyLWlubmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXHRcblx0LmNhcmQtbGluayB7XG5cdFx0Ly9wb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ly9kaXNwbGF5OiBibG9jaztcblx0XHQvL3BhZGRpbmc6IDA7XG5cdFx0XG5cdFx0Lm5ld3NsZXR0ZXItcG9zdC1kYXRlIHtcblx0XHRcdFxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAtMXB4O1xuXHRcdFx0bGVmdDogMCU7XG5cdFx0XHRyaWdodDogMCU7XG5cdFx0XHRwYWRkaW5nOiAxMHB4IDEwcHggNXB4IDEwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1kYXRlLWJnO1xuXHRcdFx0Y29sb3I6ICRjYXJkLWRhdGUtY29sb3I7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdGJvcmRlcjogJGNhcmQtZGF0ZS1ib3JkZXI7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNpdGlvbjogJGNhcmQtaG92ZXItZGF0ZS10cmFuc2l0aW9uO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0XHRsZWZ0OiA1JTtcblx0XHRcdFx0cmlnaHQ6IDUlO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRsZWZ0OiAxNSU7XG5cdFx0XHRcdHJpZ2h0OiAxNSU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdFxuXHRcdFx0Lm5ld3NsZXR0ZXItcG9zdC1tb250aCB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRmb250LXNpemU6IDAuOWVtO1xuXHRcdFx0XHRcblx0XHRcdH1cblx0XHRcdC5uZXdzbGV0dGVyLXBvc3QteWVhciB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRmb250LXNpemU6IDEuMWVtO1xuXHRcdFx0XHRcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmNhcmQtaW5mby1ob3ZlciB7XG5cdFx0XHQvL2JhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuXHRcdFx0bWF4LWhlaWdodDogMDtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3R0b206IC02MHB4O1xuXHRcdFx0bGVmdDogLTFweDtcblx0XHRcdHJpZ2h0OiAtMXB4O1xuXHRcdFx0Ly93aWR0aDogMTAwJTtcblx0XHRcdHotaW5kZXg6IDgwO1xuXHRcdFx0dHJhbnNpdGlvbjogJGNhcmQtaG92ZXItd3JhcHBlci10cmFuc2l0aW9uO1xuXHRcdFx0Ly9wYWRkaW5nLXRvcDogMjBweDtcblx0XHRcdC8vcGFkZGluZy1ib3R0b206IDMwcHg7XG5cblx0XHRcdGg1IHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XG5cdFx0XHR9XG5cdFx0XG5cdFx0fVxuXHRcblx0fVxuXHQuY2FyZC1saW5rOmhvdmVyLFxuXHQuY2FyZC1saW5rOmZvY3VzIHtcblx0XHRcblx0XHQubmV3c2xldHRlci1wb3N0LWRhdGUge1xuXHRcdFx0Ym90dG9tOiAtNjBweDtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiAkY2FyZC1ob3Zlci1kYXRlLXRyYW5zaXRpb247XHRcdFx0XG5cdFx0fVxuXHRcdC5jYXJkLWluZm8taG92ZXIge1xuXHRcdFx0Ym90dG9tOiAtMXB4O1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdG1heC1oZWlnaHQ6IDEwMCU7XG5cdFx0XHR0cmFuc2l0aW9uOiAkY2FyZC1ob3Zlci13cmFwcGVyLXRyYW5zaXRpb247XHRcdFx0XG5cdFx0fVxuXHRcblx0fVxufVxuXG4uZXZlbnRzLWNhcmRzIHtcblx0LmNhcmQtaXRlbSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFxuXHRcdC5ib3JkZXItaW5uZXIge1xuXHRcdFx0cGFkZGluZzogOHB4O1xuXHRcdH1cblx0XHQuY2FyZC1saW5rIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHQuY2FyZC1pbmZvIHtcblx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdC8vb3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0XHQ+IGg2IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR9XG5cdFx0XHQ+IGgzIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR9XG5cdFx0XHQuY2FyZC1kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuY2FyZC1idXR0b24ge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDI2cHg7XG5cdFx0fVxuXHR9XG59XG5cblxuLmF2YWlsYWJpbGl0eS1jYXJkIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdFxuXHQuYm9yZGVyLWlubmVyIHtcblx0XHRwYWRkaW5nOiA4cHg7XG5cdH1cblx0LmNhcmQtbGluayB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0LmNhcmQtaW1hZ2Uge1xuXHRcdHBhZGRpbmctdG9wOiA1MCU7XG5cdFx0QGluY2x1ZGUgYmFja2dyb3VuZEZpbGw7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IFxuXHQgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgLyogSUUgOSAqL1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXHR9XG5cdC5jYXJkLWluZm8ge1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0PiBoNiB7XG5cdFx0XHQvL21hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHQvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdFx0Ly9mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHR9XG5cdFx0PiBoMyB7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHR9XG5cdFx0LmNhcmQtZGVzY3JpcHRpb24ge1xuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRcdHAge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuY2FyZC1idXR0b24ge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjZweDtcblx0fVxufVxuXG4uY2FyZS1jYXJkcyB7XG5cdC5jYXJkLWl0ZW0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFxuXHRcdC5jYXJkLWxpbmsge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdC5jYXJkLWltYWdlIHtcblx0XHRcdHBhZGRpbmctdG9wOiA1MCU7XG5cdFx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kRmlsbDtcblx0XHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBcblx0XHQgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgLyogSUUgOSAqL1xuXHRcdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG5cdFx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcblx0XHR9XG5cdFx0LmNhcmQtaW5mbyB7XG5cdFx0XHRwYWRkaW5nOiAzMHB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRvdmVyZmxvdzogYXV0bztcblx0XHRcdD4gaDUge1xuXHRcdFx0XHQvL21hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRcdC8vZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHRcdC8vZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdH1cblx0XHRcdD4gaDMge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdH1cblx0XHRcdC5jYXJkLWRlc2NyaXB0aW9uIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5jYXJkLWJ1dHRvbiB7XG5cdFx0XHRwYWRkaW5nOiAwIDMwcHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjZweDtcblx0XHR9XG5cdH1cbn1cblxuLmxvY2F0aW9uLWNhcmRzIHtcblx0LmNhcmQtaXRlbSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHQuYm9yZGVyLWlubmVyIHtcblx0XHRcdHBhZGRpbmc6IDUlO1xuXHRcdH1cblx0XHRcblx0XHQuY2FyZC1saW5rIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHQuY2FyZC1pbWFnZSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMTAwJTtcblx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmRGaWxsO1xuXHRcdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IFxuXHRcdCAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyAvKiBJRSA5ICovXG5cdFx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cblx0XHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXHRcdH1cblx0XHQub3ZlcmxheSB7XG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG92ZXJsYXk7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcblx0XHR9XG5cdFx0LmNhcmQtc3BhY2VyIHtcblx0XHRcdGhlaWdodDogMTAlO1xuXHRcdH1cblx0XHQuY2FyZC1pbmZvIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0XHQvL2hlaWdodDogMzAlO1xuXHRcdFx0PiBoNSB7XG5cdFx0XHRcdC8vZm9udC1zaXplOiByZW0tY2FsYygzMik7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR9XG5cdFx0XHQuY2FyZC1kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuY2FyZC1idXR0b24ge1xuXHRcdFx0cGFkZGluZzogMCAxMHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDUlO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyNnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLmxvY2F0aW9uLWNhcmRzLmxvY2F0aW9ucy1taW5pbWFsIHtcblx0LmNhcmQtaXRlbSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHQuYm9yZGVyLWlubmVyIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHRcdFxuXHRcdC5jYXJkLWltYWdlIHtcblx0XHRcdHBhZGRpbmctdG9wOiA2NiU7XG5cdFx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kRmlsbDtcblx0XHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBcblx0XHQgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgLyogSUUgOSAqL1xuXHRcdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG5cdFx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcblx0XHR9XG5cdFx0LmNhcmQtaW5mbyB7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCA1IDUpO1xuXHRcdFx0XG5cdFx0XHQ+IGg1IHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XG5cdFx0XHR9XG5cdFx0XHQuY2FyZC1kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc3RvcnktY2FyZHMge1xuXHQuY2FyZC1pdGVtIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcblx0XHQuYm9yZGVyLWlubmVyIHtcblx0XHRcdHBhZGRpbmc6IDhweDtcblx0XHR9XG5cdFx0LmNhcmQtbGluayB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0XG5cdFx0LmNhcmQtaW1hZ2Uge1xuXHRcdFx0cGFkZGluZy10b3A6IDUwJTtcblx0XHRcdC8vaGVpZ2h0OiByZW0tY2FsYygxNDApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0Ly9oZWlnaHQ6IHJlbS1jYWxjKDE0MCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdC8vaGVpZ2h0OiByZW0tY2FsYygxNTApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZEZpbGw7XG5cdFx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgXG5cdFx0ICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IC8qIElFIDkgKi9cblx0XHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuXHRcdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cdFx0fVxuXHRcdC5jYXJkLWluZm8ge1xuXHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0XHQ+IGgzIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR9XG5cdFx0XHQuY2FyZC1kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuY2FyZC1idXR0b24ge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDI2cHg7XG5cdFx0fVxuXHR9XG59XG5cbi5zdWl0ZS1jYXJkcyB7XG4vKlxuXHQuY2VsbC1ib3JkZXItb3V0ZXIge1xuXHRcdCY6aG92ZXIsXG5cdFx0JjphY3RpdmUsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgOHB4IDNweCByZ2JhKDAsMCwwLDAuMyk7XG5cdFx0fVxuXHR9XG4qL1x0XG5cdC5jYXJkLWl0ZW0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFxuXHRcdC5ib3JkZXItaW5uZXIge1xuXHRcdFx0cGFkZGluZzogOHB4O1xuXHRcdH1cblx0XHQuY2FyZC1saW5rIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHQuY2FyZC1pbWFnZSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nLXRvcDogNzAlO1xuXHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZEZpbGw7XG5cdFx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgXG5cdFx0ICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IC8qIElFIDkgKi9cblx0XHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuXHRcdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cdFx0fVxuXHRcdC5jYXJkLWluZm8ge1xuXHRcdFx0cGFkZGluZzogMTBweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0XHQ+IGg2IHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR9XG5cdFx0XHQ+IGgzIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5jYXJkLWJ1dHRvbiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDI2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zdWl0ZS1jYXJkcyB7XG5cdC5zdGF0dXMtbGFiZWwtdGV4dCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMTBweDtcblx0XHRyaWdodDogLTEwcHg7XG5cdFx0cGFkZGluZzogMTBweCAxNXB4IDZweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1zaXplOiAxLjFlbTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHR0b3A6IDIwcHg7XG5cdFx0XHRmb250LXNpemU6IDEuNGVtO1xuXHRcdH1cblx0fVxuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQubGFyZ2UtMTIge1xuXHRcdFx0LnN0YXR1cy1sYWJlbC10ZXh0IHtcblx0XHRcdFx0dG9wOiAzMHB4O1xuXHRcdFx0XHRmb250LXNpemU6IDEuNmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0LmxhcmdlLTEyIHtcblx0XHRcdC5zdGF0dXMtbGFiZWwtdGV4dCB7XG5cdFx0XHRcdHRvcDogNDBweDtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjZlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi5nYWxsZXJ5LWNhcmQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0LmdhbGxlcnktaW1hZ2Uge1xuXHRcdEBpbmNsdWRlIGJhY2tncm91bmRGaWxsO1xuXHRcdFxuXHRcdGhlaWdodDogcmVtLWNhbGMoMTUwKTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxNTApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDE4MCk7XG5cdFx0fVxuXHR9XG59XG5cbi5jYXJlZXJzLWNhcmQge1xuXHRhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtZ3JleTtcblx0XHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsX3JhZGl1cztcblx0fVxuXHRcblx0aDQge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHR9XG5cdGg1IHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcblx0fVxufVxuXG4udGVhbS1jYXJkcyB7XG5cdC5jYXJkLWl0ZW0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFxuXHRcdC5ib3JkZXItaW5uZXIge1xuXHRcdFx0cGFkZGluZzogOHB4O1xuXHRcdH1cblx0XHQuY2FyZC1saW5rIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHRcblx0XHQuY2FyZC1pbWFnZSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogOTAlO1xuXHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZEZpbGw7XG5cdFx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgXG5cdFx0ICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IC8qIElFIDkgKi9cblx0XHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuXHRcdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cdFx0fVxuXHRcdC5jYXJkLWluZm8ge1xuXHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0XHQ+IGgzIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR9XG5cdFx0XHQuY2FyZC1kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuY2FyZC1idXR0b24ge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDI2cHg7XG5cdFx0fVxuXHR9XG59XG4iLCIuc2l0ZXMtYnV0dG9uLFxuLmJ1dHRvbi1ncm91cCAuYnV0dG9uLFxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCBib2R5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25fc2VsZWN0X2ZpbGVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtYnV0dG9uLWJnLWNvbG9yO1xuXHRjb2xvcjogJHRoZW1lLWJ1dHRvbi1jb2xvcjtcbn1cblxuLnBhbmVsLWNvbnRhY3QtZm9ybSB7XG5cdGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbixcblx0Lmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24sIFxuXHQuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9c3VibWl0XSB7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtYnV0dG9uLWJnLWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXHRcbn1cblxuXG5ib2R5IHtcblx0Lmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbixcblx0Lmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24sIFxuXHQuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9c3VibWl0XSwgXG5cdC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciBpbnB1dC5idXR0b24sIFxuXHQuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgaW5wdXRbdHlwZT1zdWJtaXRdIHtcblx0XHRmb250LWZhbWlseTogJHRoZW1lLWJ1dHRvbi1mb250LWZhbWlseTtcblx0XHRwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmcgIWltcG9ydGFudDtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcblx0XHRjb2xvcjogJGJ1dHRvbi1jb2xvcjtcblx0XHRmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cdFx0XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkdGhlbWUtYnV0dG9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTUlKTtcblx0XHRcdGNvbG9yOiAkdGhlbWUtYnV0dG9uLWNvbG9yO1xuXG5cdFx0fVxuXHR9XG59XG4uc2VjdGlvbi1jdGEgLmJ1dHRvbi1ncm91cCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5wICsgLmJ1dHRvbi1ncm91cCB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdCYubm8tbWFyZ2luIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cbn1cbi5idXR0b24tZ3JvdXAge1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdC5idXR0b24ge1xuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR9XG5cdCYubm8tbWFyZ2luIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG4udGV4dC1jZW50ZXIgLmJ1dHRvbi1ncm91cCB7XG5cdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcblx0LmJ1dHRvbiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cbn1cbi5hbGlnbi1jZW50ZXIuYnV0dG9uLWdyb3VwIHtcblx0LmJ1dHRvbiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cbn1cbi5lcXVhbC13aWR0aC5idXR0b24tZ3JvdXAge1xuXHQuYnV0dG9uIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgICAgd2lkdGg6IDY1dnc7XG5cdFx0fVxuXHR9XG59XG5cbi5lbmxhcmdlLWJ1dHRvbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDIwcHg7XG4gICAgbGVmdDogMjBweDtcbn1cblxuLmFyY2hpdmUtbGluayB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xufVxuXG4ubGluay1ib3JkZXIge1xufVxuLmJ1dHRvbi5saW5rLWJvcmRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiAkbWVkaXVtLWdyZXk7XG5cdHBhZGRpbmc6IDRweCAwO1xuXHRtYXJnaW46IDEwcHggMCAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogcmlnaHQgLjRzIGVhc2Utb3V0O1xuXHR0cmFuc2l0aW9uOiByaWdodCAuNHMgZWFzZS1vdXQ7XG5cdC5mYXMge1xuXHRcdGZvbnQtc2l6ZTogMC43ZW07XG5cdH1cblx0JjphZnRlciB7XG5cdCAgICBjb250ZW50OiAnJztcblx0ICAgIC8vd2lkdGg6IDYwcHg7XG5cdFx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRsaWdodC1ibHVlO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogLTRweDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMzAlO1xuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogcmlnaHQgLjRzIGVhc2Utb3V0O1xuXHRcdHRyYW5zaXRpb246IHJpZ2h0IC40cyBlYXNlLW91dDtcblx0fVxuXHQmOmhvdmVyLFxuXHQmOmFjdGl2ZSxcblx0Jjpmb2N1cyB7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRjb2xvcjogJGxpZ2h0LWJsdWUgIWltcG9ydGFudDtcblx0fVxuXHQmOmhvdmVyOjphZnRlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkbGlnaHQtYmx1ZSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cblxufVxuLmJ1dHRvbi5saW5rLWJvcmRlci5saW5rLWJvcmRlci1zbWFsbCB7XG5cdHBhZGRpbmc6IDRweCAwIDJweDtcblx0JjphZnRlciB7XG5cdCAgICB3aWR0aDogNDBweDtcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG5cdFx0Ym90dG9tOiAtMnB4O1xuXHR9XG59XG4udGV4dC1jZW50ZXIgLmJ1dHRvbi5saW5rLWJvcmRlciB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAuNHMgZWFzZS1vdXQsXG5cdFx0XHRcdFx0XHRyaWdodCAuNHMgZWFzZS1vdXQ7XG5cdHRyYW5zaXRpb246IGxlZnQgLjRzIGVhc2Utb3V0LFxuXHRcdFx0XHRyaWdodCAuNHMgZWFzZS1vdXQ7XG5cdCY6YWZ0ZXIge1xuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAuNHMgZWFzZS1vdXQsXG5cdFx0XHRcdFx0XHRcdHJpZ2h0IC40cyBlYXNlLW91dDtcblx0XHR0cmFuc2l0aW9uOiBsZWZ0IC40cyBlYXNlLW91dCxcblx0XHRcdFx0XHRyaWdodCAuNHMgZWFzZS1vdXQ7XG5cdFx0bGVmdDogMjAlO1xuXHRcdHJpZ2h0OiAyMCU7XG5cdH1cblx0Jjpob3Zlcjo6YWZ0ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGxpZ2h0LWJsdWUsICRsaWdodG5lc3M6IC0xNSUpO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cbn1cblxuXG4uY2FyZC1zaGFkb3c6aG92ZXIge1xuXHQuYnV0dG9uLmxpbmstYm9yZGVyIHtcblx0XHQmOjphZnRlciB7XG5cdFx0XHRib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRsaWdodC1ibHVlLCAkbGlnaHRuZXNzOiAtMTUlKTtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdH1cblx0fVxuXHQudGV4dC1jZW50ZXIgLmJ1dHRvbi5saW5rLWJvcmRlciB7XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkbGlnaHQtYmx1ZSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5pbWFnZS1oZWFkZXIsXG4uaW1hZ2UtaGVhZGVyLWxhcmdlIHtcblx0LmJ1dHRvbiB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRwYWRkaW5nOiAwLjU1ZW0gMWVtIDAuNDVlbTtcblx0XHR9XHRcdFxuXHR9XG59XG5cbi5idXR0b24udGhpbiB7XG5cdGZvbnQtc2l6ZTogMS4xcmVtO1xuXHRwYWRkaW5nOiAwLjQ1ZW0gMWVtIDAuMjVlbTtcbn1cblxuIiwiLmNhcmRzLWNvbnRhaW5lciB7XG5cbiAgQGluY2x1ZGUgeHktZ3JpZDtcblxuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG5cbiAgICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAzLCB0cnVlLCAwLjdyZW0gKTtcblxuICAgIH1cblxuICB9XG59XG4iLCIvLyBBcHBseSBvdXRsaW5lIHN0eWxlcyBvbmx5IHdoZW4gaW5wdXQgbWV0aG9kIGlzIGtleWJvYXJkXG4vLyByZW1vdmUgOmZvY3VzIHN0eWxlIHZpYSBXaGF0IElucHV0IHVzaW5nIHByb2dyZXNzaXZlIGVuaGFuY2VtZW50XG4vLyBzbyA6Zm9jdXMgaXNuJ3QgbGVmdCBicm9rZW4gaWYgSmF2YVNjcmlwdCBmYWlsc1xuXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXNcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4iLCIuZnVsbC13aWR0aC10aXRsZSB7XG4gICAgcGFkZGluZzogMzNweCAwIDIwcHggMDtcblxuICAgIGgxIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybSB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZvcm0tYmx1cmIge1xuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLmVudHJ5LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5mb3JtIHtcbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10sXG4gICAgaW5wdXRbdHlwZT0ndGVsJ10sXG4gICAgaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICB0ZXh0YXJlYSxcbiAgICBzZWxlY3Qge1xuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pLFxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjcmVjYXB0Y2hhX3dpZGdldF9kaXYge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmlubGluZS1pbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlubGluZS1pbnB1dC1lbnF1aXJ5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5saW5lLWNoZWNrYm94IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlubGluZS1jaGVja2JveC1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cblxuXG5cbiAgICAuY29udGFjdC1mb3JtX2NvbnRhaW5lciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29udGFjdC1wYWdlX2RldGFpbHNfY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciB7XG5cdGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cdG1hcmdpbjogMDtcblx0XG5cdGgyLmdzZWN0aW9uX3RpdGxlLCBcblx0aDMuZ2Zvcm1fdGl0bGUge1xuICAgIFx0Zm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuXHR9XG5cdC5nZm9ybV9ib2R5IHtcblx0ICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQubGlzdC1kcm9wZG93bi13cmFwIHtcblx0XHRzZWxlY3Qge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXHQuZ2lucHV0X2NvbnRhaW5lciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpICFpbXBvcnRhbnQ7XG5cdH1cblx0Lm5hbWVfZmlyc3QgbGFiZWwsIC5uYW1lX2xhc3QgbGFiZWwge1xuXHRcdC8vZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdC50b3BfbGFiZWwgLmdmaWVsZF9sYWJlbCB7XG5cdFx0Ly9wYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXHQuZmllbGRfc3VibGFiZWxfYmVsb3cgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXHRpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG5cdFx0Y29sb3I6ICRpbnB1dC1jb2xvcjtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblx0XG5cdGxpLmhpZGRlbl9sYWJlbCBpbnB1dCxcblx0dWwgbGkuZ2ZpZWxkLFxuXHQudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYsIFxuXHQudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmLFxuXHQudG9wX2xhYmVsIGRpdi5naW5wdXRfY29udGFpbmVyIHtcblx0ICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcblx0ICAgIHBhZGRpbmctbGVmdDogMDtcblx0fVx0XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYge1xuXHRcdCAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRcdH1cblx0XHQudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIHtcblx0XHQgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXHRcdH1cblx0XHQudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3R3b190aGlyZCB7XG5cdFx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHQgICAgd2lkdGg6IDY2LjYlO1xuXHRcdCAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdCAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuXHRcdCAgICBmbG9hdDogbm9uZTtcblx0XHR9XG5cdFx0LnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfb25lX2ZvdXJ0aCB7XG5cdFx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHQgICAgd2lkdGg6IDI1JTtcblx0XHQgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblx0XHQgICAgcGFkZGluZy1yaWdodDogMTZweDtcblx0XHQgICAgZmxvYXQ6IG5vbmU7XG5cdFx0fVxuXHRcdC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3R3b19maWZ0aCB7XG5cdFx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHQgICAgd2lkdGg6IDQwJTtcblx0XHQgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblx0XHQgICAgcGFkZGluZy1yaWdodDogMTZweDtcblx0XHQgICAgZmxvYXQ6IG5vbmU7XG5cdFx0fVxuXHRcdC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX29uZV9maWZ0aCB7XG5cdFx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHQgICAgd2lkdGg6IDIwJTtcblx0XHQgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblx0XHQgICAgcGFkZGluZy1yaWdodDogMTZweDtcblx0XHQgICAgZmxvYXQ6IG5vbmU7XG5cdFx0fVxuXHRcdC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xhc3RfZmlmdGgge1xuXHRcdCAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ICAgIHdpZHRoOiAyMCU7XG5cdFx0ICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0ICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG5cdFx0ICAgIGZsb2F0OiBub25lO1xuXHRcdH1cbiAgICB9XG5cblxuXHR1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHtcblx0XHQvL3BhZGRpbmc6IDA7XG5cdFx0Y2xlYXI6IG5vbmU7XG5cdH1cblxuXHQudG9wX2xhYmVsIC5nZmllbGRfbGFiZWwge1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNyk7XG5cdH1cblx0LmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCwgXG5cdC5nZmllbGRfcmFkaW8gbGkgbGFiZWwge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuXHR9XG5cdC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXQsIFxuXHQuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdLCBcblx0LmdmaWVsZF9yYWRpbyBsaSBpbnB1dFt0eXBlPXJhZGlvXSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdFx0bWFyZ2luLXRvcDogLTVweCAhaW1wb3J0YW50O1xuXHR9XG5cdC5maWVsZF9kZXNjcmlwdGlvbl9iZWxvdyAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcblx0ICAgIHBhZGRpbmctdG9wOiA1cHg7XG5cdH1cblxuXHQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHQgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG5cdH1cblx0XG5cdDotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cblx0ICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuXHR9XG5cdFxuXHQ6Oi1tb3otcGxhY2Vob2xkZXIgeyAgLyogRmlyZWZveCAxOSsgKi9cblx0ICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuXHR9XG5cdFxuXHQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0ICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuXHR9XG5cdHNlbGVjdCBvcHRpb246Zmlyc3QtY2hpbGQge1xuXHQgIGNvbG9yOiAkbGlnaHQtZ3JheTtcblx0fVxuXHRzZWxlY3Qgb3B0aW9uIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KSAhaW1wb3J0YW50O1xuXHR9XG5cblx0aW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImJ1dHRvblwiXSk6bm90KFt0eXBlPVwiaW1hZ2VcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pIHtcblx0ICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuXHQgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdH1cblx0Ji5nZl9icm93c2VyX2dlY2tvIHNlbGVjdCxcblx0Ji5nZl9icm93c2VyX2Nocm9tZSBzZWxlY3Qge1xuXHQgICAgcGFkZGluZzogMnB4IDI0cHggMnB4IDhweDtcblx0fVxuXHQuZ2Zvcm1fZm9vdGVyIHtcblx0XHQvL3BhZGRpbmc6IHJlbS1jYWxjKDAgOSk7XG5cdH1cbiAgICAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5nZl9yZWFkb25seSB7XG5cdCAgICAuZ2ZpZWxkX2xhYmVsIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7IFxuXHQgICAgfVxuXHRcdCYubG9jYXRpb24tbmFtZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdCAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdCAgICB0ZXh0YXJlYVtyZWFkb25seV0ge1xuXHRcdCAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0ICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdCAgICBib3JkZXI6IDAgbm9uZTtcblx0XHQgICAgZm9udC1zaXplOiAxLjhlbTtcblx0XHQgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblx0XHQgICAgaGVpZ2h0OiBhdXRvO1xuXHRcdCAgICBtYXgtaGVpZ2h0OiAzN3B4O1xuXHRcdCAgICBtaW4taGVpZ2h0OiAwO1xuXHRcdH1cblx0ICAgIGlucHV0W3JlYWRvbmx5XSB7XG5cdFx0ICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0ICAgIGJvcmRlcjogMCBub25lO1xuXHRcdCAgICBmb250LXNpemU6IDEuOGVtO1xuXHRcdCAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdH1cblx0XHQmLmxvY2F0aW9uLWNvbnRhY3Qge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHQgICAgdGV4dGFyZWFbcmVhZG9ubHldIHtcblx0XHRcdCAgICBmb250LXNpemU6IDEuM2VtO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0fVxuICAgIH1cbiAgICBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCwgXG4gICAgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwsIFxuICAgIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLCBcbiAgICBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCwgXG4gICAgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsIFxuICAgIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcblx0ICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXHR9XG59XG4ubG9jYXRpb24tbmFtZSxcbi5sb2NhdGlvbi1jb250YWN0IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi5wYW5lbC1jb250YWN0LWZvcm0ge1xuXHQubG9jYXRpb24tbmFtZSxcblx0LmxvY2F0aW9uLWNvbnRhY3Qge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbi5mb3JtLWNvbHVtbnMge1xuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQuZ2Zvcm1fbXVsdGlfY29sdW1uX3dyYXBwZXIgLmdmb3JtX2JvZHksXG5cdFx0Lmdmb3JtX3BhZ2VfbXVsdGlfY29sdW1uIC5nZm9ybV9wYWdlX2ZpZWxkcyB7XG5cdFx0XHRtYXJnaW4tbGVmdDogLThweDtcblx0XHRcdG1hcmdpbi1yaWdodDogLThweDtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAxNnB4KSAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQuZ2Zvcm1fbXVsdGlfY29sdW1uX3dyYXBwZXIgLmdmb3JtX2JvZHk6YWZ0ZXIsXG5cdFx0Lmdmb3JtX3BhZ2VfbXVsdGlfY29sdW1uIC5nZm9ybV9wYWdlX2ZpZWxkczphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnICc7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdH1cblx0XHQuZ2Zvcm1fbXVsdGlfY29sdW1uX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzLFxuXHRcdC5nZm9ybV9wYWdlX211bHRpX2NvbHVtbiB1bC5nZm9ybV9maWVsZHMge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmctbGVmdDogOHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogOHB4O1xuXHRcdH1cblx0XHQuZ2Zvcm1fY29sdW1uX2NvdW50XzJfd3JhcHBlciB1bC5nZm9ybV9maWVsZHMsXG5cdFx0Lmdmb3JtX3BhZ2VfY29sdW1uX2NvdW50XzIgdWwuZ2Zvcm1fZmllbGRzIHtcblx0XHRcdHdpZHRoOiA2MCU7XG5cdFx0fVxuXHRcdC5nZm9ybV9jb2x1bW5fY291bnRfMl93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcy5jb2x1bW5fMixcblx0XHQuZ2Zvcm1fcGFnZV9jb2x1bW5fY291bnRfMiB1bC5nZm9ybV9maWVsZHMuY29sdW1uXzIge1xuXHRcdFx0d2lkdGg6IDQwJTtcblx0XHR9XG5cdFx0Lmdmb3JtX2NvbHVtbl9jb3VudF8zX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzLFxuXHRcdC5nZm9ybV9wYWdlX2NvbHVtbl9jb3VudF8zIHVsLmdmb3JtX2ZpZWxkcyB7XG5cdFx0XHR3aWR0aDogMzMuMzMzMzMzJTtcblx0XHR9XG5cdFx0Lmdmb3JtX2NvbHVtbl9jb3VudF80X3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzLFxuXHRcdC5nZm9ybV9wYWdlX2NvbHVtbl9jb3VudF80IHVsLmdmb3JtX2ZpZWxkcyB7XG5cdFx0XHR3aWR0aDogMjUlO1xuXHRcdH1cblx0XHQuZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYS5tZWRpdW0ge1xuXHRcdCAgICBoZWlnaHQ6IDIyNXB4O1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0Lmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEubWVkaXVtIHtcblx0XHQgICAgaGVpZ2h0OiAyNDBweDtcblx0XHR9XG5cdH1cdFxufVxuXG4uaGlkZS1hY2NvbW1vZGF0aW9uLWNoZWNrYm94IHtcblx0LmFjY29tbW9kYXRpb24tY2hlY2tib3gge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbi5oaWRlLXNlc3Npb24tZmllbGQge1xuXHQuZm9ybS1maWVsZC1zZXNzaW9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCB7XG5cdCYubG9jYXRpb24tbmFtZSxcblx0Ji5sb2NhdGlvbi1jb250YWN0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbmJvZHkgLnBhbmVsLWNvbnRhY3QtZm9ybSAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHtcblx0Ji5sb2NhdGlvbi1uYW1lLFxuXHQmLmxvY2F0aW9uLWNvbnRhY3Qge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLy9TZWFyY2ggRm9ybSBcblxuJHNlYXJjaC1pbnB1dC1oZWlnaHQ6IDYwcHg7XG5cbiNzZWFyY2gtY29udGFpbmVyLXdyYXBwZXIge1xuXHR3aWR0aDogODAlO1xuXHRtYXJnaW46IDAgYXV0bztcbn1cbiNzZWFyY2gtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAkc2VhcmNoLWlucHV0LWhlaWdodDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cblx0LXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuXHQtbW96LXRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG5cdHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG5cblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zZWFyY2hib3gge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbiAgICAtbW96LXRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG4gICAgLW1zLXRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG4gICAgLW8tdHJhbnNpdGlvbjogd2lkdGggMC4zcztcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xufVxuXG4uc2VhcmNoYm94LWlucHV0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogJHNlYXJjaC1pbnB1dC1oZWlnaHQ7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHR6LWluZGV4OiAxMDtcblx0cGFkZGluZzogMTRweCA2NXB4IDEwcHggMjBweCAhaW1wb3J0YW50O1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiAzMnB4O1xuXHRjb2xvcjogIzJjM2U1MDtcbiAgICBcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5zZWFyY2hib3gtaW5wdXQge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMHB4O1xufVxuLnNlYXJjaGJveC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRkYXJrLWJsdWU7XG59XG4uc2VhcmNoYm94LWlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkZGFyay1ibHVlO1xufVxuLnNlYXJjaGJveC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRkYXJrLWJsdWU7XG59XG4uc2VhcmNoYm94LWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRkYXJrLWJsdWU7XG59XG5cbi5zZWFyY2hib3gtaWNvbixcbi5zZWFyY2hib3gtc3VibWl0IHtcblx0d2lkdGg6ICRzZWFyY2gtaW5wdXQtaGVpZ2h0O1xuXHRoZWlnaHQ6ICRzZWFyY2gtaW5wdXQtaGVpZ2h0O1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGxpbmUtaGVpZ2h0OiAkc2VhcmNoLWlucHV0LWhlaWdodDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpob3ZlciB7XG4gICAgXHRjb2xvcjogIzc3Nzc3NztcbiAgICB9XG59XG5cbi5zZWFyY2hib3gtc3VibWl0IHtcblx0YmFja2dyb3VuZDogI2ZmZjsgLyogSUUgbmVlZHMgdGhpcyAqL1xuXHQtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7IC8qIElFIDggKi9cbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7IC8qIElFIDUtNyAqL1xuICAgIG9wYWNpdHk6IDA7XG5cdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHR6LWluZGV4OiAtMTtcbn1cblxuLnNlYXJjaGJveC1pY29uIHtcblx0Y29sb3I6ICNmZmY7XG5cdGJhY2tncm91bmQ6ICRkYXJrLWJsdWU7XG5cdHotaW5kZXg6IDkwO1xuXHRmb250LXNpemU6IDMwcHg7XG5cdGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG5cdHNwZWFrOiBub25lO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG4ubWVudS1pdGVtIC5zZWFyY2hib3gtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMjJweDtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0bGluZS1oZWlnaHQ6IDQwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbi5zZWFyY2hib3gtaWNvbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTAwMFwiO1xufVxuKi9cblxuLm1vYmlsZS1zZWFyY2gge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgLmljb24tY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5zZWFyY2hCdG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRkYXJrLWdyYXksIDIlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tb2JpbGUtc2VhcmNoLWlucHV0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkZGFyay1ncmF5LCAyJSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgb3V0bGluZS1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWljb24ge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuZm9ybSNkZXNpZ25Gb3JtIHtcblx0Ly93aWR0aDogMjAwcHg7XG5cdHNlbGVjdCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7IFxuXHRcdHBhZGRpbmc6IDdweCA1MHB4IDdweCAxM3B4ICFpbXBvcnRhbnQ7IFxuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyBcblx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgXG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMXB4IDhweDtcblx0ICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk1JSBjZW50ZXI7XG5cdCAgICBiYWNrZ3JvdW5kLW9yaWdpbjogcGFkZGluZy1ib3g7IFxuXHRcdGZvbnQtc2l6ZTogMTZweDsgXG5cdFx0bGluZS1oZWlnaHQ6IDEuMSAhaW1wb3J0YW50OyBcblx0XHRhcHBlYXJhbmNlOiBub25lOyAvKiB0aGlzIGlzIG11c3QgKi8gXG5cdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyBcblx0XHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cblx0XHRvcHRpb24geyBcblx0XHRcdHBhZGRpbmc6IDAgNHB4O1xuXHRcdH1cblxuXHR9XG59XG4udGl0bGUtYmFyLWp1bXAtbWVudSB7XG5cdGZvcm0jZGVzaWduRm9ybSB7XG5cdFx0c2VsZWN0IHtcblx0XHRcdHBhZGRpbmc6IDEwcHggMzBweCA4cHggOHB4ICFpbXBvcnRhbnQ7IFxuXHRcdFx0Zm9udC1zaXplOiAxNnB4OyBcdFx0XG5cdFx0fVxuXHR9XG59XG5cbi8vIFJhbmdlIHNsaWRlclxuJHJhbmdlLXNsaWRlci10cmFjay1jb2xvdXI6ICRsaWdodC1ibHVlO1xuJHJhbmdlLXNsaWRlci10cmFjay1zaXplOiA2cHg7XG4kcmFuZ2Utc2xpZGVyLXRyYWNrLXJhZGl1czogMDtcbiRyYW5nZS1zbGlkZXItZmlsbC1jb2xvdXI6ICRsaWdodC1ibHVlO1xuJHJhbmdlLXNsaWRlci10aHVtYi1jb2xvdXI6ICRsaWdodC1ibHVlO1xuJHJhbmdlLXNsaWRlci10aHVtYi1zaXplOiAzMHB4O1xuJHJhbmdlLXNsaWRlci10aHVtYi1ib3JkZXI6IDZweDtcbiRyYW5nZS1zbGlkZXItdGh1bWItbWFyZ2luOiAoJHJhbmdlLXNsaWRlci10aHVtYi1zaXplIC0gJHJhbmdlLXNsaWRlci10cmFjay1zaXplKS8yO1xuXG5cbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKm1hcmdpbjogMCBhdXRvOyovXG4gIHdpZHRoOiAxMDAlO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHJhbmdlLXNsaWRlci10cmFjay1zaXplO1xuICAvKmJvcmRlci10b3A6IDFweCBzb2xpZCAjYjk5NDAwOyovXG4gIC8qYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmQ2MzE7Ki9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKmFuaW1hdGU6IDAuMnM7Ki9cbiAgLypib3gtc2hhZG93OiAwcHggMHB4IDBweCAjMDAwMDAwLCAwcHggMHB4IDBweCAjMGQwZDBkOyovXG4gIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItdHJhY2stY29sb3VyO1xuICBib3JkZXItcmFkaXVzOiAkcmFuZ2Utc2xpZGVyLXRyYWNrLXJhZGl1cztcbiAgLypib3JkZXI6IDBweCBzb2xpZCAjMDAwMTAxOyovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTtcbn1cbmlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIC8qYm94LXNoYWRvdzogMHB4IDBweCAwcHggIzAwMDAwMCwgMHB4IDBweCAwcHggIzBkMGQwZDsqL1xuICBib3JkZXI6ICRyYW5nZS1zbGlkZXItdGh1bWItYm9yZGVyIHNvbGlkICRyYW5nZS1zbGlkZXItdGh1bWItY29sb3VyO1xuICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItdGh1bWItc2l6ZTtcbiAgd2lkdGg6ICRyYW5nZS1zbGlkZXItdGh1bWItc2l6ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLSRyYW5nZS1zbGlkZXItdGh1bWItbWFyZ2luO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2U7XG59XG4vKmlucHV0W3R5cGU9cmFuZ2VdOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG59Ki9cbmlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNrIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogJHJhbmdlLXNsaWRlci10cmFjay1zaXplO1xuXHQvKmJvcmRlci10b3A6IDFweCBzb2xpZCAjYjk5NDAwOyovXG5cdC8qYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmQ2MzE7Ki9cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRhbmltYXRlOiAwLjJzO1xuXHQvKmJveC1zaGFkb3c6IDBweCAwcHggMHB4ICMwMDAwMDAsIDBweCAwcHggMHB4ICMwZDBkMGQ7Ki9cblx0YmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci10cmFjay1jb2xvdXI7XG5cdGJvcmRlci1yYWRpdXM6ICRyYW5nZS1zbGlkZXItdHJhY2stcmFkaXVzO1xuXHQvKmJvcmRlcjogMHB4IHNvbGlkICMwMDAxMDE7Ki9cblx0LXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXM7XG5cdC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcztcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAvKmJveC1zaGFkb3c6IDBweCAwcHggMHB4ICMwMDAwMDAsIDBweCAwcHggMHB4ICMwZDBkMGQ7Ki9cbiAgYm9yZGVyOiAzcHggc29saWQgJHJhbmdlLXNsaWRlci10aHVtYi1jb2xvdXI7XG4gIGhlaWdodDogJHJhbmdlLXNsaWRlci10aHVtYi1zaXplO1xuICB3aWR0aDogJHJhbmdlLXNsaWRlci10aHVtYi1zaXplO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW4tdG9wOiAtMTRweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6ICRyYW5nZS1zbGlkZXItdHJhY2stc2l6ZTtcblx0Lypib3JkZXItdG9wOiAxcHggc29saWQgI2I5OTQwMDsqL1xuXHQvKmJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZkNjMxOyovXG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YW5pbWF0ZTogMC4ycztcblx0Lypib3gtc2hhZG93OiAwcHggMHB4IDBweCAjMDAwMDAwLCAwcHggMHB4IDBweCAjMGQwZDBkOyovXG5cdC8qcmVtb3ZlIGJnIGNvbG91ciBmcm9tIHRoZSB0cmFjaywgd2UnbGwgdXNlIG1zLWZpbGwtbG93ZXIgYW5kIG1zLWZpbGwtdXBwZXIgaW5zdGVhZCAqL1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XG5cdC8qbGVhdmUgcm9vbSBmb3IgdGhlIGxhcmdlciB0aHVtYiB0byBvdmVyZmxvdyB3aXRoIGEgdHJhbnNwYXJlbnQgYm9yZGVyICovXG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci13aWR0aDogMjBweCAwO1xuXHRcblx0LypyZW1vdmUgZGVmYXVsdCB0aWNrIG1hcmtzKi9cblx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXHQvL2JhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItdHJhY2stY29sb3VyO1xuXHQvL2JvcmRlci1yYWRpdXM6ICRyYW5nZS1zbGlkZXItdHJhY2stcmFkaXVzO1xuXHQvKmJvcmRlcjogMHB4IHNvbGlkICMwMDAxMDE7Ki9cblx0LXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcblx0LW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2VyIHtcblx0YmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1maWxsLWNvbG91cjtcblx0Ym9yZGVyOiAwcHggc29saWQgIzAwMDEwMTtcblx0Ym9yZGVyLXJhZGl1czogJHJhbmdlLXNsaWRlci10cmFjay1yYWRpdXM7XG59XG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtdXBwZXIge1xuXHRiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLXRyYWNrLWNvbG91cjtcblx0Ym9yZGVyOiAwcHggc29saWQgIzAwMDEwMTtcblx0Ym9yZGVyLXJhZGl1czogJHJhbmdlLXNsaWRlci10cmFjay1yYWRpdXM7XG59XG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRodW1iIHtcblx0Lypib3gtc2hhZG93OiAwcHggMHB4IDBweCAjMDAwMDAwLCAwcHggMHB4IDBweCAjMGQwZDBkOyovXG5cdGJvcmRlcjogM3B4IHNvbGlkICRyYW5nZS1zbGlkZXItdGh1bWItY29sb3VyO1xuXHRoZWlnaHQ6ICRyYW5nZS1zbGlkZXItdGh1bWItc2l6ZTtcblx0d2lkdGg6ICRyYW5nZS1zbGlkZXItdGh1bWItc2l6ZTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXIgMC4xcztcblx0LW8tdHJhbnNpdGlvbjogYm9yZGVyIDAuMXM7XG5cdHRyYW5zaXRpb246IGJvcmRlciAwLjFzO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXM6Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1maWxsLWNvbG91cjtcbn1cbmlucHV0W3R5cGU9cmFuZ2VdOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XG4gIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItdHJhY2stY29sb3VyO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTpob3Zlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLXRyYWNrLWNvbG91cjtcbn1cbmlucHV0W3R5cGU9cmFuZ2VdOmhvdmVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIC8qYmFja2dyb3VuZDogI2ZmZjsqL1xuICBib3JkZXItY29sb3I6ICRyYW5nZS1zbGlkZXItdGh1bWItY29sb3VyO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItdHJhY2stY29sb3VyO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIC8qYmFja2dyb3VuZDogI2ZmZjsqL1xuICBib3JkZXItY29sb3I6ICRyYW5nZS1zbGlkZXItdGh1bWItY29sb3VyO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTpob3Zlcjo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItdHJhY2stY29sb3VyO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06aG92ZXI6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICRyYW5nZS1zbGlkZXItdGh1bWItY29sb3VyO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci10cmFjay1jb2xvdXI7XG59XG5pbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICRyYW5nZS1zbGlkZXItdGh1bWItY29sb3VyO1xufVxuLyppbnB1dFt0eXBlPXJhbmdlXTpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTtcbn0qL1xuXG5cblxuLypTdHlsaW5nIFNlbGVjdGJveCovXG4vKlxuLmxvY2F0aW9uLXNlYXJjaCB7XG5cdC5kcm9wZG93biB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0Ym9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7XG5cdFx0dHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQvL2ZvbnQtc2l6ZTogMS42ZW07XG5cdFx0Y29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdHdpZHRoOiAzMDBweDtcblx0XHR9XHRcblx0fVxuXHQuZHJvcGRvd24gLnNlbGVjdCB7XG5cdCAgICBjdXJzb3I6IHBvaW50ZXI7XG5cdCAgICBkaXNwbGF5OiBibG9jaztcblx0ICAgIHBhZGRpbmc6IDEwcHhcblx0fVxuXHQuZHJvcGRvd24gLnNlbGVjdCA+IGkge1xuXHQgICAgZm9udC1zaXplOiAxM3B4O1xuXHQgICAgY29sb3I6ICM4ODg7XG5cdCAgICBjdXJzb3I6IHBvaW50ZXI7XG5cdCAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuXHQgICAgZmxvYXQ6IHJpZ2h0O1xuXHQgICAgbGluZS1oZWlnaHQ6IDIwcHhcblx0fVxuXHQuZHJvcGRvd246aG92ZXIge1xuXHQgICAgYm94LXNoYWRvdzogMCAwIDRweCByZ2IoMjA0LCAyMDQsIDIwNClcblx0fVxuXHQuZHJvcGRvd246YWN0aXZlIHtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjhcblx0fVxuXHQuZHJvcGRvd24uYWN0aXZlOmhvdmVyLFxuXHQuZHJvcGRvd24uYWN0aXZlIHtcblx0ICAgIGJveC1zaGFkb3c6IDAgMCA0cHggcmdiKDIwNCwgMjA0LCAyMDQpO1xuXHQgICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4XG5cdH1cblx0LmRyb3Bkb3duLmFjdGl2ZSAuc2VsZWN0ID4gaSB7XG5cdCAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpXG5cdH1cblx0LmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdCAgICB3aWR0aDogMTAwJTtcblx0ICAgIGxlZnQ6IDA7XG5cdCAgICBtYXJnaW4tdG9wOiAxcHg7XG5cdCAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiKDIwNCwgMjA0LCAyMDQpO1xuXHQgICAgYm9yZGVyLXJhZGl1czogMCAxcHggNXB4IDVweDtcblx0ICAgIG92ZXJmbG93OiBoaWRkZW47XG5cdCAgICBkaXNwbGF5OiBub25lO1xuXHQgICAgbWF4LWhlaWdodDogMTQ0cHg7XG5cdCAgICBvdmVyZmxvdy15OiBhdXRvO1xuXHQgICAgei1pbmRleDogOVxuXHR9XG5cdC5kcm9wZG93biAuZHJvcGRvd24tbWVudSBsaSB7XG5cdCAgICBwYWRkaW5nOiAxMHB4O1xuXHQgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblx0ICAgIGN1cnNvcjogcG9pbnRlclxuXHR9IFxuXHQuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuXHQgICAgcGFkZGluZzogMDtcblx0ICAgIGxpc3Qtc3R5bGU6IG5vbmVcblx0fVxuXHQuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgbGk6aG92ZXIge1xuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMlxuXHR9XG5cdC5kcm9wZG93biAuZHJvcGRvd24tbWVudSBsaTphY3RpdmUge1xuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMlxuXHR9XHRcbn1cbiovXG5cbi8qKipcbiAqIGRyb3BTZWxlY3QgalF1ZXJ5IFBsdWdpblxuICogKGMpIEhhcm1vbnkgSW5zdGl0dXRlXG4gKiBodHRwOi8vaGluc3RpdHV0ZS5naXRodWIuaW8vZHJvcFNlbGVjdC9cbiAqIE1JVCBMaWNlbnNlIC0gUGxlYXNlIGtlZXAgdGhpcyBoZWFkZXIuXG4qKiovXG4uZHJvcFNlbGVjdCB7XG5cdGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtYmx1ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDEwO1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4O1xuXHRcdHdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuXHR9XHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdHdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xuXHR9XHRcblxufVxuXG4uZHJvcFNlbGVjdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG59XG5cbi5kcm9wU2VsZWN0IGRpdi5zZWxlY3RlZCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMS45NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbSAwLjNlbTtcbn1cblxuLmRyb3BTZWxlY3QgZGl2Lmljb24tYXJyb3ctZG93biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XG4gICAgcmlnaHQ6IDEuM3JlbTtcbiAgICB0b3A6IDEuM3JlbTtcbn1cblxuLmRyb3BTZWxlY3QgZGl2Lmljb24tYXJyb3ctZG93bjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6XCLilrxcIjtcbn1cblxuLmRyb3BTZWxlY3QgZGl2Lml0ZW1zIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAvKiBzaG93IDQgaXRlbXMuIHRvIHNob3cgMywgY2hhbmdlIHRoZSBtdWx0aXBsaWVyIHRvIDMgKi9cbiAgICAvL2hlaWdodDogY2FsYyg0cmVtICogNCk7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyOiBpbmhlcml0O1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4uZHJvcFNlbGVjdDpob3ZlciBkaXYuaXRlbXMge1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRsaWdodC1ibHVlO1xufVxuXG4uZHJvcFNlbGVjdCBkaXYuaXRlbXMgYSB7XG4gICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4zZW0gMS42cmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxuLmRyb3BTZWxlY3QgZGl2Lml0ZW1zIGEuYWN0aXZlLFxuLmRyb3BTZWxlY3QgZGl2Lml0ZW1zIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmRyb3BTZWxlY3QgZGl2Lml0ZW1zIGE6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciB7XG5cdC5hcHBsaWNhdGlvbi1mb3JtIHtcblx0XHQuZ2ZfcHJvZ3Jlc3NiYXI6YWZ0ZXIge1xuXHRcdCAgICBtYXJnaW4tdG9wOiAtNDRweDtcblx0ICAgIH1cblx0XHQuZ3NlY3Rpb24ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0ICAgIGJvcmRlci1ib3R0b206IDAgbm9uZTtcblx0XHQgICAgcGFkZGluZzogMTZweCAxNnB4IDhweCAxNnB4ICFpbXBvcnRhbnQ7XG5cdFx0ICAgIG1hcmdpbjogMjhweCAwIDI4cHggMDtcblx0XHQgICAgY2xlYXI6IGJvdGg7XG5cdFx0ICAgIC5nc2VjdGlvbl90aXRsZSB7XG5cdFx0XHQgICAgY29sb3I6ICR3aGl0ZTtcblx0XHQgICAgfVxuXHRcdCAgICAuZ3NlY3Rpb25fZGVzY3JpcHRpb24ge1xuXHRcdFx0ICAgIGNvbG9yOiAkd2hpdGU7XG5cdFx0XHQgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXHRcdCAgICB9XG5cdFx0fVxuXHRcdC5nZmllbGQgKyAuZ3NlY3Rpb24ge1xuXHRcdCAgICBtYXJnaW4tdG9wOiAyOHB4ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdC50b3BfbGFiZWwgLmdmaWVsZF9sYWJlbCB7XG5cdFx0ICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdCAgICBmb250LXNpemU6IDEuMjYyNXJlbTtcblx0XHR9XG5cdFx0LnRvcF9sYWJlbCBsaS5nZmllbGQge1xuXHRcdCAgICAvL2JhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG5cdFx0ICAgIC8vcGFkZGluZzogMTBweDtcblx0XHQgICAgLy9tYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdH1cblx0XHQudG9wX2xhYmVsIGRpdi5naW5wdXRfY29udGFpbmVyIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0LmdmaWVsZF9kZXNjcmlwdGlvbiB7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0XHR1bCBsaS5nZmllbGQuZ2ZfZm9ybV9zcGFjZXIge1xuXHRcdFx0bWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAjZWVlO1xuXHRcdH1cblx0XHQudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkLCBcblx0XHQudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQsIFxuXHRcdC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkLCBcblx0XHQudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYsIFxuXHRcdC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYge1xuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdH1cblx0XHQuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLCBcblx0XHQuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcblx0XHQgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuXHRcdCAgICBsaW5lLWhlaWdodDogMS4yO1xuXHRcdH1cblx0XHQuZ2ZfbGlzdF9pbmxpbmUgLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCwgXG5cdFx0LmdmX2xpc3RfaW5saW5lIC5nZmllbGRfcmFkaW8gbGkgbGFiZWwge1xuXHQgICAgXHR3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdC5nZl9maWVsZF9pbmRlbnQge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA2MHB4O1xuXHRcdH1cblx0XHQuZ2ZfZmllbGRfZGl2aWRlcl9hYm92ZSB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyZXk7XG5cdFx0ICAgIG1hcmdpbi10b3A6IDE2cHg7XG5cdFx0ICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuXHRcdH1cblx0XHQuZm9ybS10YWJsZS1oZWFkaW5nIHtcblx0XHRcdGg0IHtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0XHRjb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5mb3JtLXRhYmxlIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWJsdWU7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IC0ycHg7XG5cdFx0fVxuXHRcdC5nZl90YWJsZV9oZWFkZXIge1xuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRwYWRkaW5nOiAxMHB4IDE2cHggOHB4IDE2cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdFx0LmdmX3RhYmxlX2xhYmVsIHtcblx0XHQgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRcdFx0cGFkZGluZzogMTZweCAxNnB4IDEycHggMTZweDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JleTtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcblx0XHRcdGkge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5nZl90YWJsZV9pbnB1dCB7XG5cdFx0ICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRcdHBhZGRpbmc6IDEwcHggMTZweCAxMnB4IDE2cHg7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyZXk7XG5cdFx0XHRkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdCguZ2lucHV0X3F1YW50aXR5KSB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogI2RkZDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmdmX3RhYmxlX2lucHV0LmdmX2xhc3RfZmlmdGgge1xuXHRcdH1cblx0XHQuZ2ZfdGFibGVfY29sdW1uX3RvdGFsIHtcblx0XHQgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRcdFx0cGFkZGluZzogMTBweCAxNnB4IDEycHggMTZweDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JleTtcblx0XHRcdFxuXHRcdFx0aW5wdXRbcmVhZG9ubHldIHtcblx0XHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwcHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuZ2ZfdGFibGVfbGFiZWxfdG90YWwge1xuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRwYWRkaW5nOiAxNnB4IDE2cHggMTJweCAxNnB4O1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRkYXJrLWJsdWU7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR9XG5cdFx0LmdmX3RhYmxlX2lucHV0X3RvdGFsIHtcblx0XHQgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRcdFx0cGFkZGluZzogMTBweCAxNnB4IDEycHggMTZweDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZGFyay1ibHVlO1xuXHRcdFx0XG5cdFx0XHRkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdCguZ2lucHV0X3F1YW50aXR5KSB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogI2RkZDtcblx0XHRcdH1cblx0XHRcdGlucHV0W3JlYWRvbmx5XSB7XG5cdFx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci13aWR0aDogMHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmdmX3RhYmxlX3Jvd190b3RhbCB7XG5cdFx0ICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRcdHBhZGRpbmc6IDEwcHggMTZweCAxMnB4IDE2cHg7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGRhcmstYmx1ZTtcblx0XHR9XG5cdFx0XHRcblx0XHRcdGlucHV0W3JlYWRvbmx5XSB7XG5cdFx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci13aWR0aDogMHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdH1cblx0fVxufVxuIiwiXG4uYWNjb3JkaW9uLXRpdGxlIHtcblx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG5cdC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6ICR0aGVtZS1hY2NvcmRpb24tdGl0bGUtY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1hY2NvcmRpb24tdGl0bGUtYmc7XG5cdGJvcmRlcjogMXB4IHNvbGlkICR0aGVtZS1hY2NvcmRpb24tdGl0bGUtYm9yZGVyO1xuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRjb2xvcjogJHRoZW1lLWFjY29yZGlvbi10aXRsZS1jb2xvci1ob3Zlcjtcblx0fVxufVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkdGhlbWUtYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuXHRib3JkZXItdG9wOiAwIG5vbmU7XG5cblx0aW1nIHtcblx0XHRtYXgtd2lkdGg6IDYwMHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5wYWdlLXRlbXBsYXRlLW5ld3MtYXJjaGl2ZSB7XG5cdC5hY2NvcmRpb24taXRlbSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0bWFyZ2luLXRvcDogMzBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdFx0bWFyZ2luLXRvcDogNDBweDtcblx0XHR9XG5cdH1cblx0XG5cdC5hY2NvcmRpb24tY29udGVudCB7XG5cdFx0XG5cdFx0dWwge1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFxuXHRcdFx0bGkge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmFyY2hpdmUtcG9zdHMge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGxpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHR9XG5cdFx0LmFyY2hpdmUtcG9zdC1kYXRlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1hY2NvcmRpb24tZGF0ZS1iZztcblx0XHRcdGNvbG9yOiAkdGhlbWUtYWNjb3JkaW9uLWRhdGUtY29sb3I7XG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHR9XG5cdFx0LmFyY2hpdmUtcG9zdC10aXRsZSB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRjb2xvcjogJHRoZW1lLWFjY29yZGlvbi1saW5rLWNvbG9yO1xuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkdGhlbWUtYWNjb3JkaW9uLWxpbmstY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5wb3N0LXRhZ3Mge1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHR9XG5cblxuXHR9XG59XG5cbi5uZXdzLWFjY29yZGlvbnMge1xuXHQuYWNjb3JkaW9uLWl0ZW0ge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdG1hcmdpbi10b3A6IDE1cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQuYWNjb3JkaW9uLWNvbnRlbnQge1xuXHRcdFxuXG5cdH1cbn0iLCIuaGVyby13cmFwcGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG59XG4uaGVybyB7XG5cdGJvcmRlci10b3A6IDZweCBzb2xpZCAjZmZmO1xuXHRib3JkZXItbGVmdDogNnB4IHNvbGlkICNmZmY7XG5cdGJvcmRlci1yaWdodDogNnB4IHNvbGlkICNmZmY7XG59XG4uaGVyby1pbm5lciB7XG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmZmO1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZmY7XG5cdGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZmY7XG5cdG1hcmdpbi10b3A6IDRweDtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdHBhZGRpbmctdG9wOiA1cHg7XG5cdHBhZGRpbmctbGVmdDogNXB4O1xuXHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cblxuLmhlcm8taW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGhlaWdodDogMzkwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQuaW1hZ2UtY2FwdGlvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMTBweDtcblx0XHRyaWdodDogNDBweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMyk7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRwYWRkaW5nOiAwIDVweDtcblx0fVxuXHRAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG5cdFx0aGVpZ2h0OiA2MDBweDtcblx0fVxuXG5cdC5oZXJvX292ZXJsYXkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDE1cHg7XG5cdFx0aGVpZ2h0OiAyOTBweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG5cdFx0QG1lZGlhICN7JG1lZGl1bS11cH0ge1xuXHRcdFx0d2lkdGg6IDQ1MHB4O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDExNXB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDQwcHg7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0fVxuXG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHR9XG5cblx0XHQuaGVyb19jb250ZW50IHtcblx0XHRcdGg1IHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQ1cHg7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG5cdFx0XHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA3NXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5oZXJvLWhlYWRpbmcge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAtMjBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQzcHg7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuXHRcdFx0XHRcblx0XHRcdFx0QG1lZGlhICN7JG1lZGl1bS11cH0ge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IC0zMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiA3N3B4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA2OHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiA3N3B4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcblx0XHRcdFx0XHRmb250LXNpemU6IDU1cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHNwYW4uaGVyby10ZXh0IHtcblx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG5cdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuaGVyby11bmRlcmxpbmUge1xuXHRcdFx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuaGVyby1kb3Qge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMTJweCAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5uZXdzLWltYWdlIHtcbiAgICAvL2hlaWdodDogMjAwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn0iLCIvKiFcbiAqIEhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICovXG5cbi8vIFNldHRpbmdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgICAgICAgICAgICAgIDogNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgICAgICAgICAgICAgIDogNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgICAgICAgICAgICAgIDogMjZweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICAgICAgICAgICAgICA6IDNweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAgICAgICAgICAgICAgICAgICA6IDVweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItY29sb3IgICAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS10aXRsZS1iYXItY29sb3IgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgOiAycHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgICAgICAgICAgICAgOiAwLjcgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb24gICAgICAgOiAwLjE1cyAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhZGVmYXVsdDtcblxuLy8gVG8gdXNlIENTUyBmaWx0ZXJzIGFzIHRoZSBob3ZlciBlZmZlY3QgaW5zdGVhZCBvZiBvcGFjaXR5LFxuLy8gc2V0ICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciBhcyB0cnVlIGFuZFxuLy8gY2hhbmdlIHRoZSB2YWx1ZSBvZiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciBhY2NvcmRpbmdseS5cbiRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlcjogZmFsc2UgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAgICA6IG9wYWNpdHkoNTAlKSAhZGVmYXVsdDtcblxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci10eXBlczogKFxuICAzZHgsXG4gIDNkeC1yLFxuICAzZHksXG4gIDNkeS1yLFxuICBhcnJvdyxcbiAgYXJyb3ctcixcbiAgYXJyb3dhbHQsXG4gIGFycm93YWx0LXIsXG4gIGJvcmluZyxcbiAgY29sbGFwc2UsXG4gIGNvbGxhcHNlLXIsXG4gIGVsYXN0aWMsXG4gIGVsYXN0aWMtcixcbiAgZW1waGF0aWMsXG4gIGVtcGhhdGljLXIsXG4gIHNsaWRlcixcbiAgc2xpZGVyLXIsXG4gIHNwcmluZyxcbiAgc3ByaW5nLXIsXG4gIHN0YW5kLFxuICBzdGFuZC1yLFxuICBzcGluLFxuICBzcGluLXIsXG4gIHNxdWVlemUsXG4gIHZvcnRleCxcbiAgdm9ydGV4LXJcbikgIWRlZmF1bHQ7XG5cbi8vIEJhc2UgSGFtYnVyZ2VyIChXZSBuZWVkIHRoaXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9AaW1wb3J0IFwiYmFzZVwiO1xuXG5cbi8vIEhhbWJ1cmdlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuXG4gIC8vIE5vcm1hbGl6ZSAoPGJ1dHRvbj4pXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAmOmhvdmVyIHtcbiAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xuICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xuICAvL2hlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAzICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMjtcbiAgaGVpZ2h0OiAxNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAtMjtcblxuICAmLFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItbGF5ZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIH1cblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBib3R0b206ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxufVxuQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93LXIpIHtcbiAgLypcbiAgICogQXJyb3cgUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93LXIuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1AaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc2xpZGVyKSB7XG4gIC8qXG4gICAqIFNsaWRlclxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc2xpZGVyIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoIC8gLTcsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIC0xLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBIYW1idXJnZXIgdHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vKlxuQGltcG9ydCBcInR5cGVzLzNkeFwiO1xuQGltcG9ydCBcInR5cGVzLzNkeC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd1wiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdFwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9ib3JpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZVwiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc2xpZGVyXCI7XG5AaW1wb3J0IFwidHlwZXMvc2xpZGVyLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmctclwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmQtclwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW5cIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcXVlZXplXCI7XG5AaW1wb3J0IFwidHlwZXMvdm9ydGV4XCI7XG5AaW1wb3J0IFwidHlwZXMvdm9ydGV4LXJcIjtcbiovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb29raW5nIHVwIGFkZGl0aW9uYWwgdHlwZXM6XG4vL1xuLy8gVGhlIFNhc3MgZm9yIGVhY2ggaGFtYnVyZ2VyIHR5cGUgc2hvdWxkIGJlIG5lc3RlZFxuLy8gaW5zaWRlIGFuIEBpZiBkaXJlY3RpdmUgdG8gY2hlY2sgd2hldGhlciBvciBub3Rcbi8vIGl0IGV4aXN0cyBpbiAkaGFtYnVyZ2VyLXR5cGVzIHNvIG9ubHkgdGhlIENTUyBmb3Jcbi8vIGluY2x1ZGVkIHR5cGVzIGFyZSBnZW5lcmF0ZWQuXG4vL1xuLy8gZS5nLiBoYW1idXJnZXJzL3R5cGVzL19uZXctdHlwZS5zY3NzXG4vL1xuLy8gQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIG5ldy10eXBlKSB7XG4vLyAgIC5oYW1idXJnZXItLW5ldy10eXBlIHtcbi8vICAgICAuLi5cbi8vICAgfVxuLy8gfVxuXG4iLCIuZmxleHNsaWRlciB7XG5cdHVsIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0XG5cdFx0Ji5zbGlkZXMge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHR9XG5cdFx0fSBcblx0XHRcblx0XHRsaSB7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAxNzZweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRcdFx0bWF4LWhlaWdodDogMzY1cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IDYwMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4uaG9tZS1nYWxsZXJ5IHtcblx0LmZsZXhzbGlkZXIge1xuXHRcdHVsIHtcblx0XHRcdGxpIHtcblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDE5MHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRcdFx0XHRtYXgtaGVpZ2h0OiA0MDVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRcdFx0bWF4LWhlaWdodDogNjcwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxufVxuI3N1aXRlLXNsaWRlciB7XG5cdGxpIHtcblx0XHRpbWcge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdG1heC1oZWlnaHQ6IDIzNnB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiAzMTVweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0bWF4LWhlaWdodDogNTEwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4uY2Fyb3VzZWwuZmxleHNsaWRlciB7XG5cdHVsLnNsaWRlcyB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdFxuXHRcdGxpIHtcblx0XHRcdGRpdiB7XG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHQtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlLWluLW91dDtcblx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDcwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0XHRcdGhlaWdodDogMTAwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRcdGhlaWdodDogMTQwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnRodW1ibmFpbC1pbWcge1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGhlaWdodDogMzQwcHg7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LmltYWdlLWNhcHRpb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDEwcHg7XG5cdFx0cmlnaHQ6IDEwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0cGFkZGluZzogNXB4O1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdH1cbn1cblxuLmdhbGxlcnktaW1nIHtcblx0JjpsYXN0LWNoaWxkIHtcblx0XHRmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuLy9MaWdodGJveCBTdHlsZXMgXG5cbi5tZnAtY291bnRlciB7XG5cdGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xufVxuXG4iLCIuc2luZ2xlLWV2ZW50IC5oZXJvIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdGhlaWdodDogcmVtLWNhbGMoNDAwKTtcblx0fVxufVxuXG4uZXZlbnQtY29udGFpbmVyIHtcblx0bWF4LXdpZHRoOiA5MDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGgxLFxuXHQuZXZlbnQtdGltZSxcblx0cCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0fVxuXG5cdGg2IHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0fVxufVxuXG4uZXZlbnQtaW5mbyB7XG5cdG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi5kZXRhaWxzLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cblx0aDUge1xuXHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgXG5cdH1cbn1cblxuLnJzdnAtZm9ybSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuXG5cdGgyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHR9XG59XG5cbi5mZWF0dXJlZC1pbWFnZSB7XG5cdC8vaGVpZ2h0OiA0MDBweDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uZXZlbnQtZGF0ZSB7XG5cdGg1IHtcblx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHRwYWRkaW5nOiAxMHB4IDQwcHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmZlYXR1cmVkLWV2ZW50LWluZm8ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDQwcHg7XG5cdC8vaGVpZ2h0OiA0MDBweDtcblx0YmFja2dyb3VuZDogJHdoaXRlO1xuXG5cdGg1IHtcblx0XHRtYXJnaW4tdG9wOiA0MHB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cblxuXHRwIHtcblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdH1cblx0fVxufVxuXG4uZXZlbnRzLWJhY2tncm91bmQge1xuXHRoZWlnaHQ6IDIwMHB4O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi52aWV3LWxpbmsge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0bWFyZ2luLXRvcDogMzBweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubW9yZUJ0biB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Y29sb3I6ICR3aGl0ZTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cGFkZGluZzogNXB4IDEwcHg7XG5cdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbi10b3A6IDMwcHg7XG5cblx0YSB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0fVxufVxuIiwiI3NpbmdsZS1wb3N0IHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgbWFyZ2luLXRvcDogM3JlbTtcblxuICAubWFpbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuICAgIH1cbiAgfVxuXG59XG5cbi5uZXdzLXJlcG9ydHMtY29udGFpbmVyIHtcbiAgaDMge1xuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgfVxuICB9XG59XG4iLCIubmV3cy1ob21lIHtcblx0bWFyZ2luOiByZW0tY2FsYygxNSAwKTtcblx0Jl9faW1hZ2Uge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogcmVtLWNhbGMoMjAwKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG5cdFx0QGluY2x1ZGUgYmFja2dyb3VuZEZpbGw7XG5cdH1cblxuXHRoNSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMjApO1xuXHR9XG5cblx0Jl9fYmx1cmIgeyBcblx0XHRwYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cdFx0cCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdGg1IHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5ldmVudHMtaG9tZSB7XG5cdG1hcmdpbjogcmVtLWNhbGMoMTUgMCk7XG5cdCZfX2ltYWdlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuXHRcdEBpbmNsdWRlIGJhY2tncm91bmRGaWxsO1xuXHR9XG5cblx0aDUge1xuXHRcdG1hcmdpbjogMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblx0fVxuXG5cdCZfX2JsdXJiIHsgXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMjApO1xuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHRoNSB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxufVxuXG4ubmV3cy1sb2NhdGlvbi1maWx0ZXIge1xuXHRzZWxlY3Qge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxufSIsIiRjdGFfZm9vdGVyX2JnOiAkZGFyaztcbiRjdGFfYnV0dG9uX2NvbG9yX2hvdmVyOiAkZGFyaztcblxuLmVudHJ5LWNvbnRlbnQge1xuXHRoNCB7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuXHR9XG5cdGg1IHtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG5cdFx0YSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb247XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnBkZi1kb3dubG9hZCB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbjtcblx0fVxufVxuXG4uc2luZ2xlLXBvc3QsIC5zaW5nbGUtZXZlbnQge1xuXHQucG9zdC10YWdzIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdC50YWcge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG5cdH1cblx0LmN0YS1mb290ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjdGFfZm9vdGVyX2JnO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDQwKTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdC5ib3JkZXItbGluZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHRcdGg0IHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuXHRcdH1cblx0XHQuY3RhLXRleHQgcCB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0XHQuYnV0dG9uIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRib3JkZXItY29sb3I6ICR3aGl0ZTtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMjIpO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Y29sb3I6ICRjdGFfYnV0dG9uX2NvbG9yX2hvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRkaXYudmFsaWduLWNlbnRlciB7XG5cdFx0ICAgIGRpc3BsYXk6IHRhYmxlO1xuXHRcdCAgICBzcGFuOm5vdCgubm8tYnJlYWspIHtcblx0XHQgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0ICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdCAgICB9XG5cdFx0fVxuXHR9XG59XG5cbi5zaW5nbGUtbmV3cy1pbWFnZSB7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbn1cbi5mZWF0dXJlZC1jYXB0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiA1cHggMTBweDtcblx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMyk7XG5cdC8vY29sb3I6ICNmZmY7XG5cdC8vbWFyZ2luOiAxMHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbn0iLCIucHJvbW8tY2FyZCB7XG5cdC5wcm9tby1saW5rIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG5cdFx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIHNtYWxsKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG5cdFx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIG1lZGl1bSk7XG5cdFx0XHRoMSwgaDIge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQ1KTtcblx0XHRcdH1cblx0XHRcdGgzIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzNik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQwMCk7XG5cdFx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIGxhcmdlKTtcblx0XHR9XG5cdFx0XG5cdH1cblxufVxuLmx1eHVyeS1pbmNsdXNpb25zLWFkLFxuLnNlY3Rpb24taW50ZXJzdGl0aWFsIHtcblx0LnByb21vLWxpbmsge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0cGFkZGluZzogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmcsIG1lZGl1bSk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdHBhZGRpbmc6IG1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZywgbGFyZ2UpO1xuXHRcdH1cblx0XHRcblx0fVxuXG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHQucHJvbW8tY2FyZFx0KyAucHJvbW8tY2FyZCB7XG5cdFx0bWFyZ2luLXRvcDogbWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLCBzbWFsbCk7XG5cdH1cbn1cblxuLm1lZGl1bS1ncmlkLTF4MSB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0fVxuICAgIFxufVxuLm1lZGl1bS1ncmlkLTJ4MSB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0ICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblx0ICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXHR9XG4gICAgXG59XG4ucHJvbW8taW5mbyB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uaG9tZS1kZXNpZ25zLWNhcmQge1xuXHQuYm9yZGVyLWlubmVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG59XG4iXX0= */
