/*
    - Name: "multitarificador.scss"
    - Description: "Add custom styles to Multitarificador block"
*/
/* VARIABLES */
.block-multitarificador h2,
.block-minicalculadora h2 {
  color: #98a92a;
  font-family: Arial, sans-serif;
  font-size: 28px;
  font-weight: bolder; }

.block-multitarificador .multitarificador-header,
.block-multitarificador .minicalculadora-header,
.block-minicalculadora .multitarificador-header,
.block-minicalculadora .minicalculadora-header {
  text-align: center;
  margin: 20px 0; }
  .block-multitarificador .multitarificador-header h2,
  .block-multitarificador .minicalculadora-header h2,
  .block-minicalculadora .multitarificador-header h2,
  .block-minicalculadora .minicalculadora-header h2 {
    color: #98a92a;
    font-family: Arial, sans-serif;
    font-size: 28px;
    font-weight: bolder; }
  .block-multitarificador .multitarificador-header p,
  .block-multitarificador .minicalculadora-header p,
  .block-minicalculadora .multitarificador-header p,
  .block-minicalculadora .minicalculadora-header p {
    color: #6a625a;
    font-family: Arial, sans-serif;
    font-size: 18px;
    line-height: 1.2em; }
  .block-multitarificador .multitarificador-header.form-header,
  .block-multitarificador .minicalculadora-header.form-header,
  .block-minicalculadora .multitarificador-header.form-header,
  .block-minicalculadora .minicalculadora-header.form-header {
    margin: 0;
    padding: 10px 0 0;
    text-align: left; }
    @media (min-width: 992px) {
      .block-multitarificador .multitarificador-header.form-header,
      .block-multitarificador .minicalculadora-header.form-header,
      .block-minicalculadora .multitarificador-header.form-header,
      .block-minicalculadora .minicalculadora-header.form-header {
        padding: 40px 0 20px; } }
    .block-multitarificador .multitarificador-header.form-header h1,
    .block-multitarificador .minicalculadora-header.form-header h1,
    .block-minicalculadora .multitarificador-header.form-header h1,
    .block-minicalculadora .minicalculadora-header.form-header h1 {
      margin-bottom: 15px;
      font-size: 30px;
      color: #98a92a;
      font-family: Arial, sans-serif; }
      @media (min-width: 768px) {
        .block-multitarificador .multitarificador-header.form-header h1,
        .block-multitarificador .minicalculadora-header.form-header h1,
        .block-minicalculadora .multitarificador-header.form-header h1,
        .block-minicalculadora .minicalculadora-header.form-header h1 {
          font-size: 38px; } }
      @media (min-width: 992px) {
        .block-multitarificador .multitarificador-header.form-header h1,
        .block-multitarificador .minicalculadora-header.form-header h1,
        .block-minicalculadora .multitarificador-header.form-header h1,
        .block-minicalculadora .minicalculadora-header.form-header h1 {
          font-size: 46px; } }
    .block-multitarificador .multitarificador-header.form-header p,
    .block-multitarificador .minicalculadora-header.form-header p,
    .block-minicalculadora .multitarificador-header.form-header p,
    .block-minicalculadora .minicalculadora-header.form-header p {
      color: #6a625a;
      font-family: Arial, sans-serif;
      font-size: 14px; }
      @media (min-width: 992px) {
        .block-multitarificador .multitarificador-header.form-header p,
        .block-multitarificador .minicalculadora-header.form-header p,
        .block-minicalculadora .multitarificador-header.form-header p,
        .block-minicalculadora .minicalculadora-header.form-header p {
          font-size: 18px; } }
      .block-multitarificador .multitarificador-header.form-header p:before,
      .block-multitarificador .minicalculadora-header.form-header p:before,
      .block-minicalculadora .multitarificador-header.form-header p:before,
      .block-minicalculadora .minicalculadora-header.form-header p:before {
        font-family: "icomoon";
        font-size: 20px;
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: '\e9d5';
        margin-right: 8px;
        display: none;
        height: 24px; }
        @media (min-width: 992px) {
          .block-multitarificador .multitarificador-header.form-header p:before,
          .block-multitarificador .minicalculadora-header.form-header p:before,
          .block-minicalculadora .multitarificador-header.form-header p:before,
          .block-minicalculadora .minicalculadora-header.form-header p:before {
            display: inline-block;
            vertical-align: middle; } }

.block-multitarificador .group-form-multitarificador,
.block-minicalculadora .group-form-multitarificador {
  background-color: #FFFFFF;
  padding: 15px; }
  @media (min-width: 992px) {
    .block-multitarificador .group-form-multitarificador,
    .block-minicalculadora .group-form-multitarificador {
      padding: 0; } }

.block-multitarificador .group-recommended,
.block-minicalculadora .group-recommended {
  margin-top: 0;
  border-bottom: 1px solid #6a625a;
  padding: 10px 10px 40px !important; }
  @media (min-width: 992px) {
    .block-multitarificador .group-recommended,
    .block-minicalculadora .group-recommended {
      margin: 40px auto 40px;
      padding: 0; } }
  .block-multitarificador .group-recommended h2,
  .block-minicalculadora .group-recommended h2 {
    color: #6a625a;
    font-family: Arial, sans-serif;
    font-size: 28px; }
  .block-multitarificador .group-recommended .periods,
  .block-minicalculadora .group-recommended .periods {
    text-align: center; }
  .block-multitarificador .group-recommended .save,
  .block-minicalculadora .group-recommended .save {
    text-align: center;
    margin: 40px 0; }
    .block-multitarificador .group-recommended .save p,
    .block-minicalculadora .group-recommended .save p {
      color: #6a625a;
      font-family: Arial, sans-serif;
      font-size: 18px;
      margin: 10px 0; }
      @media (min-width: 992px) {
        .block-multitarificador .group-recommended .save p,
        .block-minicalculadora .group-recommended .save p {
          margin: 10px 20px; } }
      .block-multitarificador .group-recommended .save p a,
      .block-minicalculadora .group-recommended .save p a {
        display: inline-block;
        text-decoration: none;
        border: 2px solid #095751;
        border-radius: 3px;
        color: #095751;
        font-size: 18px;
        line-height: 0.5em;
        text-align: center;
        font-family: Arial, sans-serif;
        padding: 13px 10px;
        max-height: 50px;
        background-color: transparent;
        max-height: 60px;
        line-height: 1em;
        min-width: 340px; }
        .block-multitarificador .group-recommended .save p a a,
        .block-minicalculadora .group-recommended .save p a a {
          text-decoration: none; }
        .block-multitarificador .group-recommended .save p a:hover,
        .block-minicalculadora .group-recommended .save p a:hover {
          background-color: rgba(106, 98, 90, 0.25);
          color: #6a625a;
          text-decoration: none; }
          .block-multitarificador .group-recommended .save p a:hover a,
          .block-minicalculadora .group-recommended .save p a:hover a {
            color: #6a625a; }
        .block-multitarificador .group-recommended .save p a:before,
        .block-minicalculadora .group-recommended .save p a:before {
          font-family: "icomoon";
          content: '\e91c';
          display: inline-block;
          margin-right: 5px; }
        .block-multitarificador .group-recommended .save p a:hover,
        .block-minicalculadora .group-recommended .save p a:hover {
          background-color: #095751;
          color: #FFFFFF;
          font-size: 18px;
          border: 2px solid white; }
        @media (min-width: 380px) {
          .block-multitarificador .group-recommended .save p a,
          .block-minicalculadora .group-recommended .save p a {
            max-height: 50px; } }

.block-multitarificador .group-all-products h2,
.block-minicalculadora .group-all-products h2 {
  color: #6a625a;
  font-family: Arial, sans-serif;
  font-size: 28px; }

.block-multitarificador .group-all-products .layout-multitarificador,
.block-minicalculadora .group-all-products .layout-multitarificador {
  margin: 40px 0;
  position: relative;
  display: block; }
  @media (min-width: 992px) {
    .block-multitarificador .group-all-products .layout-multitarificador,
    .block-minicalculadora .group-all-products .layout-multitarificador {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; } }
  .block-multitarificador .group-all-products .layout-multitarificador .products,
  .block-minicalculadora .group-all-products .layout-multitarificador .products {
    width: 100%; }

@media (min-width: 768px) {
  .block-multitarificador .group-form-multitarificador {
    min-height: 550px; } }

@media (min-width: 992px) {
  .block-minicalculadora .minicalculadora-header.form-header {
    padding: 0 0 20px; } }

.block-minicalculadora .btn-primary {
  background-color: #ed0039;
  border: none; }
  .block-minicalculadora .btn-primary:hover {
    background-color: #892737;
    color: #FFFFFF; }
  .block-minicalculadora .btn-primary:hover::before {
    color: #FFFFFF; }

.mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number,
.renta .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number {
  width: 100%;
  display: block; }
  .mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number label,
  .mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number .input-group,
  .renta .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number label,
  .renta .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number .input-group {
    display: inline-block;
    width: auto;
    vertical-align: middle; }
  .mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number .input-group,
  .renta .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number .input-group {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    .mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number .input-group span:after,
    .renta .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number .input-group span:after {
      display: none; }
    .mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number .input-group .form-element-sibling-suffix:after,
    .renta .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number .input-group .form-element-sibling-suffix:after {
      content: '.';
      position: absolute;
      right: 0;
      bottom: 0;
      display: inline-block;
      vertical-align: baseline;
      font-size: 20px;
      color: #6a625a; }
    .mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number .input-group .input-group-append,
    .renta .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group.field--name-otros .form-type-number .input-group .input-group-append {
      display: none; }

.mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group[class*='field--name-fechanacimiento'],
.renta .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group[class*='field--name-fechanacimiento'] {
  position: relative; }
  .mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group[class*='field--name-fechanacimiento']:after,
  .renta .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group[class*='field--name-fechanacimiento']:after {
    content: '.';
    position: absolute;
    right: 0;
    bottom: 0;
    display: inline-block;
    vertical-align: baseline;
    font-size: 20px;
    color: #6a625a; }
  .mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group[class*='field--name-fechanacimiento'] .placeholder,
  .renta .sessions-multitarificador-sessionsmultitarificadordefault-form .js-form-wrapper.form-group[class*='field--name-fechanacimiento'] .placeholder {
    padding: 0 5px; }

.mediadores .node--type-product.node--view-mode-teaser .field--name-more-information,
.mediadores .node--type-product.node--view-mode-teaser .bnt-ecommerce, .mediadores .node--type-product.node--view-mode-product-card .field--name-more-information,
.mediadores .node--type-product.node--view-mode-product-card .bnt-ecommerce, .mediadores .node--type-product.node--view-mode-product-card-recommended .field--name-more-information,
.mediadores .node--type-product.node--view-mode-product-card-recommended .bnt-ecommerce,
.renta .node--type-product.node--view-mode-teaser .field--name-more-information,
.renta .node--type-product.node--view-mode-teaser .bnt-ecommerce,
.renta .node--type-product.node--view-mode-product-card .field--name-more-information,
.renta .node--type-product.node--view-mode-product-card .bnt-ecommerce,
.renta .node--type-product.node--view-mode-product-card-recommended .field--name-more-information,
.renta .node--type-product.node--view-mode-product-card-recommended .bnt-ecommerce {
  display: none !important; }

.block-mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form,
.block-renta .sessions-multitarificador-sessionsmultitarificadordefault-form,
.block-multitarificador .sessions-multitarificador-sessionsmultitarificadordefault-form {
  position: relative; }
  .block-mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .wizard-form-loader,
  .block-renta .sessions-multitarificador-sessionsmultitarificadordefault-form .wizard-form-loader,
  .block-multitarificador .sessions-multitarificador-sessionsmultitarificadordefault-form .wizard-form-loader {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 9999;
    background-color: rgba(255, 255, 255, 0.6);
    width: 100%;
    height: 100%;
    padding: 0;
    opacity: 1; }
    .block-mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .wizard-form-loader .box,
    .block-renta .sessions-multitarificador-sessionsmultitarificadordefault-form .wizard-form-loader .box,
    .block-multitarificador .sessions-multitarificador-sessionsmultitarificadordefault-form .wizard-form-loader .box {
      position: absolute;
      top: 45%;
      -webkit-transform: translate(-50%, -45%);
              transform: translate(-50%, -45%);
      text-align: center;
      left: 50%;
      width: 100px;
      height: 30px;
      background-image: url("../css/images/loader.gif");
      background-repeat: no-repeat;
      background-size: 100px;
      background-position: center center; }
    .block-mediadores .sessions-multitarificador-sessionsmultitarificadordefault-form .wizard-form-loader .message,
    .block-renta .sessions-multitarificador-sessionsmultitarificadordefault-form .wizard-form-loader .message,
    .block-multitarificador .sessions-multitarificador-sessionsmultitarificadordefault-form .wizard-form-loader .message {
      font-family: Arial, sans-serif;
      color: #98a92a;
      font-size: 24px;
      position: absolute;
      top: 35%;
      -webkit-transform: translateY(-35%);
              transform: translateY(-35%);
      text-align: center;
      left: 0;
      right: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvYmxvY2svbXVsdGl0YXJpZmljYWRvci5zY3NzIiwiY29tcG9uZW50cy9ibG9jay9tdWx0aXRhcmlmaWNhZG9yLmNzcyIsIl92YXJpYWJsZXMuc2NzcyIsIl9taXhpbnMuc2NzcyIsIl9yZWNpcGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQ0dDO0FDREQsY0FBQTtBRktBOztFR3dmRSxjRDFmcUI7RUMyZnJCLDhCRC9ZdUI7RUNnWnZCLGVIdGZpRDtFQUMvQyxtQkFBbUIsRUFBQTs7QUFMdkI7Ozs7RUFVSSxrQkFBa0I7RUFDbEIsY0FBYyxFQUFBO0VBWGxCOzs7O0lHd2ZFLGNEMWZxQjtJQzJmckIsOEJEL1l1QjtJQ2dadkIsZUg1ZW1EO0lBQy9DLG1CQUFtQixFQUFBO0VBZnpCOzs7O0lHd2ZFLGNEM2UwQjtJQzRlMUIsOEJEL1l1QjtJQ2dadkIsZUh2ZTBDO0lBQ3RDLGtCQUFrQixFQUFBO0VBcEJ4Qjs7OztJQXdCTSxTQUFTO0lBQ1QsaUJBQWlCO0lBQ2pCLGdCQUFnQixFQUFBO0lHK0RsQjtNSHpGSjs7OztRQTRCUSxvQkFBb0IsRUFBQSxFQTBCdkI7SUF0REw7Ozs7TUFnQ1EsbUJBQW1CO01HK2F6QixlQUFlO01BQ2YsY0RsZHFCO01DbWRyQiw4QkR2V3VCLEVBQUE7TUNqQnJCO1FIekZKOzs7O1VHa2RvQyxlQUFlLEVBQUEsRUhoYjVDO01HdURIO1FIekZKOzs7O1VHbWRvQyxlQUFlLEVBQUEsRUhqYjVDO0lBbENQOzs7O01Hd2ZFLGNEM2UwQjtNQzRlMUIsOEJEL1l1QjtNQ2dadkIsZUhyZDRDLEVBQUE7TUdvRDFDO1FIekZKOzs7O1VBdUNVLGVBQWUsRUFBQSxFQWNsQjtNQXJEUDs7OztRSUhJLHNCQURtQztRQUNmLGVKOENPO1FJN0MzQixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLGNBQWM7UUFFZCxtQ0FBbUM7UUFDbkMsa0NBQWtDO1FKc0M1QixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixZQUFZLEVBQUE7UUcwQ2xCO1VIekZKOzs7O1lBaURZLHFCQUFxQjtZQUNyQixzQkFBc0IsRUFBQSxFQUV6Qjs7QUFwRFQ7O0VBMkRJLHlCRXBEVztFRnFEWCxhQUFhLEVBQUE7RUc2QmI7SUh6Rko7O01BOERNLFVBQVUsRUFBQSxFQUViOztBQWhFSDs7RUFvRUksYUFBYTtFQUNiLGdDRXhEd0I7RUZ5RHhCLGtDQUFrQyxFQUFBO0VHbUJsQztJSHpGSjs7TUF3RU0sc0JBQXNCO01BQ3RCLFVBQVUsRUFBQSxFQXlDYjtFQWxISDs7SUd3ZkUsY0QzZTBCO0lDNGUxQiw4QkQvWXVCO0lDZ1p2QixlSDdhMEMsRUFBQTtFQTdFNUM7O0lBaUZNLGtCQUFrQixFQUFBO0VBakZ4Qjs7SUFxRk0sa0JBQWtCO0lBQ2xCLGNBQWMsRUFBQTtJQXRGcEI7O01Hd2ZFLGNEM2UwQjtNQzRlMUIsOEJEL1l1QjtNQ2dadkIsZUhqYTRDO01BQ3RDLGNBQWMsRUFBQTtNR0RsQjtRSHpGSjs7VUE0RlUsaUJBQWlCLEVBQUEsRUFvQnBCO01BaEhQOztRQWdHVSxxQkFBcUI7UUFDckIscUJBQXFCO1FHcU43Qix5QkRyVG9CO1FDc1RwQixrQkFBa0I7UUFDbEIsY0R2VG9CO1FDd1RwQixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQiw4QkRsTnVCO1FDbU52QixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLDZCQUE2QjtRSDVOckIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0IsRUFBQTtRQXJHMUI7O1VHaVVJLHFCQUFxQixFQUFBO1FIalV6Qjs7VUdvVUkseUNBQXlDO1VBQ3pDLGNBQWM7VUFDZCxxQkFBcUIsRUFBQTtVSHRVekI7O1lHd1VNLGNBQWMsRUFBQTtRSHhVcEI7O1VHZ1ZJLHNCRGxPZTtVQ21PZixnQkFBZ0I7VUFDaEIscUJBQXFCO1VBQ3JCLGlCQUFpQixFQUFBO1FIblZyQjs7VUF1R1kseUJFdEdVO1VGdUdWLGNFakdHO1VGa0dILGVBQWU7VUFDZix1QkFBdUIsRUFBQTtRR2pCL0I7VUh6Rko7O1lBNkdZLGdCQUFnQixFQUFBLEVBRW5COztBQS9HVDs7RUd3ZkUsY0QzZTBCO0VDNGUxQiw4QkQvWXVCO0VDZ1p2QixlSGxZMEMsRUFBQTs7QUF4SDVDOztFQTRITSxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGNBQWMsRUFBQTtFR3JDaEI7SUh6Rko7O01BZ0lRLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IsbUJBQWU7VUFBZixlQUFlO01BQ2YseUJBQThCO1VBQTlCLHNCQUE4QjtjQUE5Qiw4QkFBOEI7TUFDOUIsd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUIsRUFBQSxFQU0xQjtFQXpJTDs7SUF1SVEsV0FBVyxFQUFBOztBRzlDZjtFSG9ESjtJQUdNLGlCQUFpQixFQUFBLEVBRXBCOztBR3pEQztFSDRESjtJQUtRLGlCQUFpQixFQUFBLEVBRXBCOztBQVBMO0VBVUkseUJFaElnQjtFRmlJaEIsWUFBWSxFQUFBO0VBWGhCO0lBYU0seUJFbElhO0lGbUliLGNBQWMsRUFBQTtFQWRwQjtJQWlCTSxjQUFjLEVBQUE7O0FBTXBCOztFQU9ZLFdBQVc7RUFDWCxjQUFjLEVBQUE7RUFSMUI7Ozs7SUFZYyxxQkFBcUI7SUFDckIsV0FBVztJQUNYLHNCQUFzQixFQUFBO0VBZHBDOztJQWtCYywyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUNwQixtQkFBZTtRQUFmLGVBQWU7SUFDZiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUIsRUFBQTtJQXBCakM7O01Bd0JrQixhQUFhLEVBQUE7SUF4Qi9COztNQThCa0IsWUFBWTtNQUNaLGtCQUFrQjtNQUNsQixRQUFRO01BQ1IsU0FBUztNQUNULHFCQUFxQjtNQUNyQix3QkFBd0I7TUFDeEIsZUFBZTtNQUNmLGNFcE1VLEVBQUE7SUYrSjVCOztNQTBDZ0IsYUFBYSxFQUFBOztBQTFDN0I7O0VBa0RRLGtCQUFrQixFQUFBO0VBbEQxQjs7SUFxRFUsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsU0FBUztJQUNULHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIsZUFBZTtJQUNmLGNFM05rQixFQUFBO0VGK0o1Qjs7SUFnRVUsY0FBYyxFQUFBOztBQWhFeEI7Ozs7Ozs7Ozs7RUE0RVEsd0JBQXdCLEVBQUE7O0FBTWhDOzs7RUFJSSxrQkFBa0IsRUFBQTtFQUp0Qjs7O0lBT00sY0FBYztJQUNkLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLE9BQU87SUFDUCxTQUFTO0lBQ1QsYUFBYTtJQUNiLDBDQUEwQztJQUMxQyxXQUFXO0lBQ1gsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVLEVBQUE7SUFsQmhCOzs7TUFxQlEsa0JBQWtCO01BQ2xCLFFBQVE7TUFDUix3Q0FBZ0M7Y0FBaEMsZ0NBQWdDO01BQ2hDLGtCQUFrQjtNQUNsQixTQUFTO01BQ1QsWUFBWTtNQUNaLFlBQVk7TUFDWixpREFBaUQ7TUFDakQsNEJBQTRCO01BQzVCLHNCQUFzQjtNQUN0QixrQ0FBa0MsRUFBQTtJQS9CMUM7OztNQW1DUSw4QkV2TGlCO01Gd0xqQixjRXBTZTtNRnFTZixlQUFlO01BQ2Ysa0JBQWtCO01BQ2xCLFFBQVE7TUFDUixtQ0FBMkI7Y0FBM0IsMkJBQTJCO01BQzNCLGtCQUFrQjtNQUNsQixPQUFPO01BQ1AsUUFBUSxFQUFBIiwiZmlsZSI6ImNvbXBvbmVudHMvYmxvY2svbXVsdGl0YXJpZmljYWRvci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIC0gTmFtZTogXCJtdWx0aXRhcmlmaWNhZG9yLnNjc3NcIlxuICAgIC0gRGVzY3JpcHRpb246IFwiQWRkIGN1c3RvbSBzdHlsZXMgdG8gTXVsdGl0YXJpZmljYWRvciBibG9ja1wiXG4qL1xuXG5AaW1wb3J0ICcuLi8uLi92YXJpYWJsZXMnO1xuXG4uYmxvY2stbXVsdGl0YXJpZmljYWRvcixcbi5ibG9jay1taW5pY2FsY3VsYWRvcmEge1xuXG4gIGgyIHtcbiAgICBAaW5jbHVkZSBmb250LWJvZHkoJHByaW1hcnktc2hhZGUsICRhcmlhbCwgMjhweCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC5tdWx0aXRhcmlmaWNhZG9yLWhlYWRlcixcbiAgLm1pbmljYWxjdWxhZG9yYS1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDIwcHggMDtcblxuICAgIGgyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYm9keSgkcHJpbWFyeS1zaGFkZSwgJGFyaWFsLCAyOHB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBmb250LWJvZHkoJHRleHQsICRhcmlhbCwgMThweCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgfVxuXG4gICAgJi5mb3JtLWhlYWRlciB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCAyMHB4O1xuICAgICAgfVxuXG4gICAgICBoMSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtaGVybygkcHJpbWFyeS1zaGFkZSwgJGFyaWFsKTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtYm9keSgkdGV4dCwgJGFyaWFsLCAxNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29tb29uKDIwcHgpO1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGU5ZDUnO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy9Gb3JtdWxhcmlvIG11bHRpdGFyaWZpY2Fkb3JcbiAgLmdyb3VwLWZvcm0tbXVsdGl0YXJpZmljYWRvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAvLzMgcHJvZHVjdG9zIHJlY29tZW5kYWRvc1xuICAuZ3JvdXAtcmVjb21tZW5kZWQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0ZXh0O1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gNDBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgQGluY2x1ZGUgZm9udC1ib2R5KCR0ZXh0LCAkYXJpYWwsIDI4cHgpO1xuICAgIH1cblxuICAgIC5wZXJpb2RzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc2F2ZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDQwcHggMDtcblxuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtYm9keSgkdGV4dCwgJGFyaWFsLCAxOHB4KTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3ByaW1hcnlfZ2hvc3RfYXJyb3coJGFjY2VudC1zaGFkZSwgJGFjY2VudC1zaGFkZSk7XG4gICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgIG1pbi13aWR0aDogMzQwcHg7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LXNoYWRlO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4cy1wbHVzKSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vTGlzdGFkbyBwcm9kdWN0b3MgY29uIGZpbHRyb3NcbiAgLmdyb3VwLWFsbC1wcm9kdWN0cyB7XG5cbiAgICBoMiB7XG4gICAgICBAaW5jbHVkZSBmb250LWJvZHkoJHRleHQsICRhcmlhbCwgMjhweCk7XG4gICAgfVxuXG4gICAgLmxheW91dC1tdWx0aXRhcmlmaWNhZG9yIHtcbiAgICAgIG1hcmdpbjogNDBweCAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIHtcbiAgLmdyb3VwLWZvcm0tbXVsdGl0YXJpZmljYWRvciB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgbWluLWhlaWdodDogNTUwcHg7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1taW5pY2FsY3VsYWRvcmEge1xuICAubWluaWNhbGN1bGFkb3JhLWhlYWRlciB7XG4gICAgJi5mb3JtLWhlYWRlciB7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIH1cbiAgLmJ0bi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLWJ1dHRvbjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLWhvdmVyO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG4gIH1cblxufVxuXG4ubWVkaWFkb3Jlcyxcbi5yZW50YSB7XG4gIC5zZXNzaW9ucy1tdWx0aXRhcmlmaWNhZG9yLXNlc3Npb25zbXVsdGl0YXJpZmljYWRvcmRlZmF1bHQtZm9ybSB7XG4gICAgLmpzLWZvcm0td3JhcHBlciB7XG4gICAgICAmLmZvcm0tZ3JvdXAge1xuICAgICAgICAmLmZpZWxkLS1uYW1lLW90cm9zIHtcbiAgICAgICAgICAuZm9ybS10eXBlLW51bWJlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5mb3JtLWVsZW1lbnQtc2libGluZy1zdWZmaXgge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogJy4nO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmZvcm0tZ3JvdXBbY2xhc3MqPSdmaWVsZC0tbmFtZS1mZWNoYW5hY2ltaWVudG8nXSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnLic7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAucGxhY2Vob2xkZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5vZGUtLXR5cGUtcHJvZHVjdCB7XG4gICAgJi5ub2RlLS12aWV3LW1vZGUtdGVhc2VyLFxuICAgICYubm9kZS0tdmlldy1tb2RlLXByb2R1Y3QtY2FyZCxcbiAgICAmLm5vZGUtLXZpZXctbW9kZS1wcm9kdWN0LWNhcmQtcmVjb21tZW5kZWQge1xuICAgICAgLmZpZWxkLS1uYW1lLW1vcmUtaW5mb3JtYXRpb24sXG4gICAgICAuYm50LWVjb21tZXJjZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLW1lZGlhZG9yZXMsXG4uYmxvY2stcmVudGEsXG4uYmxvY2stbXVsdGl0YXJpZmljYWRvciB7XG4gIC5zZXNzaW9ucy1tdWx0aXRhcmlmaWNhZG9yLXNlc3Npb25zbXVsdGl0YXJpZmljYWRvcmRlZmF1bHQtZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLndpemFyZC1mb3JtLWxvYWRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAuYm94IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDQ1JTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTQ1JSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vY3NzL2ltYWdlcy9sb2FkZXIuZ2lmXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAubWVzc2FnZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYXJpYWw7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1zaGFkZTtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMzUlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM1JSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8qXG4gICAgLSBOYW1lOiBcIm11bHRpdGFyaWZpY2Fkb3Iuc2Nzc1wiXG4gICAgLSBEZXNjcmlwdGlvbjogXCJBZGQgY3VzdG9tIHN0eWxlcyB0byBNdWx0aXRhcmlmaWNhZG9yIGJsb2NrXCJcbiovXG4vKiBWQVJJQUJMRVMgKi9cbi5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIGgyLFxuLmJsb2NrLW1pbmljYWxjdWxhZG9yYSBoMiB7XG4gIGNvbG9yOiAjOThhOTJhO1xuICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4uYmxvY2stbXVsdGl0YXJpZmljYWRvciAubXVsdGl0YXJpZmljYWRvci1oZWFkZXIsXG4uYmxvY2stbXVsdGl0YXJpZmljYWRvciAubWluaWNhbGN1bGFkb3JhLWhlYWRlcixcbi5ibG9jay1taW5pY2FsY3VsYWRvcmEgLm11bHRpdGFyaWZpY2Fkb3ItaGVhZGVyLFxuLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAubWluaWNhbGN1bGFkb3JhLWhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLm11bHRpdGFyaWZpY2Fkb3ItaGVhZGVyIGgyLFxuICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAubWluaWNhbGN1bGFkb3JhLWhlYWRlciBoMixcbiAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAubXVsdGl0YXJpZmljYWRvci1oZWFkZXIgaDIsXG4gIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLm1pbmljYWxjdWxhZG9yYS1oZWFkZXIgaDIge1xuICAgIGNvbG9yOiAjOThhOTJhO1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAubXVsdGl0YXJpZmljYWRvci1oZWFkZXIgcCxcbiAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLm1pbmljYWxjdWxhZG9yYS1oZWFkZXIgcCxcbiAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAubXVsdGl0YXJpZmljYWRvci1oZWFkZXIgcCxcbiAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAubWluaWNhbGN1bGFkb3JhLWhlYWRlciBwIHtcbiAgICBjb2xvcjogIzZhNjI1YTtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxuICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAubXVsdGl0YXJpZmljYWRvci1oZWFkZXIuZm9ybS1oZWFkZXIsXG4gIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5taW5pY2FsY3VsYWRvcmEtaGVhZGVyLmZvcm0taGVhZGVyLFxuICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5tdWx0aXRhcmlmaWNhZG9yLWhlYWRlci5mb3JtLWhlYWRlcixcbiAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAubWluaWNhbGN1bGFkb3JhLWhlYWRlci5mb3JtLWhlYWRlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMCAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5tdWx0aXRhcmlmaWNhZG9yLWhlYWRlci5mb3JtLWhlYWRlcixcbiAgICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5taW5pY2FsY3VsYWRvcmEtaGVhZGVyLmZvcm0taGVhZGVyLFxuICAgICAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAubXVsdGl0YXJpZmljYWRvci1oZWFkZXIuZm9ybS1oZWFkZXIsXG4gICAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5taW5pY2FsY3VsYWRvcmEtaGVhZGVyLmZvcm0taGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAwIDIwcHg7IH0gfVxuICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5tdWx0aXRhcmlmaWNhZG9yLWhlYWRlci5mb3JtLWhlYWRlciBoMSxcbiAgICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAubWluaWNhbGN1bGFkb3JhLWhlYWRlci5mb3JtLWhlYWRlciBoMSxcbiAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5tdWx0aXRhcmlmaWNhZG9yLWhlYWRlci5mb3JtLWhlYWRlciBoMSxcbiAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5taW5pY2FsY3VsYWRvcmEtaGVhZGVyLmZvcm0taGVhZGVyIGgxIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBjb2xvcjogIzk4YTkyYTtcbiAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5tdWx0aXRhcmlmaWNhZG9yLWhlYWRlci5mb3JtLWhlYWRlciBoMSxcbiAgICAgICAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLm1pbmljYWxjdWxhZG9yYS1oZWFkZXIuZm9ybS1oZWFkZXIgaDEsXG4gICAgICAgIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLm11bHRpdGFyaWZpY2Fkb3ItaGVhZGVyLmZvcm0taGVhZGVyIGgxLFxuICAgICAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5taW5pY2FsY3VsYWRvcmEtaGVhZGVyLmZvcm0taGVhZGVyIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDM4cHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5tdWx0aXRhcmlmaWNhZG9yLWhlYWRlci5mb3JtLWhlYWRlciBoMSxcbiAgICAgICAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLm1pbmljYWxjdWxhZG9yYS1oZWFkZXIuZm9ybS1oZWFkZXIgaDEsXG4gICAgICAgIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLm11bHRpdGFyaWZpY2Fkb3ItaGVhZGVyLmZvcm0taGVhZGVyIGgxLFxuICAgICAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5taW5pY2FsY3VsYWRvcmEtaGVhZGVyLmZvcm0taGVhZGVyIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDQ2cHg7IH0gfVxuICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5tdWx0aXRhcmlmaWNhZG9yLWhlYWRlci5mb3JtLWhlYWRlciBwLFxuICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5taW5pY2FsY3VsYWRvcmEtaGVhZGVyLmZvcm0taGVhZGVyIHAsXG4gICAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAubXVsdGl0YXJpZmljYWRvci1oZWFkZXIuZm9ybS1oZWFkZXIgcCxcbiAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5taW5pY2FsY3VsYWRvcmEtaGVhZGVyLmZvcm0taGVhZGVyIHAge1xuICAgICAgY29sb3I6ICM2YTYyNWE7XG4gICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAubXVsdGl0YXJpZmljYWRvci1oZWFkZXIuZm9ybS1oZWFkZXIgcCxcbiAgICAgICAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLm1pbmljYWxjdWxhZG9yYS1oZWFkZXIuZm9ybS1oZWFkZXIgcCxcbiAgICAgICAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAubXVsdGl0YXJpZmljYWRvci1oZWFkZXIuZm9ybS1oZWFkZXIgcCxcbiAgICAgICAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAubWluaWNhbGN1bGFkb3JhLWhlYWRlci5mb3JtLWhlYWRlciBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgICAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLm11bHRpdGFyaWZpY2Fkb3ItaGVhZGVyLmZvcm0taGVhZGVyIHA6YmVmb3JlLFxuICAgICAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLm1pbmljYWxjdWxhZG9yYS1oZWFkZXIuZm9ybS1oZWFkZXIgcDpiZWZvcmUsXG4gICAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5tdWx0aXRhcmlmaWNhZG9yLWhlYWRlci5mb3JtLWhlYWRlciBwOmJlZm9yZSxcbiAgICAgIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLm1pbmljYWxjdWxhZG9yYS1oZWFkZXIuZm9ybS1oZWFkZXIgcDpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJpY29tb29uXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGU5ZDUnO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAyNHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5tdWx0aXRhcmlmaWNhZG9yLWhlYWRlci5mb3JtLWhlYWRlciBwOmJlZm9yZSxcbiAgICAgICAgICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAubWluaWNhbGN1bGFkb3JhLWhlYWRlci5mb3JtLWhlYWRlciBwOmJlZm9yZSxcbiAgICAgICAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5tdWx0aXRhcmlmaWNhZG9yLWhlYWRlci5mb3JtLWhlYWRlciBwOmJlZm9yZSxcbiAgICAgICAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5taW5pY2FsY3VsYWRvcmEtaGVhZGVyLmZvcm0taGVhZGVyIHA6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0gfVxuXG4uYmxvY2stbXVsdGl0YXJpZmljYWRvciAuZ3JvdXAtZm9ybS1tdWx0aXRhcmlmaWNhZG9yLFxuLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAuZ3JvdXAtZm9ybS1tdWx0aXRhcmlmaWNhZG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZzogMTVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAuZ3JvdXAtZm9ybS1tdWx0aXRhcmlmaWNhZG9yLFxuICAgIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLmdyb3VwLWZvcm0tbXVsdGl0YXJpZmljYWRvciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLmdyb3VwLXJlY29tbWVuZGVkLFxuLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAuZ3JvdXAtcmVjb21tZW5kZWQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzZhNjI1YTtcbiAgcGFkZGluZzogMTBweCAxMHB4IDQwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAuZ3JvdXAtcmVjb21tZW5kZWQsXG4gICAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAuZ3JvdXAtcmVjb21tZW5kZWQge1xuICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gNDBweDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAuZ3JvdXAtcmVjb21tZW5kZWQgaDIsXG4gIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLmdyb3VwLXJlY29tbWVuZGVkIGgyIHtcbiAgICBjb2xvcjogIzZhNjI1YTtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyOHB4OyB9XG4gIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5ncm91cC1yZWNvbW1lbmRlZCAucGVyaW9kcyxcbiAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAuZ3JvdXAtcmVjb21tZW5kZWQgLnBlcmlvZHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAuZ3JvdXAtcmVjb21tZW5kZWQgLnNhdmUsXG4gIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLmdyb3VwLXJlY29tbWVuZGVkIC5zYXZlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA0MHB4IDA7IH1cbiAgICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAuZ3JvdXAtcmVjb21tZW5kZWQgLnNhdmUgcCxcbiAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5ncm91cC1yZWNvbW1lbmRlZCAuc2F2ZSBwIHtcbiAgICAgIGNvbG9yOiAjNmE2MjVhO1xuICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAuZ3JvdXAtcmVjb21tZW5kZWQgLnNhdmUgcCxcbiAgICAgICAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAuZ3JvdXAtcmVjb21tZW5kZWQgLnNhdmUgcCB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4IDIwcHg7IH0gfVxuICAgICAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLmdyb3VwLXJlY29tbWVuZGVkIC5zYXZlIHAgYSxcbiAgICAgIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLmdyb3VwLXJlY29tbWVuZGVkIC5zYXZlIHAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDk1NzUxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGNvbG9yOiAjMDk1NzUxO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjVlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMTBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1pbi13aWR0aDogMzQwcHg7IH1cbiAgICAgICAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLmdyb3VwLXJlY29tbWVuZGVkIC5zYXZlIHAgYSBhLFxuICAgICAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5ncm91cC1yZWNvbW1lbmRlZCAuc2F2ZSBwIGEgYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5ncm91cC1yZWNvbW1lbmRlZCAuc2F2ZSBwIGE6aG92ZXIsXG4gICAgICAgIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLmdyb3VwLXJlY29tbWVuZGVkIC5zYXZlIHAgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDYsIDk4LCA5MCwgMC4yNSk7XG4gICAgICAgICAgY29sb3I6ICM2YTYyNWE7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLmdyb3VwLXJlY29tbWVuZGVkIC5zYXZlIHAgYTpob3ZlciBhLFxuICAgICAgICAgIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLmdyb3VwLXJlY29tbWVuZGVkIC5zYXZlIHAgYTpob3ZlciBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNmE2MjVhOyB9XG4gICAgICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5ncm91cC1yZWNvbW1lbmRlZCAuc2F2ZSBwIGE6YmVmb3JlLFxuICAgICAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5ncm91cC1yZWNvbW1lbmRlZCAuc2F2ZSBwIGE6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJpY29tb29uXCI7XG4gICAgICAgICAgY29udGVudDogJ1xcZTkxYyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5ncm91cC1yZWNvbW1lbmRlZCAuc2F2ZSBwIGE6aG92ZXIsXG4gICAgICAgIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLmdyb3VwLXJlY29tbWVuZGVkIC5zYXZlIHAgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA5NTc1MTtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDM4MHB4KSB7XG4gICAgICAgICAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLmdyb3VwLXJlY29tbWVuZGVkIC5zYXZlIHAgYSxcbiAgICAgICAgICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5ncm91cC1yZWNvbW1lbmRlZCAuc2F2ZSBwIGEge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNTBweDsgfSB9XG5cbi5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5ncm91cC1hbGwtcHJvZHVjdHMgaDIsXG4uYmxvY2stbWluaWNhbGN1bGFkb3JhIC5ncm91cC1hbGwtcHJvZHVjdHMgaDIge1xuICBjb2xvcjogIzZhNjI1YTtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDI4cHg7IH1cblxuLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLmdyb3VwLWFsbC1wcm9kdWN0cyAubGF5b3V0LW11bHRpdGFyaWZpY2Fkb3IsXG4uYmxvY2stbWluaWNhbGN1bGFkb3JhIC5ncm91cC1hbGwtcHJvZHVjdHMgLmxheW91dC1tdWx0aXRhcmlmaWNhZG9yIHtcbiAgbWFyZ2luOiA0MHB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLmdyb3VwLWFsbC1wcm9kdWN0cyAubGF5b3V0LW11bHRpdGFyaWZpY2Fkb3IsXG4gICAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAuZ3JvdXAtYWxsLXByb2R1Y3RzIC5sYXlvdXQtbXVsdGl0YXJpZmljYWRvciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAuZ3JvdXAtYWxsLXByb2R1Y3RzIC5sYXlvdXQtbXVsdGl0YXJpZmljYWRvciAucHJvZHVjdHMsXG4gIC5ibG9jay1taW5pY2FsY3VsYWRvcmEgLmdyb3VwLWFsbC1wcm9kdWN0cyAubGF5b3V0LW11bHRpdGFyaWZpY2Fkb3IgLnByb2R1Y3RzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLmdyb3VwLWZvcm0tbXVsdGl0YXJpZmljYWRvciB7XG4gICAgbWluLWhlaWdodDogNTUwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmJsb2NrLW1pbmljYWxjdWxhZG9yYSAubWluaWNhbGN1bGFkb3JhLWhlYWRlci5mb3JtLWhlYWRlciB7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7IH0gfVxuXG4uYmxvY2stbWluaWNhbGN1bGFkb3JhIC5idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDAwMzk7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5idG4tcHJpbWFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg5MjczNztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYmxvY2stbWluaWNhbGN1bGFkb3JhIC5idG4tcHJpbWFyeTpob3Zlcjo6YmVmb3JlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4ubWVkaWFkb3JlcyAuc2Vzc2lvbnMtbXVsdGl0YXJpZmljYWRvci1zZXNzaW9uc211bHRpdGFyaWZpY2Fkb3JkZWZhdWx0LWZvcm0gLmpzLWZvcm0td3JhcHBlci5mb3JtLWdyb3VwLmZpZWxkLS1uYW1lLW90cm9zIC5mb3JtLXR5cGUtbnVtYmVyLFxuLnJlbnRhIC5zZXNzaW9ucy1tdWx0aXRhcmlmaWNhZG9yLXNlc3Npb25zbXVsdGl0YXJpZmljYWRvcmRlZmF1bHQtZm9ybSAuanMtZm9ybS13cmFwcGVyLmZvcm0tZ3JvdXAuZmllbGQtLW5hbWUtb3Ryb3MgLmZvcm0tdHlwZS1udW1iZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1lZGlhZG9yZXMgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cC5maWVsZC0tbmFtZS1vdHJvcyAuZm9ybS10eXBlLW51bWJlciBsYWJlbCxcbiAgLm1lZGlhZG9yZXMgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cC5maWVsZC0tbmFtZS1vdHJvcyAuZm9ybS10eXBlLW51bWJlciAuaW5wdXQtZ3JvdXAsXG4gIC5yZW50YSAuc2Vzc2lvbnMtbXVsdGl0YXJpZmljYWRvci1zZXNzaW9uc211bHRpdGFyaWZpY2Fkb3JkZWZhdWx0LWZvcm0gLmpzLWZvcm0td3JhcHBlci5mb3JtLWdyb3VwLmZpZWxkLS1uYW1lLW90cm9zIC5mb3JtLXR5cGUtbnVtYmVyIGxhYmVsLFxuICAucmVudGEgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cC5maWVsZC0tbmFtZS1vdHJvcyAuZm9ybS10eXBlLW51bWJlciAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZWRpYWRvcmVzIC5zZXNzaW9ucy1tdWx0aXRhcmlmaWNhZG9yLXNlc3Npb25zbXVsdGl0YXJpZmljYWRvcmRlZmF1bHQtZm9ybSAuanMtZm9ybS13cmFwcGVyLmZvcm0tZ3JvdXAuZmllbGQtLW5hbWUtb3Ryb3MgLmZvcm0tdHlwZS1udW1iZXIgLmlucHV0LWdyb3VwLFxuICAucmVudGEgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cC5maWVsZC0tbmFtZS1vdHJvcyAuZm9ybS10eXBlLW51bWJlciAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lZGlhZG9yZXMgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cC5maWVsZC0tbmFtZS1vdHJvcyAuZm9ybS10eXBlLW51bWJlciAuaW5wdXQtZ3JvdXAgc3BhbjphZnRlcixcbiAgICAucmVudGEgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cC5maWVsZC0tbmFtZS1vdHJvcyAuZm9ybS10eXBlLW51bWJlciAuaW5wdXQtZ3JvdXAgc3BhbjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1lZGlhZG9yZXMgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cC5maWVsZC0tbmFtZS1vdHJvcyAuZm9ybS10eXBlLW51bWJlciAuaW5wdXQtZ3JvdXAgLmZvcm0tZWxlbWVudC1zaWJsaW5nLXN1ZmZpeDphZnRlcixcbiAgICAucmVudGEgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cC5maWVsZC0tbmFtZS1vdHJvcyAuZm9ybS10eXBlLW51bWJlciAuaW5wdXQtZ3JvdXAgLmZvcm0tZWxlbWVudC1zaWJsaW5nLXN1ZmZpeDphZnRlciB7XG4gICAgICBjb250ZW50OiAnLic7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAjNmE2MjVhOyB9XG4gICAgLm1lZGlhZG9yZXMgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cC5maWVsZC0tbmFtZS1vdHJvcyAuZm9ybS10eXBlLW51bWJlciAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFwcGVuZCxcbiAgICAucmVudGEgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cC5maWVsZC0tbmFtZS1vdHJvcyAuZm9ybS10eXBlLW51bWJlciAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZWRpYWRvcmVzIC5zZXNzaW9ucy1tdWx0aXRhcmlmaWNhZG9yLXNlc3Npb25zbXVsdGl0YXJpZmljYWRvcmRlZmF1bHQtZm9ybSAuanMtZm9ybS13cmFwcGVyLmZvcm0tZ3JvdXBbY2xhc3MqPSdmaWVsZC0tbmFtZS1mZWNoYW5hY2ltaWVudG8nXSxcbi5yZW50YSAuc2Vzc2lvbnMtbXVsdGl0YXJpZmljYWRvci1zZXNzaW9uc211bHRpdGFyaWZpY2Fkb3JkZWZhdWx0LWZvcm0gLmpzLWZvcm0td3JhcHBlci5mb3JtLWdyb3VwW2NsYXNzKj0nZmllbGQtLW5hbWUtZmVjaGFuYWNpbWllbnRvJ10ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1lZGlhZG9yZXMgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cFtjbGFzcyo9J2ZpZWxkLS1uYW1lLWZlY2hhbmFjaW1pZW50byddOmFmdGVyLFxuICAucmVudGEgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cFtjbGFzcyo9J2ZpZWxkLS1uYW1lLWZlY2hhbmFjaW1pZW50byddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnLic7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzZhNjI1YTsgfVxuICAubWVkaWFkb3JlcyAuc2Vzc2lvbnMtbXVsdGl0YXJpZmljYWRvci1zZXNzaW9uc211bHRpdGFyaWZpY2Fkb3JkZWZhdWx0LWZvcm0gLmpzLWZvcm0td3JhcHBlci5mb3JtLWdyb3VwW2NsYXNzKj0nZmllbGQtLW5hbWUtZmVjaGFuYWNpbWllbnRvJ10gLnBsYWNlaG9sZGVyLFxuICAucmVudGEgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC5qcy1mb3JtLXdyYXBwZXIuZm9ybS1ncm91cFtjbGFzcyo9J2ZpZWxkLS1uYW1lLWZlY2hhbmFjaW1pZW50byddIC5wbGFjZWhvbGRlciB7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cblxuLm1lZGlhZG9yZXMgLm5vZGUtLXR5cGUtcHJvZHVjdC5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIC5maWVsZC0tbmFtZS1tb3JlLWluZm9ybWF0aW9uLFxuLm1lZGlhZG9yZXMgLm5vZGUtLXR5cGUtcHJvZHVjdC5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIC5ibnQtZWNvbW1lcmNlLCAubWVkaWFkb3JlcyAubm9kZS0tdHlwZS1wcm9kdWN0Lm5vZGUtLXZpZXctbW9kZS1wcm9kdWN0LWNhcmQgLmZpZWxkLS1uYW1lLW1vcmUtaW5mb3JtYXRpb24sXG4ubWVkaWFkb3JlcyAubm9kZS0tdHlwZS1wcm9kdWN0Lm5vZGUtLXZpZXctbW9kZS1wcm9kdWN0LWNhcmQgLmJudC1lY29tbWVyY2UsIC5tZWRpYWRvcmVzIC5ub2RlLS10eXBlLXByb2R1Y3Qubm9kZS0tdmlldy1tb2RlLXByb2R1Y3QtY2FyZC1yZWNvbW1lbmRlZCAuZmllbGQtLW5hbWUtbW9yZS1pbmZvcm1hdGlvbixcbi5tZWRpYWRvcmVzIC5ub2RlLS10eXBlLXByb2R1Y3Qubm9kZS0tdmlldy1tb2RlLXByb2R1Y3QtY2FyZC1yZWNvbW1lbmRlZCAuYm50LWVjb21tZXJjZSxcbi5yZW50YSAubm9kZS0tdHlwZS1wcm9kdWN0Lm5vZGUtLXZpZXctbW9kZS10ZWFzZXIgLmZpZWxkLS1uYW1lLW1vcmUtaW5mb3JtYXRpb24sXG4ucmVudGEgLm5vZGUtLXR5cGUtcHJvZHVjdC5ub2RlLS12aWV3LW1vZGUtdGVhc2VyIC5ibnQtZWNvbW1lcmNlLFxuLnJlbnRhIC5ub2RlLS10eXBlLXByb2R1Y3Qubm9kZS0tdmlldy1tb2RlLXByb2R1Y3QtY2FyZCAuZmllbGQtLW5hbWUtbW9yZS1pbmZvcm1hdGlvbixcbi5yZW50YSAubm9kZS0tdHlwZS1wcm9kdWN0Lm5vZGUtLXZpZXctbW9kZS1wcm9kdWN0LWNhcmQgLmJudC1lY29tbWVyY2UsXG4ucmVudGEgLm5vZGUtLXR5cGUtcHJvZHVjdC5ub2RlLS12aWV3LW1vZGUtcHJvZHVjdC1jYXJkLXJlY29tbWVuZGVkIC5maWVsZC0tbmFtZS1tb3JlLWluZm9ybWF0aW9uLFxuLnJlbnRhIC5ub2RlLS10eXBlLXByb2R1Y3Qubm9kZS0tdmlldy1tb2RlLXByb2R1Y3QtY2FyZC1yZWNvbW1lbmRlZCAuYm50LWVjb21tZXJjZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uYmxvY2stbWVkaWFkb3JlcyAuc2Vzc2lvbnMtbXVsdGl0YXJpZmljYWRvci1zZXNzaW9uc211bHRpdGFyaWZpY2Fkb3JkZWZhdWx0LWZvcm0sXG4uYmxvY2stcmVudGEgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtLFxuLmJsb2NrLW11bHRpdGFyaWZpY2Fkb3IgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5ibG9jay1tZWRpYWRvcmVzIC5zZXNzaW9ucy1tdWx0aXRhcmlmaWNhZG9yLXNlc3Npb25zbXVsdGl0YXJpZmljYWRvcmRlZmF1bHQtZm9ybSAud2l6YXJkLWZvcm0tbG9hZGVyLFxuICAuYmxvY2stcmVudGEgLnNlc3Npb25zLW11bHRpdGFyaWZpY2Fkb3Itc2Vzc2lvbnNtdWx0aXRhcmlmaWNhZG9yZGVmYXVsdC1mb3JtIC53aXphcmQtZm9ybS1sb2FkZXIsXG4gIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5zZXNzaW9ucy1tdWx0aXRhcmlmaWNhZG9yLXNlc3Npb25zbXVsdGl0YXJpZmljYWRvcmRlZmF1bHQtZm9ybSAud2l6YXJkLWZvcm0tbG9hZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuYmxvY2stbWVkaWFkb3JlcyAuc2Vzc2lvbnMtbXVsdGl0YXJpZmljYWRvci1zZXNzaW9uc211bHRpdGFyaWZpY2Fkb3JkZWZhdWx0LWZvcm0gLndpemFyZC1mb3JtLWxvYWRlciAuYm94LFxuICAgIC5ibG9jay1yZW50YSAuc2Vzc2lvbnMtbXVsdGl0YXJpZmljYWRvci1zZXNzaW9uc211bHRpdGFyaWZpY2Fkb3JkZWZhdWx0LWZvcm0gLndpemFyZC1mb3JtLWxvYWRlciAuYm94LFxuICAgIC5ibG9jay1tdWx0aXRhcmlmaWNhZG9yIC5zZXNzaW9ucy1tdWx0aXRhcmlmaWNhZG9yLXNlc3Npb25zbXVsdGl0YXJpZmljYWRvcmRlZmF1bHQtZm9ybSAud2l6YXJkLWZvcm0tbG9hZGVyIC5ib3gge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0NSU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNDUlKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2Nzcy9pbWFnZXMvbG9hZGVyLmdpZlwiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuICAgIC5ibG9jay1tZWRpYWRvcmVzIC5zZXNzaW9ucy1tdWx0aXRhcmlmaWNhZG9yLXNlc3Npb25zbXVsdGl0YXJpZmljYWRvcmRlZmF1bHQtZm9ybSAud2l6YXJkLWZvcm0tbG9hZGVyIC5tZXNzYWdlLFxuICAgIC5ibG9jay1yZW50YSAuc2Vzc2lvbnMtbXVsdGl0YXJpZmljYWRvci1zZXNzaW9uc211bHRpdGFyaWZpY2Fkb3JkZWZhdWx0LWZvcm0gLndpemFyZC1mb3JtLWxvYWRlciAubWVzc2FnZSxcbiAgICAuYmxvY2stbXVsdGl0YXJpZmljYWRvciAuc2Vzc2lvbnMtbXVsdGl0YXJpZmljYWRvci1zZXNzaW9uc211bHRpdGFyaWZpY2Fkb3JkZWZhdWx0LWZvcm0gLndpemFyZC1mb3JtLWxvYWRlciAubWVzc2FnZSB7XG4gICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBjb2xvcjogIzk4YTkyYTtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMzUlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNSUpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwOyB9XG4iLCJAaW1wb3J0IFwicmVjaXBlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuLyogVkFSSUFCTEVTICovXG5cbi8vIENvbG9yc1xuJHByaW1hcnktc2hhZGU6ICM5OGE5MmE7XG4kcHJpbWFyeS1saWdodDogbGlnaHRlbigkcHJpbWFyeS1zaGFkZSwgMzclKTtcbiRwcmltYXJ5LWRhcms6IGRhcmtlbigkcHJpbWFyeS1zaGFkZSwgMTIlKTtcbiRhY2NlbnQtc2hhZGU6ICMwOTU3NTE7XG4kYWNjZW50LWxpZ2h0OiBsaWdodGVuKCRhY2NlbnQtc2hhZGUsIDM3JSk7XG4kYWNjZW50LWRhcms6IGRhcmtlbigkYWNjZW50LXNoYWRlLCAxMiUpO1xuXG4vLyBSZWFzc2lnbiBjb2xvciB2YXJzIHRvIHNlbWFudGljIGNvbG9yIHNjaGVtZVxuLy9DVVNUT01cbiR3aGl0ZTogI0ZGRkZGRjtcbiRibGFjazogIzAwMDtcbiRibGFjay04MDA6ICM0YTRhNGE7XG4kYmctZ3JheTogI0YwRjBGMDtcbiRncmF5OiAjNEE0QTRBO1xuLy8kZ3JheS1saWdodDo7XG4kZ3JheS13YXJtOiByZ2IoMTA2LCA5OCwgOTApO1xuJGdyYXktaG92ZXI6ICMzMzMzMzM7XG4kZ3JheS1kaXNhYmxlZDogI2QyZDBjZDtcbiRncmF5LTEwMDogI2YwZWZlZTtcbiRncmF5LXRleHQ6ICRncmF5LXdhcm07XG4kZ3JheS1hY3RpdmU6ICNBNkExOUM7XG4kdGV4dDogJGdyYXktd2FybTtcbiRncmF5LTIwMDogI0I0QjBBQztcbi8vJGdyYXktMzAwOiAjZjhmOWZhO1xuLy8kZ3JheS00MDA6ICNmOGY5ZmE7XG4vLyRncmF5LTUwMDogI2Y4ZjlmYTtcbi8vJGdyYXktNjAwOiAjZjhmOWZhO1xuLy8kZ3JheS03MDA6ICNmOGY5ZmE7XG4kZ3JheS04MDA6ICNmOGY5ZmE7XG4vLyRncmF5LTkwMDogI2Y4ZjlmYTtcblxuLy9USEVNRVxuJHJlZDogI2VkMDAzOTtcbiRyZWQtYnV0dG9uOiAjZWQwMDM5O1xuJHJlZC1ob3ZlcjogIzg5MjczNztcbiR5ZWxsb3c6ICNkNGFmMzc7XG4kZ3JlZW46ICRwcmltYXJ5LXNoYWRlO1xuJGdyZWVuLWhvdmVyOiAjNDM3NTJiO1xuJGN5YW46ICMxN2EyYjg7XG4vLyRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbi8vJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuXG4kY29sb3JfMTogIzZBNjI1QTtcbiRjb2xvcl8yOiAjMDk1NzUxO1xuJGNvbG9yXzM6IHdoaXRlO1xuJGZvbnQtZmFtaWx5XzE6IFwiaWNvbW9vblwiO1xuJGJhY2tncm91bmQtY29sb3JfMTogd2hpdGU7XG4kYmFja2dyb3VuZC1jb2xvcl8yOiAjOThBOTJBO1xuJGJhY2tncm91bmQtY29sb3JfMzogI0YwRUZFRDtcbiRib3JkZXItY29sb3JfMTogIzk4QTkyQTtcbiR0aXRsZV9hY2NvcmRpb246ICM0Mzc1Mjg7XG4kdGl0bGVfYWNjb3JkaW9uX2hvdmVyOiAjMDk1NzUxO1xuXG4kdGhlbWUtY29sb3JzOiAocHJpbWFyeTogJGFjY2VudC1zaGFkZSwgc2Vjb25kYXJ5OiAkcHJpbWFyeS1zaGFkZSwgc3VjY2VzczogJGdyZWVuLCBpbmZvOiAkY3lhbiwgd2FybmluZzogJHllbGxvdywgZGFuZ2VyOiAkcmVkLCBsaWdodDogJGdyYXktMTAwLCBkYXJrOiAkZ3JheS04MDApO1xuJGJyYW5kLXByaW1hcnk6ICRhY2NlbnQtc2hhZGU7XG4vLyRicmFuZC1zdWNjZXNzOiAkZ3JlZW47XG4vLyRicmFuZC1pbmZvOiAkdGVhbDtcbi8vJGJyYW5kLXdhcm5pbmc6ICRvcmFuZ2U7XG4vLyRicmFuZC1kYW5nZXI6ICRyZWQ7XG4kYnJhbmQtaW52ZXJzZTogJHByaW1hcnktc2hhZGU7XG4vLyBCb2R5XG4kdGV4dC1wcmltYXJ5OiAkZ3JheTtcblxuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuLy8kYm9keS1iZzogJHdoaXRlO1xuLy8kYm9keS1jb2xvcjogJGdyYXktZGFyaztcbiRpbnZlcnNlLWJnOiAkcHJpbWFyeS1zaGFkZTtcbi8vJGludmVyc2UtY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cbiRsaW5rLWNvbG9yOiAkYWNjZW50LXNoYWRlO1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZTtcbiRsaW5rLWhvdmVyLWNvbG9yOiAkcHJpbWFyeS1zaGFkZTtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZTtcbi8vIENvbW1lbnRzXG4kY29tbWVudC1zcGFjZXIteDogMS4yNWVtO1xuJGNvbW1lbnQtc3BhY2VyLXk6IDEuMjVlbTtcbi8vIFJlc3BvbnNpdmUgZm9udCBzaXplc1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWU7XG5cbi8vKiAqKioqKioqKioqKioqKiogUEFHRSBDT05UQUlORVIgKi9cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICAgICAgeHhzOiAwLFxuICAgICAgICB4eHMtcGx1czogMzgwcHgsXG4gICAgICAgIHhzOiA0ODBweCxcbiAgICAgICAgeHMtcGx1czogNTc2cHgsXG4gICAgICAgIHNtLW1pbnVzOiA2ODBweCxcbiAgICAgICAgc206IDc2OHB4LFxuICAgICAgICBtZDogOTkycHgsXG4gICAgICAgIG1kLXBsdXM6IDEwMjRweCxcbiAgICAgICAgbGc6IDEyMDBweCxcbiAgICAgICAgeGw6IDE2MDBweCxcbik7XG5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gICAgICAgIHNtOiA1NDBweCxcbiAgICAgICAgbWQ6IDc2OHB4LFxuICAgICAgICBsZzogOTkycHgsXG4gICAgICAgIHhsOiAxMjQwcHhcbik7XG5cbi8vKiAqKioqKioqKioqKioqKiogRk9OVFMgLyBJQ09OUyAqL1xuXG4kb3BlbnNhbnMtcmVndWxhcjogJ29wZW5zYW5zLXJlZ3VsYXInLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuJGFyaWFsOiBBcmlhbCwgc2Fucy1zZXJpZjtcblxuJGFyaWFsX2JsYWNrOiBBcmlhbCBCbGFjaywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRpY29tb29uOiAnaWNvbW9vbic7XG4iLCJAaW1wb3J0IFwiYm91cmJvbi9ib3VyYm9uXCI7XG5cbkBtaXhpbiBmb250LWZhY2UoXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJHdlaWdodDogbm9ybWFsLFxuICAkc3R5bGU6IG5vcm1hbCxcbiAgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcblxuICAkZm9udC11cmwtcHJlZml4OiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpO1xuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAgICAgICAgICAgICAgICRmb250LWZhbWlseSxcbiAgICAgICAgICAgICAgICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgICAgICAgICAgICAgICAkZmlsZS1mb3JtYXRzLFxuICAgICAgICAgICAgICAgICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuXG4vLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoXG4gICRuYW1lLFxuICAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLFxuICAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKVxuKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKFxuICAgICRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSxcbiAgICBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksXG4gICAgbnVsbFxuICApO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAwLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKFxuICAkbG93ZXIsXG4gICR1cHBlcixcbiAgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50c1xuKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci15OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IGNhbGMoXG4gICAgdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci15KSAqIC0xXG4gICk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1yaWdodDogY2FsYyhcbiAgICB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXgpICogLTAuNVxuICApOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYyhcbiAgICB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXgpICogLTAuNVxuICApOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC8vIEFkZCBib3ggc2l6aW5nIGlmIG9ubHkgdGhlIGdyaWQgaXMgbG9hZGVkXG4gIGJveC1zaXppbmc6IGlmKFxuICAgIHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsXG4gICAgYm9yZGVyLWJveCxcbiAgICBudWxsXG4gICk7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSBzZXQgdGhlIHdpZHRoXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFByZXZlbnQgYC5jb2wtYXV0b2AsIGAuY29sYCAoJiByZXNwb25zaXZlIHZhcmlhbnRzKSBmcm9tIGJyZWFraW5nIG91dCB0aGUgZ3JpZFxuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKFxuICAgIHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteCkgKiAwLjVcbiAgKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKFxuICAgIHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteCkgKiAwLjVcbiAgKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG4gIH0gQGVsc2Uge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICB9XG59XG5cbi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucyhcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsXG4gICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCxcbiAgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50c1xuKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgIC8vIC5yb3ctY29scyBkZWZhdWx0cyBtdXN0IGFsbCBhcHBlYXIgYmVmb3JlIC5jb2wgb3ZlcnJpZGVzIHNvIHRoZXkgY2FuIGJlIG92ZXJyaWRkZW4uXG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4OiAxIDAgMCU7IC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgfVxuXG4gICAgICAucm93LWNvbHMjeyRpbmZpeH0tYXV0byA+ICoge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90KCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7XG4gICAgICAgICAgICAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICAvL1xuICAgICAgLy8gTWFrZSB1c2Ugb2YgYC5nLSpgLCBgLmd4LSpgIG9yIGAuZ3ktKmAgdXRpbGl0aWVzIHRvIGNoYW5nZSBzcGFjaW5nIGJldHdlZW4gdGhlIGNvbHVtbnMuXG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGd1dHRlcnMge1xuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3gjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXg6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neSN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vQnV0dG9uc1xuQG1peGluIGJ1dHRvbl9wcmltYXJ5X2dob3N0KCRjb2xvciwgJGNvbG9yLWhvdmVyKSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogJGNvbG9yO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAwLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJGFyaWFsO1xuICBwYWRkaW5nOiAxM3B4IDEwcHg7XG4gIG1heC1oZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhe1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwNiwgOTgsIDkwLCAwLjI1KTtcbiAgICBjb2xvcjogIzZhNjI1YTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYXtcbiAgICAgIGNvbG9yOiAjNmE2MjVhO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uX3ByaW1hcnlfZ2hvc3RfYXJyb3coJGNvbG9yLCAkY29sb3ItaG92ZXIpIHtcbiAgQGluY2x1ZGUgYnV0dG9uX3ByaW1hcnlfZ2hvc3QoJGNvbG9yLCAkY29sb3ItaG92ZXIpO1xuICAmOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICRpY29tb29uO1xuICAgIGNvbnRlbnQ6ICdcXGU5MWMnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uX3ByaW1hcnlfZ2hvc3RfbGl0dGxlKCRjb2xvciwgJGJvcmRlci1jb2xvciwgJGJvcmRlci1jb2xvci1ob3Zlcikge1xuICBtYXgtaGVpZ2h0OiA0MHB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbkBtaXhpbiBidXR0b25fcHJpbWFyeSgkYmFja2dyb3VuZC1jb2xvciwgJGJhY2tncm91bmQtY29sb3ItaG92ZXIsICRjb2xvcikge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LWhlaWdodDogNTBweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAvKmJvcmRlcjogMnB0IHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yOyovXG4gIGNvbG9yOiAkd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiAwLjVlbTtcbiAgZm9udC1mYW1pbHk6ICRhcmlhbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4O1xuICBhe1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4taG92ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LWZhbWlseTogJGljb21vb247XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG4gIC8vJjpob3Zlcjo6YmVmb3JlIHtcbiAgLy8gIGNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgLy99XG59XG5cbkBtaXhpbiBidXR0b25fcHJpbWFyeV9saXR0bGUoJGJhY2tncm91bmQtY29sb3IsICRiYWNrZ3JvdW5kLWNvbG9yLWhvdmVyLCAkY29sb3IpIHtcbiAgQGluY2x1ZGUgYnV0dG9uX3ByaW1hcnkoJGJhY2tncm91bmQtY29sb3IsICRiYWNrZ3JvdW5kLWNvbG9yLWhvdmVyLCAkY29sb3IpO1xuICBtYXgtaGVpZ2h0OiA0MHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uX2Fycm93KCRiYWNrZ3JvdW5kLWNvbG9yLCAkYmFja2dyb3VuZC1jb2xvci1ob3ZlciwgJGNvbG9yKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbl9wcmltYXJ5KCRiYWNrZ3JvdW5kLWNvbG9yLCAkYmFja2dyb3VuZC1jb2xvci1ob3ZlciwgJGNvbG9yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb2xvcjogJGNvbG9yO1xuICBmb250LWZhbWlseTogJGFyaWFsO1xuICBmb250LXNpemU6IDE4cHg7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxlOTFjJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbl9sb2NrKCRiYWNrZ3JvdW5kLWNvbG9yLCAkYmFja2dyb3VuZC1jb2xvci1ob3Zlcikge1xuICBAaW5jbHVkZSBidXR0b25fcHJpbWFyeSgkYmFja2dyb3VuZC1jb2xvciwgJGJhY2tncm91bmQtY29sb3ItaG92ZXIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXGU5YjknO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b25fcHJpbWFyeV9naG9zdF9sb2NrKCRjb2xvciwgJGNvbG9yLWhvdmVyKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbl9wcmltYXJ5X2dob3N0KCRjb2xvciwgJGNvbG9yLWhvdmVyKTtcbiAgYXtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LWZhbWlseTogJGFyaWFsO1xuICB9XG4gICY6aG92ZXJ7XG4gICAgYXtcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiAkaWNvbW9vbjtcbiAgICBjb250ZW50OiAnXFxlOWI5JztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uX3ByaW1hcnlfZ2hvc3RfdXNlcigkY29sb3IsICRjb2xvci1ob3Zlcikge1xuICBAaW5jbHVkZSBidXR0b25fcHJpbWFyeV9naG9zdCgkY29sb3IsICRjb2xvci1ob3Zlcik7XG4gIGF7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1mYW1pbHk6ICRhcmlhbDtcbiAgfVxuICAmOmhvdmVye1xuICAgIGF7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICRpY29tb29uO1xuICAgIGNvbnRlbnQ6ICdcXGU5YWInO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vL1R5cG9zXG5AbWl4aW4gZm9udC1oZXJvKCRjb2xvciwgJGZvbnQtZmFtaWx5KSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge2ZvbnQtc2l6ZTogMzhweH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge2ZvbnQtc2l6ZTogNDZweH1cbn1cblxuQG1peGluIGZvbnQtaDEoJGNvbG9yLCAkZm9udC1mYW1pbHkpIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBjb2xvcjogJGNvbG9yO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xufVxuXG5AbWl4aW4gZm9udC1oMigkY29sb3IsICRmb250LWZhbWlseSkge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG59XG5cbkBtaXhpbiBmb250LWgzKCRjb2xvciwgJGZvbnQtZmFtaWx5KSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG5cbkBtaXhpbiBmb250LWg0KCRjb2xvciwgJGZvbnQtZmFtaWx5KSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbn1cblxuQG1peGluIGZvbnQtaDUoJGNvbG9yLCAkZm9udC1mYW1pbHkpIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogJGNvbG9yO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xufVxuXG5AbWl4aW4gZm9udC1ib2R5KCRjb2xvciwgJGZvbnQtZmFtaWx5LCAkc2l6ZSkge1xuICBjb2xvcjogJGNvbG9yO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRzaXplO1xufVxuXG5AbWl4aW4gZm9udC1zbWFsbCgkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRhcmlhbDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG5AbWl4aW4gZm9udC1leHRyYXNtYWxsKCRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBmb250LWZhbWlseTogJGFyaWFsO1xuICBmb250LXNpemU6IDExcHg7XG59XG4iLCJAaW1wb3J0IFwiYm91cmJvbi9ib3VyYm9uXCI7XG5cbi8vICogKioqKioqIEBpbmNsdWRlIGljb21vb24oZmEtY2FtZXJhLXJldHJvKTsqKioqICovXG4gQG1peGluIGljb21vb24oJHNpemUsICRmb250OiAnaWNvbW9vbicpIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQ7IGZvbnQtc2l6ZTogJHNpemU7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB9XG5cbi8vKiAqKioqKiBPUEFDSVRZICoqKioqICovXG4gIEBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgJG9wYWNpdHktaWU6ICRvcGFjaXR5ICogMTAwO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7IC8vSUU4XG4gIH1cblxuLy8qICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAgUkdCQSBTVVBQT1JUICovXG4gIC8vICogKioqKioqIEBpbmNsdWRlIHJnYmEtZmFsbGJhY2soY29sb3IsICMxMjM0NTYsIDAuNSk7KioqKiAqL1xuICAvLyAqICoqKioqKiBAaW5jbHVkZSByZ2JhLWZhbGxiYWNrKGJnLCAjNjU0MzIxLCAwLjYpOyoqKiogKi9cbiAgICBAbWl4aW4gcmdiYS1mYWxsYmFjaygkdHlwZSwgJGNvbG9yLCAkcGVyY2VudGFnZSkge1xuICAgICAgJHJnYlJFRDogcmVkKCRjb2xvcik7XG4gICAgICAkcmdiR1JFRU46IGdyZWVuKCRjb2xvcik7XG4gICAgICAkcmdiQkxVRTogYmx1ZSgkY29sb3IpO1xuICAgICAgQGlmICR0eXBlID09IGNvbG9yIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiByZ2JhKCRyZ2JSRUQsICRyZ2JHUkVFTiwgJHJnYkJMVUUsICRwZXJjZW50YWdlKTtcbiAgICAgIH1cbiAgICAgIEBpZiAkdHlwZSA9PSBiZyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHJnYlJFRCwgJHJnYkdSRUVOLCAkcmdiQkxVRSwgJHBlcmNlbnRhZ2UpO1xuICAgICAgfVxuICAgIH1cblxuLy8qICoqKioqIEJHLUlNQUdFIFNWRyBTVVBQT1JUICoqKioqICovXG4gIEBtaXhpbiBiZy1pbWFnZSgkaW1hZ2UpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzLyN7JGltYWdlfS5zdmcpO1xuICAgIC5uby1zdmcgJiB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvI3skaW1hZ2V9LnBuZyk7fVxuICB9XG5cbi8vICogKioqKioqIEBpbmNsdWRlIGNsZWFyZml4OyAqKioqICovXG4gIEBtaXhpbiBjbGVhcmZpeCB7XG4gICAgKnpvb206IDE7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICY6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuICB9XG5cbi8vICogKioqKioqIEBpbmNsdWRlIGludmlzaWJsZTsgKioqKiAqL1xuICBAbWl4aW4gaW52aXNpYmxlIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxuXG4vLyAqICoqKioqKiBAaW5jbHVkZSBib3JkZXItcmFkaXVzOyAqKioqICovXG5cbiAgQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIC1tcy1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8qICoqKioqIEBpbmNsdWRlIGJsb2NrLWVsbGlwc2lzKDEuMSwgNCk7ICogKi9cbiAgQG1peGluIGJsb2NrLWVsbGlwc2lzKCRsaW5lcy10by1zaG93LCAkaGVpZ2h0LWJsb2NrKSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8qIEZhbGxiYWNrIGZvciBub24td2Via2l0ICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0LWJsb2NrOyAvKiBGYWxsYmFjayBmb3Igbm9uLXdlYmtpdCAqL1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmVzLXRvLXNob3c7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG5cbiJdfQ== */
