main .common_head h1 {
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.38;
  color: #333333; }
  @media screen and (max-width: 600px) {
    main .common_head h1 {
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 1.27; } }

@media screen and (max-width: 600px) {
  main section p {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.5;
    margin-bottom: 0;
    margin-top: 18px; } }

main section p.lead {
  margin-bottom: 40px; }
  @media screen and (max-width: 600px) {
    main section p.lead {
      margin-top: 0px;
      margin-bottom: 18px; } }
  main section p.lead span {
    color: #c7b299; }

main section dl {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin: 0 auto;
  max-width: 992px;
  width: 90%;
  margin-bottom: 46px; }
  @media screen and (max-width: 600px) {
    main section dl {
      margin: 0;
      width: 100%;
      display: block;
      min-width: 100%;
      margin-bottom: 18px;
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.5; } }
  main section dl dt {
    text-align: left;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.57;
    white-space: nowrap;
    margin-top: 14px; }
    @media screen and (max-width: 600px) {
      main section dl dt {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.5;
        width: 100%;
        display: block;
        margin-top: 0;
        margin-bottom: 4px; } }
  main section dl dd {
    display: block; }
    main section dl dd p {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.5;
      text-align: left;
      margin-left: 16px;
      white-space: nowrap; }
      @media screen and (max-width: 600px) {
        main section dl dd p {
          font-size: 10px;
          font-size: 1rem;
          margin-top: 4px;
          margin-left: 0;
          width: 100%; } }
    main section dl dd .input_wrap {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -moz-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -webkit-align-self: center;
      -moz-align-self: center;
      -ms-align-self: center;
      align-self: center; }
      @media screen and (max-width: 600px) {
        main section dl dd .input_wrap {
          display: block; } }
    main section dl dd .err {
      margin-left: 0;
      white-space: normal; }

main section.company dl {
  margin-bottom: 40px; }
  main section.company dl:nth-of-type(1) {
    margin-top: 32px; }
    @media screen and (max-width: 600px) {
      main section.company dl:nth-of-type(1) {
        margin-top: 0; } }
  main section.company dl dt {
    margin-top: 0;
    font-weight: bold;
    width: 84px;
    margin-right: 80px; }
    @media screen and (max-width: 600px) {
      main section.company dl dt {
        margin-bottom: 18px; } }
  main section.company dl dd {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.57; }
    @media screen and (max-width: 600px) {
      main section.company dl dd {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.5;
        margin-bottom: 18px; } }

main section.recruit .wrap {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 992px;
  width: 90%;
  /*
					dl {
						margin: 0;
						margin-bottom: 40px;
						display: block;
						width: 23%;
						margin-right: 2.5%;
						@media screen and (max-width:600px) {
							margin-bottom: 0;
							width: 50%;
							min-width: initial;
							margin-right: 0;
							padding-right: 16px;
							padding-bottom: 20px;
						}
						&:nth-of-type(2n) {
							@media screen and (max-width:600px) {
								border-left: 1px solid $bg;
								padding-left: 16px;
								padding-right: 0;
							}
						}
						&:nth-of-type(4n) {
							margin-right: 0;
						}
						&:last-of-type {
							@media screen and (max-width:600px) {
								padding-bottom: 0;
								margin-bottom: 40px;
							}
						}
						dt {
							margin-top: 0;
							font-weight: bold;
							position: relative;
							@media screen and (max-width:600px) {
								margin-bottom: 0;
							}
							span {
								position: absolute;
								right: 0;
								top: 0;
								background: $light-grey-blue;
								display: block;
								color: #ffffff;
								@include fz(12);
								line-height: 1;
								text-align: center;
								padding: 8px 0;
								width: 80px;
							}
							img {
								width: 100%;
							}
						}
						dd {
							@include fz(12);
							line-height: 1.3;
							@media screen and (max-width:600px) {
								@include fz(10);
								line-height: 1.4;
								margin-bottom: 0;
							}
							a {
								@include fz(16);
								line-height: 1.375;
								@media screen and (max-width:600px) {
									@include fz(14);
									line-height: 1.43;
								}
							}
							&:nth-of-type(1) {
								margin-top: 10px;
								margin-bottom: 6px;
							    height: 44px;
							    line-height: 1.375;
							    position: relative;
							    overflow: hidden;
							    @media screen and (max-width:600px) {
							    	margin-bottom: 4px;
							    }
							}
						}
					}
					*/ }
  @media screen and (max-width: 600px) {
    main section.recruit .wrap {
      max-width: initial;
      width: 100%; } }
  main section.recruit .wrap .up_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -1.08173%;
    margin-right: -1.08173%;
    width: 100%; }
    @media screen and (max-width: 600px) {
      main section.recruit .wrap .up_list {
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 40px; } }
    main section.recruit .wrap .up_list li {
      width: 22.83654%;
      margin: 0 1.08173%;
      position: relative;
      padding-bottom: 0;
      margin-bottom: 40px; }
      @media screen and (max-width: 600px) {
        main section.recruit .wrap .up_list li {
          width: 50%;
          padding-left: 12px;
          margin-right: 0;
          margin-left: 0;
          margin-bottom: 0;
          padding-bottom: 24px; }
          main section.recruit .wrap .up_list li:nth-child(odd) {
            width: 50%;
            padding-right: 12px;
            padding-left: 0; }
            main section.recruit .wrap .up_list li:nth-child(odd):after {
              content: "";
              width: 1px;
              height: 100%;
              background: #f1f1f1;
              position: absolute;
              top: 0;
              right: 0; }
          main section.recruit .wrap .up_list li:nth-of-type(2n+1):last-of-type, main section.recruit .wrap .up_list li:last-of-type {
            padding-bottom: 0; } }
      main section.recruit .wrap .up_list li div a {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-box;
        display: box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        position: relative;
        pointer-events: none; }
        main section.recruit .wrap .up_list li div a:hover {
          text-decoration: none; }
          main section.recruit .wrap .up_list li div a:hover .thumb img {
            -webkit-transform: scale(1.05, 1.05);
            -moz-transform: scale(1.05, 1.05);
            -ms-transform: scale(1.05, 1.05);
            -o-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05); }
          main section.recruit .wrap .up_list li div a:hover dl dt {
            text-decoration: underline; }
        main section.recruit .wrap .up_list li div a .store_name {
          position: absolute;
          z-index: 1;
          top: 10px;
          right: 0;
          background: #9ec8c2;
          color: #fff;
          text-align: center;
          padding: 4px 14px;
          font-size: 13px;
          font-size: 1.3rem;
          min-width: 80px; }
          @media screen and (max-width: 600px) {
            main section.recruit .wrap .up_list li div a .store_name {
              font-size: 10px;
              font-size: 1rem; } }
        main section.recruit .wrap .up_list li div a .thumb {
          width: 100%;
          height: auto;
          position: relative;
          overflow: hidden;
          pointer-events: auto;
          padding-top: 0; }
          main section.recruit .wrap .up_list li div a .thumb::before {
            content: '';
            padding-top: 100%;
            display: block; }
          main section.recruit .wrap .up_list li div a .thumb img {
            object-fit: cover;
            object-position: 50% 50%;
            font-family: 'object-fit: cover; object-position: 50% 50%;';
            width: 100%;
            height: 100%;
            line-height: 0;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            margin: auto;
            -webkit-transition: -webkit-transform 0.2s linear;
            -moz-transition: -moz-transform 0.2s linear;
            -o-transition: -o-transform 0.2s linear;
            transition: transform 0.2s linear; }
        main section.recruit .wrap .up_list li div a dl {
          width: 100%;
          height: 73.6842%;
          filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
          opacity: 0.9;
          overflow: hidden;
          margin-top: 14px;
          display: block;
          margin-bottom: 0; }
          @media screen and (max-width: 600px) {
            main section.recruit .wrap .up_list li div a dl {
              margin-top: 8px; } }
          main section.recruit .wrap .up_list li div a dl dt {
            pointer-events: auto;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.4;
            height: 2.6em;
            background-color: #fff;
            position: relative;
            overflow: hidden;
            padding-right: 1em;
            margin-top: 0;
            white-space: normal; }
            main section.recruit .wrap .up_list li div a dl dt:before {
              content: "...";
              position: absolute;
              right: 0;
              bottom: 0;
              display: inline-block;
              background-color: inherit;
              text-align: center;
              width: 1em; }
            main section.recruit .wrap .up_list li div a dl dt::after {
              content: "";
              position: relative;
              float: right;
              right: -1em;
              width: 1em;
              height: 100%;
              background-color: #fff; }
            @media screen and (-webkit-min-device-pixel-ratio: 0) {
              main section.recruit .wrap .up_list li div a dl dt {
                font-size: 16px;
                font-size: 1.6rem;
                line-height: 1.4em;
                height: 2.6em;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                overflow: hidden;
                background: none;
                padding-right: 0; }
                main section.recruit .wrap .up_list li div a dl dt:before {
                  content: none; }
                main section.recruit .wrap .up_list li div a dl dt::after {
                  content: none; } }
            @supports (-ms-ime-align: auto) {
              main section.recruit .wrap .up_list li div a dl dt {
                font-size: 16px;
                font-size: 1.6rem;
                line-height: 1.4;
                height: 2.65em;
                background-color: #fff;
                position: relative;
                overflow: hidden;
                display: block;
                padding-right: 1em; }
                main section.recruit .wrap .up_list li div a dl dt:before {
                  content: "...";
                  position: absolute;
                  right: 0;
                  bottom: 0;
                  display: inline-block;
                  background-color: inherit;
                  text-align: center;
                  width: 1em; }
                main section.recruit .wrap .up_list li div a dl dt::after {
                  content: "";
                  position: relative;
                  float: right;
                  right: -1em;
                  width: 1em;
                  height: 100%;
                  background-color: #fff; } }
            @media screen and (max-width: 600px) {
              main section.recruit .wrap .up_list li div a dl dt {
                font-size: 14px;
                font-size: 1.4rem;
                line-height: 1.4;
                height: 2.6em;
                background-color: #fff;
                position: relative;
                overflow: hidden;
                padding-right: 1em; }
                main section.recruit .wrap .up_list li div a dl dt:before {
                  content: "...";
                  position: absolute;
                  right: 0;
                  bottom: 0;
                  display: inline-block;
                  background-color: inherit;
                  text-align: center;
                  width: 1em; }
                main section.recruit .wrap .up_list li div a dl dt::after {
                  content: "";
                  position: relative;
                  float: right;
                  right: -1em;
                  width: 1em;
                  height: 100%;
                  background-color: #fff; } }
  @media screen and (max-width: 600px) and (-webkit-min-device-pixel-ratio: 0) {
    main section.recruit .wrap .up_list li div a dl dt {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.4em;
      height: 2.6em;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
      background: none;
      padding-right: 0; }
      main section.recruit .wrap .up_list li div a dl dt:before {
        content: none; }
      main section.recruit .wrap .up_list li div a dl dt::after {
        content: none; } }
            @media screen and (max-width: 600px) {
                @supports (-ms-ime-align: auto) {
                  main section.recruit .wrap .up_list li div a dl dt {
                    font-size: 14px;
                    font-size: 1.4rem;
                    line-height: 1.4;
                    height: 2.65em;
                    background-color: #fff;
                    position: relative;
                    overflow: hidden;
                    display: block;
                    padding-right: 1em; }
                    main section.recruit .wrap .up_list li div a dl dt:before {
                      content: "...";
                      position: absolute;
                      right: 0;
                      bottom: 0;
                      display: inline-block;
                      background-color: inherit;
                      text-align: center;
                      width: 1em; }
                    main section.recruit .wrap .up_list li div a dl dt::after {
                      content: "";
                      position: relative;
                      float: right;
                      right: -1em;
                      width: 1em;
                      height: 100%;
                      background-color: #fff; } } }
          main section.recruit .wrap .up_list li div a dl dd {
            color: #333333; }
            main section.recruit .wrap .up_list li div a dl dd.date {
              font-size: 12px;
              font-size: 1.2rem;
              margin: 4px 0 0;
              width: 100%; }
              @media screen and (max-width: 600px) {
                main section.recruit .wrap .up_list li div a dl dd.date {
                  font-size: 10px;
                  font-size: 1rem; } }
            main section.recruit .wrap .up_list li div a dl dd.text {
              font-size: 14px;
              font-size: 1.4rem;
              line-height: 1.4;
              height: 4em;
              background-color: #fff;
              position: relative;
              overflow: hidden;
              padding-right: 1em; }
              main section.recruit .wrap .up_list li div a dl dd.text:before {
                content: "...";
                position: absolute;
                right: 0;
                bottom: 0;
                display: inline-block;
                background-color: inherit;
                text-align: center;
                width: 1em; }
              main section.recruit .wrap .up_list li div a dl dd.text::after {
                content: "";
                position: relative;
                float: right;
                right: -1em;
                width: 1em;
                height: 100%;
                background-color: #fff; }
              @media screen and (-webkit-min-device-pixel-ratio: 0) {
                main section.recruit .wrap .up_list li div a dl dd.text {
                  font-size: 14px;
                  font-size: 1.4rem;
                  line-height: 1.4em;
                  height: 4em;
                  display: -webkit-box;
                  -webkit-box-orient: vertical;
                  -webkit-line-clamp: 3;
                  overflow: hidden;
                  background: none;
                  padding-right: 0; }
                  main section.recruit .wrap .up_list li div a dl dd.text:before {
                    content: none; }
                  main section.recruit .wrap .up_list li div a dl dd.text::after {
                    content: none; } }
              @supports (-ms-ime-align: auto) {
                main section.recruit .wrap .up_list li div a dl dd.text {
                  font-size: 14px;
                  font-size: 1.4rem;
                  line-height: 1.4;
                  height: 4.05em;
                  background-color: #fff;
                  position: relative;
                  overflow: hidden;
                  display: block;
                  padding-right: 1em; }
                  main section.recruit .wrap .up_list li div a dl dd.text:before {
                    content: "...";
                    position: absolute;
                    right: 0;
                    bottom: 0;
                    display: inline-block;
                    background-color: inherit;
                    text-align: center;
                    width: 1em; }
                  main section.recruit .wrap .up_list li div a dl dd.text::after {
                    content: "";
                    position: relative;
                    float: right;
                    right: -1em;
                    width: 1em;
                    height: 100%;
                    background-color: #fff; } }
              @media screen and (max-width: 600px) {
                main section.recruit .wrap .up_list li div a dl dd.text {
                  font-size: 12px;
                  font-size: 1.2rem;
                  line-height: 1.4;
                  height: 4em;
                  background-color: #fff;
                  position: relative;
                  overflow: hidden;
                  padding-right: 1em; }
                  main section.recruit .wrap .up_list li div a dl dd.text:before {
                    content: "...";
                    position: absolute;
                    right: 0;
                    bottom: 0;
                    display: inline-block;
                    background-color: inherit;
                    text-align: center;
                    width: 1em; }
                  main section.recruit .wrap .up_list li div a dl dd.text::after {
                    content: "";
                    position: relative;
                    float: right;
                    right: -1em;
                    width: 1em;
                    height: 100%;
                    background-color: #fff; } }
  @media screen and (max-width: 600px) and (-webkit-min-device-pixel-ratio: 0) {
    main section.recruit .wrap .up_list li div a dl dd.text {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.4em;
      height: 4em;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      overflow: hidden;
      background: none;
      padding-right: 0; }
      main section.recruit .wrap .up_list li div a dl dd.text:before {
        content: none; }
      main section.recruit .wrap .up_list li div a dl dd.text::after {
        content: none; } }
              @media screen and (max-width: 600px) {
                  @supports (-ms-ime-align: auto) {
                    main section.recruit .wrap .up_list li div a dl dd.text {
                      font-size: 12px;
                      font-size: 1.2rem;
                      line-height: 1.4;
                      height: 4.05em;
                      background-color: #fff;
                      position: relative;
                      overflow: hidden;
                      display: block;
                      padding-right: 1em; }
                      main section.recruit .wrap .up_list li div a dl dd.text:before {
                        content: "...";
                        position: absolute;
                        right: 0;
                        bottom: 0;
                        display: inline-block;
                        background-color: inherit;
                        text-align: center;
                        width: 1em; }
                      main section.recruit .wrap .up_list li div a dl dd.text::after {
                        content: "";
                        position: relative;
                        float: right;
                        right: -1em;
                        width: 1em;
                        height: 100%;
                        background-color: #fff; } } }

main section.report p:nth-of-type(1) {
  margin-bottom: 40px; }
  @media screen and (max-width: 600px) {
    main section.report p:nth-of-type(1) {
      margin-top: 0;
      margin-bottom: 32px; } }

main section.report > a {
  display: block;
  border-top: 1px solid #f1f1f1;
  position: relative;
  height: 71px; }
  @media screen and (max-width: 600px) {
    main section.report > a {
      height: 67px;
      padding-top: 14px; } }
  main section.report > a:hover {
    text-decoration: none; }
  main section.report > a::after {
    content: "";
    right: 8px;
    top: 26px;
    width: 16px;
    height: 16px;
    border-top: 2px solid #c7b299;
    border-right: 2px solid #c7b299;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute; }
    @media screen and (max-width: 600px) {
      main section.report > a::after {
        top: 24px; } }
  main section.report > a:last-of-type {
    margin-bottom: 40px; }
  main section.report > a dl {
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -ms-box-direction: normal;
    box-direction: normal;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -ms-box-orient: vertical;
    box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 0;
    width: 100%;
    max-width: initial; }
    main section.report > a dl dt {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.33;
      margin-bottom: 2px;
      color: #333333; }
      @media screen and (max-width: 600px) {
        main section.report > a dl dt {
          font-size: 10px;
          font-size: 1rem;
          line-height: 1.4; } }
    main section.report > a dl dd {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.375;
      display: block; }
      @media screen and (max-width: 600px) {
        main section.report > a dl dd {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 1.43;
          width: 91%;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap; } }
      main section.report > a dl dd:hover {
        text-decoration: underline; }

main section.terms {
  margin: 0 auto;
  width: 100%;
  max-width: 832px; }
  @media screen and (max-width: 600px) {
    main section.terms {
      width: 100%;
      max-width: initial;
      padding-top: 18px; } }
  main section.terms h3 {
    margin-top: 32px;
    margin-bottom: 16px; }
    @media screen and (max-width: 600px) {
      main section.terms h3 {
        margin-top: 18px;
        margin-bottom: 10px; } }
  @media screen and (max-width: 600px) {
    main section.terms p {
      margin-top: 0; } }
  main section.terms p:last-of-type {
    margin-top: 32px; }
    @media screen and (max-width: 600px) {
      main section.terms p:last-of-type {
        margin-top: 18px; } }
  main section.terms.member h3:nth-of-type(1) {
    margin-top: 0; }
  main section.terms.member h3:nth-of-type(7) {
    margin-top: 72px; }
    @media screen and (max-width: 600px) {
      main section.terms.member h3:nth-of-type(7) {
        margin-top: 18px; } }
  main section.terms.member p + p {
    margin-top: 24px; }
    @media screen and (max-width: 600px) {
      main section.terms.member p + p {
        margin-top: 18px; } }
  main section.terms.member p:last-of-type {
    margin-top: 32px; }
    @media screen and (max-width: 600px) {
      main section.terms.member p:last-of-type {
        margin-top: 18px; } }

main section .pagination {
  margin-bottom: 40px; }

main section .btn_brdblk {
  margin: 40px auto 24px; }

.android_old main .store_name {
  padding: 5px 14px 3px !important; }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9fbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9fY29uZmlnLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3NoYXJlZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190cmFuc2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19vcGFjaXR5LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0E7RUNMQyxnQkFBcUI7RUFDckIsa0JBQThCO0VBc1Q5QixrQkFBaUI7RUFDakIsbUJBSGlEO0VBSWpELGtCQUFpQjtFQUNqQixlQUxpQyxFRDVTL0I7RUNrVEY7SUR0VEQ7TUNMQyxnQkFBcUI7TUFDckIsa0JBQThCO01BNFQ3QixrQkFBaUIsRURwVGhCOztBQUlBO0VBUkg7SUNMQyxnQkFBcUI7SUFDckIsa0JBQThCO0lEYzNCLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIsaUJBQWdCLEVBWWpCOztBQXhCSDtFQWVJLG9CQUFtQixFQVFuQjtFQVBBO0lBaEJKO01BaUJLLGdCQUFlO01BQ2Ysb0JBQW1CLEVBS3BCO0VBdkJKO0lBcUJLLGVFbkJVLEVGb0JWOztBQXRCTDtFR3NCeUQscUJBQWU7RUFFZixrQkFBa0I7RUFDbEIsaUJBQW1CO0VBRW5CLGFBQXVCO0VGa0o1RSxxQkFBb0I7RUFDcEIsc0JBQXFCO0VBQ3JCLGNBQWE7RUFzRmIsd0JBZG9CO0VBZXBCLHFCQWZvQjtFQWdCcEIscUJBakJ3QjtFQWtCeEIsb0NBbkI2QjtFQW9CN0IsNEJBcEI2QjtFQWhCN0IseUJBWHFCO0VBWXJCLHNCQVpxQjtFQWFyQixzQkFicUI7RUFjckIsZ0NBZjJCO0VBZ0IzQix3QkFoQjJCO0VENUw1QixlQUFjO0VBQ2QsaUJBQWdCO0VBQ2hCLFdBQVU7RUFDVixvQkFBbUIsRUF1RG5CO0VBdERBO0lBakNIO01Ba0NJLFVBQVM7TUFDVCxZQUFXO01BQ1gsZUFBYztNQUNkLGdCQUFlO01BQ2Ysb0JBQW1CO01DM0N0QixnQkFBcUI7TUFDckIsa0JBQThCO01ENEMxQixpQkFBZ0IsRUErQ2xCO0VBdkZIO0lBMkNJLGlCQUFnQjtJQ2hEbkIsZ0JBQXFCO0lBQ3JCLGtCQUE4QjtJRGlEM0Isa0JBQWlCO0lBQ2pCLG9CQUFtQjtJQUNuQixpQkFBZ0IsRUFTaEI7SUFSQTtNQWhESjtRQ0xDLGdCQUFxQjtRQUNyQixrQkFBOEI7UURzRDFCLGlCQUFnQjtRQUNoQixZQUFXO1FBQ1gsZUFBYztRQUNkLGNBQWE7UUFDYixtQkFBa0IsRUFFbkI7RUF4REo7SUEwREksZUFBYyxFQTRCZDtJQXRGSjtNQ0xDLGdCQUFxQjtNQUNyQixrQkFBOEI7TURpRTFCLGlCQUFnQjtNQUNoQixpQkFBZ0I7TUFDaEIsa0JBQWlCO01BQ2pCLG9CQUFtQixFQU9uQjtNQU5BO1FBakVMO1VDTEMsZ0JBQXFCO1VBQ3JCLGdCQUE4QjtVRHVFekIsZ0JBQWU7VUFDZixlQUFjO1VBQ2QsWUFBVyxFQUVaO0lBdkVMO01BeUVLLFlBQVc7TUFDWCxtQkFBa0I7TUdwRGtDLHFCQUFlO01BRWYsa0JBQWtCO01BQ2xCLGlCQUFtQjtNQUVuQixhQUF1QjtNRmtKNUUscUJBQW9CO01BQ3BCLHNCQUFxQjtNQUNyQixjQUFhO01Bc0RiLDBCQWRzQjtNQWV0Qix1QkFmc0I7TUFnQnRCLHVCQWhCc0I7TUFpQnRCLDRCQWxCdUI7TUFtQnZCLG9CQW5CdUI7TUFvRnpCLDJCRDdONkI7TUM4TjFCLHdCRDlOMEI7TUMrTnpCLHVCRC9OeUI7TUNnT3JCLG1CRGhPcUIsRUFJMUI7TUFIQTtRQTlFTDtVQStFTSxlQUFjLEVBRWY7SUFqRkw7TUFtRkssZUFBYztNQUNkLG9CQUFtQixFQUNuQjs7QUFyRkw7RUEyRkksb0JBQW1CLEVBeUJuQjtFQXBISjtJQTZGSyxpQkFBZ0IsRUFJaEI7SUFIQTtNQTlGTDtRQStGTSxjQUFhLEVBRWQ7RUFqR0w7SUFtR0ssY0FBYTtJQUNiLGtCQUFpQjtJQUNqQixZQUFXO0lBQ1gsbUJBQWtCLEVBSWxCO0lBSEE7TUF2R0w7UUF3R00sb0JBQW1CLEVBRXBCO0VBMUdMO0lDTEMsZ0JBQXFCO0lBQ3JCLGtCQUE4QjtJRGlIMUIsa0JBQWlCLEVBTWpCO0lBTEE7TUE5R0w7UUNMQyxnQkFBcUI7UUFDckIsa0JBQThCO1FEb0h6QixpQkFBZ0I7UUFDaEIsb0JBQW1CLEVBRXBCOztBQW5ITDtFR3NCeUQscUJBQWU7RUFFZixrQkFBa0I7RUFDbEIsaUJBQW1CO0VBRW5CLGFBQXVCO0VGa0o1RSxxQkFBb0I7RUFDcEIsc0JBQXFCO0VBQ3JCLGNBQWE7RUFzRmIsd0JBZG9CO0VBZXBCLHFCQWZvQjtFQWdCcEIscUJBakJ3QjtFQWtCeEIsb0NBbkI2QjtFQW9CN0IsNEJBcEI2QjtFQWhCN0IseUJBWHFCO0VBWXJCLHNCQVpxQjtFQWFyQixzQkFicUI7RUFjckIsZ0NBZjJCO0VBZ0IzQix3QkFoQjJCO0VBb0QzQix3QkRoSnVCO0VDaUp2QixvQkRqSnVCO0VDa0p2QixnQkRsSnVCO0VBQ3ZCLGVBQWM7RUFDZCxpQkFBZ0I7RUFDaEIsV0FBVTtFQXNKVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bb0ZFLEVBQ0g7RUExT0E7SUFqSUo7TUFrSUssbUJBQWtCO01BQ2xCLFlBQVcsRUF3T1o7RUEzV0o7SUdzQnlELHFCQUFlO0lBRWYsa0JBQWtCO0lBQ2xCLGlCQUFtQjtJQUVuQixhQUF1QjtJRmtKNUUscUJBQW9CO0lBQ3BCLHNCQUFxQjtJQUNyQixjQUFhO0lBOEZiLHdCRHRJd0I7SUN1SXhCLG9CRHZJd0I7SUN3SXhCLGdCRHhJd0I7SUFDdkIsdUJBQXdCO0lBQ3hCLHdCQUF5QjtJQUN6QixZQUFXLEVBMklYO0lBMUlBO01BM0lMO1FBNElNLGVBQWM7UUFDZCxnQkFBZTtRQUNmLG9CQUFtQixFQXVJcEI7SUFyUkw7TUFpSk0saUJBQW1CO01BQ25CLG1CQUFvQjtNQUNwQixtQkFBa0I7TUFDbEIsa0JBQWlCO01BQ2pCLG9CQUFtQixFQStIbkI7TUE5SEE7UUF0Sk47VUF1Sk8sV0FBbUI7VUFDbkIsbUJBQWtCO1VBQ2xCLGdCQUFlO1VBQ2YsZUFBYztVQUNkLGlCQUFnQjtVQUNoQixxQkFBb0IsRUF3SHJCO1VBcFJOO1lBOEpRLFdBQW1CO1lBQ25CLG9CQUFtQjtZQUNuQixnQkFBZSxFQVVmO1lBMUtSO2NBa0tTLFlBQVc7Y0FDWCxXQUFVO2NBQ1YsYUFBWTtjQUNaLG9CQUFtQjtjQUNuQixtQkFBa0I7Y0FDbEIsT0FBTTtjQUNOLFNBQVEsRUFDUjtVQXpLVDtZQTRLUSxrQkFBaUIsRUFDakI7TUE3S1I7UUdzQnlELHFCQUFlO1FBRWYsa0JBQWtCO1FBQ2xCLGlCQUFtQjtRQUVuQixhQUF1QjtRRmtKNUUscUJBQW9CO1FBQ3BCLHNCQUFxQjtRQUNyQixjQUFhO1FBOEZiLHdCRDNGMkI7UUM0RjNCLG9CRDVGMkI7UUM2RjNCLGdCRDdGMkI7UUFDdkIsbUJBQWtCO1FBQ2xCLHFCQUFvQixFQThGcEI7UUFsUlI7VUFzTFMsc0JBQXFCLEVBV3JCO1VBak1UO1lHS3lELHFDQ3VPdEI7WURyT3lCLGtDQ3FPekI7WURwTzBCLGlDQ29PMUI7WURuTzJCLGdDQ21PM0I7WURsTzhCLDZCQ2tPOUIsRUpsRHhCO1VBMUxYO1lBOExXLDJCQUEwQixFQUMxQjtRQS9MWDtVQW1NUyxtQkFBa0I7VUFDZixXQUFVO1VBQ1YsVUFBUztVQUNULFNBQVE7VUFDUixvQkFBbUI7VUFDbkIsWUFBVztVQUNYLG1CQUFrQjtVQUNsQixrQkFBaUI7VUMvTTVCLGdCQUFxQjtVQUNyQixrQkFBOEI7VURnTm5CLGdCQUFlLEVBSWxCO1VBSEc7WUE3TVo7Y0NMQyxnQkFBcUI7Y0FDckIsZ0JBQThCLEVEb050QjtRQWhOVDtVQWtOUyxZQUFXO1VBQ1IsYUFBWTtVQUNaLG1CQUFrQjtVQUNsQixpQkFBZ0I7VUFDbkIscUJBQW9CO1VBQ3BCLGVBQWMsRUFvQmQ7VUEzT1Q7WUF5TmEsWUFBVztZQUNYLGtCQUFpQjtZQUNqQixlQUFjLEVBQ2Q7VUE1TmI7WUE4TmEsa0JBQWlCO1lBQ3BCLHlCQUF3QjtZQUN4Qiw0REFBMkQ7WUFDeEQsWUFBVztZQUNYLGFBQVk7WUFDWixlQUFjO1lBQ2QsbUJBQWtCO1lBQ2xCLE9BQU07WUFDTixRQUFPO1lBQ1AsU0FBUTtZQUNSLGFBQVk7WUsxRHlCLGtETDJEQztZS3hERSw0Q0x3REY7WUt2REksd0NMdURKO1lLdERPLGtDTHNEUCxFQUN0QztRQTFPYjtVQTZPUyxZQUFXO1VBQ1gsaUJBQWdCO1VNOU9yQiw0REFBNEY7VUFFOUYsYU42TzJCO1VBQ3BCLGlCQUFnQjtVQUNoQixpQkFBZ0I7VUFDaEIsZUFBYztVQUNkLGlCQUFnQixFQThCaEI7VUE3QkE7WUFwUFQ7Y0FxUFUsZ0JBQWUsRUE0QmhCO1VBalJUO1lBd1BVLHFCQUFvQjtZQzdQN0IsZ0JBQXFCO1lBQ3JCLGtCQUE4QjtZQWdDN0IsaUJBQWdCO1lBQ2hCLGNBQWlDO1lBQ2pDLHVCQVptRDtZQWFuRCxtQkFBa0I7WUFDbEIsaUJBQWdCO1lBQ2hCLG1CQUFrQjtZRHlOVixjQUFhO1lBQ2Isb0JBQW1CLEVBSW5CO1lBL1BWO2NDbUNHLGVBQWM7Y0FDZCxtQkFBa0I7Y0FDbEIsU0FBUTtjQUNSLFVBQVM7Y0FDVCxzQkFBcUI7Y0FDckIsMEJBQXlCO2NBQ3pCLG1CQUFrQjtjQUNsQixXQUFVLEVBQ1Y7WUQzQ0g7Y0M2Q0csWUFBVztjQUNYLG1CQUFrQjtjQUNsQixhQUFZO2NBQ1osWUFBVztjQUNYLFdBQVU7Y0FDVixhQUFZO2NBQ1osdUJBakNrRCxFQWtDbEQ7WUFFRDtjRHRERjtnQkNMQyxnQkFBcUI7Z0JBQ3JCLGtCQUE4QjtnQkE0RDVCLG1CQUFrQjtnQkFDbEIsY0FBaUM7Z0JBQ2pDLHFCQUFvQjtnQkFDcEIsNkJBQTRCO2dCQUM1QixzQkQ2TG1DO2dCQzVMbkMsaUJBQWdCO2dCQUNoQixpQkFBZ0I7Z0JBQ2hCLGlCQUFnQixFRGdNVDtnQkEvUFY7a0JDaUVJLGNBQWEsRUFDYjtnQkRsRUo7a0JDb0VJLGNBQWEsRUFDYjtZQUcyQjtjRHhFL0I7Z0JDTEMsZ0JBQXFCO2dCQUNyQixrQkFBOEI7Z0JBOEU1QixpQkFBZ0I7Z0JBQ2hCLGVBQWtDO2dCQUNsQyx1QkExRGtEO2dCQTJEbEQsbUJBQWtCO2dCQUNsQixpQkFBZ0I7Z0JBQ2hCLGVBQWM7Z0JBQ2QsbUJBQWtCLEVEK0tYO2dCQS9QVjtrQkNrRkksZUFBYztrQkFDZCxtQkFBa0I7a0JBQ2xCLFNBQVE7a0JBQ1IsVUFBUztrQkFDVCxzQkFBcUI7a0JBQ3JCLDBCQUF5QjtrQkFDekIsbUJBQWtCO2tCQUNsQixXQUFVLEVBQ1Y7Z0JEMUZKO2tCQzRGSSxZQUFXO2tCQUNYLG1CQUFrQjtrQkFDbEIsYUFBWTtrQkFDWixZQUFXO2tCQUNYLFdBQVU7a0JBQ1YsYUFBWTtrQkFDWix1QkFoRmlELEVBaUZqRDtZRHlKTTtjQTVQVjtnQkNMQyxnQkFBcUI7Z0JBQ3JCLGtCQUE4QjtnQkFnQzdCLGlCQUFnQjtnQkFDaEIsY0FBaUM7Z0JBQ2pDLHVCQVptRDtnQkFhbkQsbUJBQWtCO2dCQUNsQixpQkFBZ0I7Z0JBQ2hCLG1CQUFrQixFRDhOVjtnQkEvUFY7a0JDbUNHLGVBQWM7a0JBQ2QsbUJBQWtCO2tCQUNsQixTQUFRO2tCQUNSLFVBQVM7a0JBQ1Qsc0JBQXFCO2tCQUNyQiwwQkFBeUI7a0JBQ3pCLG1CQUFrQjtrQkFDbEIsV0FBVSxFQUNWO2dCRDNDSDtrQkM2Q0csWUFBVztrQkFDWCxtQkFBa0I7a0JBQ2xCLGFBQVk7a0JBQ1osWUFBVztrQkFDWCxXQUFVO2tCQUNWLGFBQVk7a0JBQ1osdUJBakNrRCxFQWtDbEQ7RUFFRDtJRHRERjtNQ0xDLGdCQUFxQjtNQUNyQixrQkFBOEI7TUE0RDVCLG1CQUFrQjtNQUNsQixjQUFpQztNQUNqQyxxQkFBb0I7TUFDcEIsNkJBQTRCO01BQzVCLHNCRGlNb0M7TUNoTXBDLGlCQUFnQjtNQUNoQixpQkFBZ0I7TUFDaEIsaUJBQWdCLEVEZ01UO01BL1BWO1FDaUVJLGNBQWEsRUFDYjtNRGxFSjtRQ29FSSxjQUFhLEVBQ2I7WUR1TE07Z0JDcExxQjtrQkR4RS9CO29CQ0xDLGdCQUFxQjtvQkFDckIsa0JBQThCO29CQThFNUIsaUJBQWdCO29CQUNoQixlQUFrQztvQkFDbEMsdUJBMURrRDtvQkEyRGxELG1CQUFrQjtvQkFDbEIsaUJBQWdCO29CQUNoQixlQUFjO29CQUNkLG1CQUFrQixFRCtLWDtvQkEvUFY7c0JDa0ZJLGVBQWM7c0JBQ2QsbUJBQWtCO3NCQUNsQixTQUFRO3NCQUNSLFVBQVM7c0JBQ1Qsc0JBQXFCO3NCQUNyQiwwQkFBeUI7c0JBQ3pCLG1CQUFrQjtzQkFDbEIsV0FBVSxFQUNWO29CRDFGSjtzQkM0RkksWUFBVztzQkFDWCxtQkFBa0I7c0JBQ2xCLGFBQVk7c0JBQ1osWUFBVztzQkFDWCxXQUFVO3NCQUNWLGFBQVk7c0JBQ1osdUJBaEZpRCxFQWlGakQ7VURuR0o7WUFpUVUsZUUzUEksRUYwUUo7WUFoUlY7Y0NMQyxnQkFBcUI7Y0FDckIsa0JBQThCO2NEd1FwQixnQkFBZTtjQUNmLFlBQVcsRUFJWDtjQUhBO2dCQXRRWDtrQkNMQyxnQkFBcUI7a0JBQ3JCLGdCQUE4QixFRDZRcEI7WUF6UVg7Y0NMQyxnQkFBcUI7Y0FDckIsa0JBQThCO2NBZ0M3QixpQkFBZ0I7Y0FDaEIsWUFBaUM7Y0FDakMsdUJBWm1EO2NBYW5ELG1CQUFrQjtjQUNsQixpQkFBZ0I7Y0FDaEIsbUJBQWtCLEVEOE9UO2NBL1FYO2dCQ21DRyxlQUFjO2dCQUNkLG1CQUFrQjtnQkFDbEIsU0FBUTtnQkFDUixVQUFTO2dCQUNULHNCQUFxQjtnQkFDckIsMEJBQXlCO2dCQUN6QixtQkFBa0I7Z0JBQ2xCLFdBQVUsRUFDVjtjRDNDSDtnQkM2Q0csWUFBVztnQkFDWCxtQkFBa0I7Z0JBQ2xCLGFBQVk7Z0JBQ1osWUFBVztnQkFDWCxXQUFVO2dCQUNWLGFBQVk7Z0JBQ1osdUJBakNrRCxFQWtDbEQ7Y0FFRDtnQkR0REY7a0JDTEMsZ0JBQXFCO2tCQUNyQixrQkFBOEI7a0JBNEQ1QixtQkFBa0I7a0JBQ2xCLFlBQWlDO2tCQUNqQyxxQkFBb0I7a0JBQ3BCLDZCQUE0QjtrQkFDNUIsc0JBMUN1QjtrQkEyQ3ZCLGlCQUFnQjtrQkFDaEIsaUJBQWdCO2tCQUNoQixpQkFBZ0IsRURnTlI7a0JBL1FYO29CQ2lFSSxjQUFhLEVBQ2I7a0JEbEVKO29CQ29FSSxjQUFhLEVBQ2I7Y0FHMkI7Z0JEeEUvQjtrQkNMQyxnQkFBcUI7a0JBQ3JCLGtCQUE4QjtrQkE4RTVCLGlCQUFnQjtrQkFDaEIsZUFBa0M7a0JBQ2xDLHVCQTFEa0Q7a0JBMkRsRCxtQkFBa0I7a0JBQ2xCLGlCQUFnQjtrQkFDaEIsZUFBYztrQkFDZCxtQkFBa0IsRUQrTFY7a0JBL1FYO29CQ2tGSSxlQUFjO29CQUNkLG1CQUFrQjtvQkFDbEIsU0FBUTtvQkFDUixVQUFTO29CQUNULHNCQUFxQjtvQkFDckIsMEJBQXlCO29CQUN6QixtQkFBa0I7b0JBQ2xCLFdBQVUsRUFDVjtrQkQxRko7b0JDNEZJLFlBQVc7b0JBQ1gsbUJBQWtCO29CQUNsQixhQUFZO29CQUNaLFlBQVc7b0JBQ1gsV0FBVTtvQkFDVixhQUFZO29CQUNaLHVCQWhGaUQsRUFpRmpEO2NEeUtPO2dCQTVRWDtrQkNMQyxnQkFBcUI7a0JBQ3JCLGtCQUE4QjtrQkFnQzdCLGlCQUFnQjtrQkFDaEIsWUFBaUM7a0JBQ2pDLHVCQVptRDtrQkFhbkQsbUJBQWtCO2tCQUNsQixpQkFBZ0I7a0JBQ2hCLG1CQUFrQixFRDhPVDtrQkEvUVg7b0JDbUNHLGVBQWM7b0JBQ2QsbUJBQWtCO29CQUNsQixTQUFRO29CQUNSLFVBQVM7b0JBQ1Qsc0JBQXFCO29CQUNyQiwwQkFBeUI7b0JBQ3pCLG1CQUFrQjtvQkFDbEIsV0FBVSxFQUNWO2tCRDNDSDtvQkM2Q0csWUFBVztvQkFDWCxtQkFBa0I7b0JBQ2xCLGFBQVk7b0JBQ1osWUFBVztvQkFDWCxXQUFVO29CQUNWLGFBQVk7b0JBQ1osdUJBakNrRCxFQWtDbEQ7RUFFRDtJRHRERjtNQ0xDLGdCQUFxQjtNQUNyQixrQkFBOEI7TUE0RDVCLG1CQUFrQjtNQUNsQixZQUFpQztNQUNqQyxxQkFBb0I7TUFDcEIsNkJBQTRCO01BQzVCLHNCQTFDdUI7TUEyQ3ZCLGlCQUFnQjtNQUNoQixpQkFBZ0I7TUFDaEIsaUJBQWdCLEVEZ05SO01BL1FYO1FDaUVJLGNBQWEsRUFDYjtNRGxFSjtRQ29FSSxjQUFhLEVBQ2I7Y0R1TU87a0JDcE1vQjtvQkR4RS9CO3NCQ0xDLGdCQUFxQjtzQkFDckIsa0JBQThCO3NCQThFNUIsaUJBQWdCO3NCQUNoQixlQUFrQztzQkFDbEMsdUJBMURrRDtzQkEyRGxELG1CQUFrQjtzQkFDbEIsaUJBQWdCO3NCQUNoQixlQUFjO3NCQUNkLG1CQUFrQixFRCtMVjtzQkEvUVg7d0JDa0ZJLGVBQWM7d0JBQ2QsbUJBQWtCO3dCQUNsQixTQUFRO3dCQUNSLFVBQVM7d0JBQ1Qsc0JBQXFCO3dCQUNyQiwwQkFBeUI7d0JBQ3pCLG1CQUFrQjt3QkFDbEIsV0FBVSxFQUNWO3NCRDFGSjt3QkM0RkksWUFBVzt3QkFDWCxtQkFBa0I7d0JBQ2xCLGFBQVk7d0JBQ1osWUFBVzt3QkFDWCxXQUFVO3dCQUNWLGFBQVk7d0JBQ1osdUJBaEZpRCxFQWlGakQ7O0FEbkdKO0VBZ1hLLG9CQUFtQixFQUtuQjtFQUpBO0lBalhMO01Ba1hNLGNBQWE7TUFDYixvQkFBbUIsRUFFcEI7O0FBclhMO0VBd1hJLGVBQWM7RUFDZCw4QkUxWFE7RUYyWFIsbUJBQWtCO0VBQ2xCLGFBQVksRUF5RFo7RUF4REE7SUE1WEo7TUE2WEssYUFBWTtNQUNaLGtCQUFpQixFQXNEbEI7RUFwYko7SUFpWUssc0JBQXFCLEVBQ3JCO0VBbFlMO0lBb1lLLFlBQVc7SUFDWCxXQUFVO0lBQ1YsVUFBUztJQUNULFlBQVc7SUFDWCxhQUFZO0lBQ1osOEJFdllVO0lGd1lWLGdDRXhZVTtJQ0cwQyxpQ0NrVGhDO0lEaFRtQyw4QkNnVG5DO0lEL1NvQyw2QkMrU3BDO0lEOVNxQyw0QkM4U3JDO0lEN1N3Qyx5QkM2U3hDO0lKcUZwQixtQkFBa0IsRUFJbEI7SUFIQTtNQTdZTDtRQThZTSxVQUFTLEVBRVY7RUFoWkw7SUFrWkssb0JBQW1CLEVBQ25CO0VBblpMO0lHS3lELDhCRitMcEI7SUU3THVCLDJCRjZMdkI7SUU1THdCLDBCRjRMeEI7SUUxTDRCLHNCRjBMNUI7SUUvTG9CLDZCRmdNckI7SUU5THdCLDBCRjhMeEI7SUU3THlCLHlCRjZMekI7SUUzTDZCLHFCRjJMN0I7SUFDNUIsK0JBakJXO0lBa0JYLDJCQWxCVztJQW1CWCx1QkFuQlc7SURpT2QsaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCxtQkFBa0IsRUEyQmxCO0lBbmJMO01DTEMsZ0JBQXFCO01BQ3JCLGtCQUE4QjtNRCtaekIsa0JBQWlCO01BQ2pCLG1CQUFrQjtNQUNsQixlRXZaUSxFRjRaUjtNQUpBO1FBOVpOO1VDTEMsZ0JBQXFCO1VBQ3JCLGdCQUE4QjtVRG9heEIsaUJBQWdCLEVBRWpCO0lBbGFOO01DTEMsZ0JBQXFCO01BQ3JCLGtCQUE4QjtNRHlhekIsbUJBQWtCO01BQ2xCLGVBQWMsRUFZZDtNQVhBO1FBdmFOO1VDTEMsZ0JBQXFCO1VBQ3JCLGtCQUE4QjtVRDZheEIsa0JBQWlCO1VBQ2pCLFdBQVU7VUFDVixpQkFBZ0I7VUFDaEIsd0JBQXVCO1VBQ3ZCLG9CQUFtQixFQUtwQjtNQWxiTjtRQWdiTywyQkFBMEIsRUFDMUI7O0FBamJQO0VBd2JHLGVBQWM7RUFDZCxZQUFXO0VBQ1gsaUJBQWdCLEVBb0RoQjtFQW5EQTtJQTNiSDtNQTRiSSxZQUFXO01BQ1gsbUJBQWtCO01BQ2xCLGtCQUFpQixFQWdEbEI7RUE5ZUg7SUFpY0ksaUJBQWdCO0lBQ2hCLG9CQUFtQixFQUtuQjtJQUpBO01BbmNKO1FBb2NLLGlCQUFnQjtRQUNoQixvQkFBbUIsRUFFcEI7RUFFQTtJQXpjSjtNQTBjSyxjQUFhLEVBUWQ7RUFsZEo7SUE2Y0ssaUJBQWdCLEVBSWhCO0lBSEE7TUE5Y0w7UUErY00saUJBQWdCLEVBRWpCO0VBamRMO0lBc2RNLGNBQWEsRUFDYjtFQXZkTjtJQXlkTSxpQkFBZ0IsRUFJaEI7SUFIQTtNQTFkTjtRQTJkTyxpQkFBZ0IsRUFFakI7RUE3ZE47SUFpZU0saUJBQWdCLEVBSWhCO0lBSEE7TUFsZU47UUFtZU8saUJBQWdCLEVBRWpCO0VBcmVOO0lBdWVNLGlCQUFnQixFQUloQjtJQUhBO01BeGVOO1FBeWVPLGlCQUFnQixFQUVqQjs7QUEzZU47RUFnZkcsb0JBQW1CLEVBQ25COztBQWpmSDtFQW1mRyx1QkFBc0IsRUFDdEI7O0FBS0g7RUFHRyxpQ0FBZ0MsRUFDaEMiLCJmaWxlIjoiZm9vdGVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gaW1wb3J0XG5AaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9fY29tcGFzcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9hbmltYXRpb24vX2NvcmUuc2Nzc1wiO1xuQGltcG9ydCBcImNvbmZpZ1wiO1xuQGltcG9ydCBcIm1peGluXCI7XG5cbi8vIGJhc2Vcbm1haW4ge1xuXHQuY29tbW9uX2hlYWQge1xuXHRcdGgxIHtcblx0XHRcdEBpbmNsdWRlIGgxX3N0YW5kYXJkO1xuXHRcdH1cblx0fVxuXHRzZWN0aW9uIHtcblx0XHRwIHtcblx0XHRcdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0QGluY2x1ZGUgZnooMTIpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxOHB4O1xuXHRcdFx0fVxuXHRcdFx0Ji5sZWFkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHRcdFx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDBweDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdGNvbG9yOiAkcHV0dHk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0ZGwge1xuXHRcdFx0QGluY2x1ZGUgZGlzcGxheS1mbGV4O1xuXHRcdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXHRcdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdG1heC13aWR0aDogOTkycHg7XG5cdFx0XHR3aWR0aDogOTAlO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDZweDtcblx0XHRcdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdG1pbi13aWR0aDogMTAwJTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMThweDtcblx0XHRcdFx0QGluY2x1ZGUgZnooMTIpO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0XHR9XG5cdFx0XHRkdCB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdEBpbmNsdWRlIGZ6KDE0KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNTc7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDE0cHg7XG5cdFx0XHRcdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0XHRAaW5jbHVkZSBmeigxMik7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDRweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0ZGQge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZnooMTIpO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTZweDtcblx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHRcdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZ6KDEwKTtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDRweDtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5pbnB1dF93cmFwIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZGlzcGxheS1mbGV4O1xuXHRcdFx0XHRcdEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYWxpZ24tc2VsZihjZW50ZXIpO1xuXHRcdFx0XHRcdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQuZXJyIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8v5Lya56S+5qaC6KaBXG5cdFx0Ji5jb21wYW55IHtcblx0XHRcdGRsIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHRcdFx0JjpudGgtb2YtdHlwZSgxKSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMzJweDtcblx0XHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRkdCB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHR3aWR0aDogODRweDtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDgwcHg7XG5cdFx0XHRcdFx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMThweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0ZGQge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGZ6KDE0KTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS41Nztcblx0XHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmeigxMik7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMThweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9Ly8gLyYuY29tcGFueVxuXG5cdFx0Ly/kvJrnpL7mpoLopoFcblx0XHQmLnJlY3J1aXQge1xuXHRcdFx0LndyYXAge1xuXHRcdFx0XHRAaW5jbHVkZSBkaXNwbGF5LWZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcblx0XHRcdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdG1heC13aWR0aDogOTkycHg7XG5cdFx0XHRcdHdpZHRoOiA5MCU7XG5cdFx0XHRcdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IGluaXRpYWw7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdFx0LnVwX2xpc3Qge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGRpc3BsYXktZmxleDtcblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC05LzgzMioxMDAlO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLTkvODMyKjEwMCU7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTkwLzgzMioxMDAlO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIDkvODMyKjEwMCU7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0XHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxNzEvMzQyKjEwMCU7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTJweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDI0cHg7XG5cdFx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKG9kZCl7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDE3MS8zNDIqMTAwJTtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0XHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdCY6bnRoLW9mLXR5cGUoMm4rMSk6bGFzdC1vZi10eXBlLCAmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGRpdiB7XG5cdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGRpc3BsYXktZmxleDtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdFx0LnRodW1iIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBzY2FsZSgxLjA1KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0ZGwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRkdCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0LnN0b3JlX25hbWUge1xuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRcdCAgICB6LWluZGV4OiAxO1xuXHRcdFx0XHRcdFx0XHRcdCAgICB0b3A6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdFx0ICAgIHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdCAgICBiYWNrZ3JvdW5kOiAjOWVjOGMyO1xuXHRcdFx0XHRcdFx0XHRcdCAgICBjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdFx0XHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRcdCAgICBwYWRkaW5nOiA0cHggMTRweDtcblx0XHRcdFx0XHRcdFx0XHQgICAgQGluY2x1ZGUgZnooMTMpO1xuXHRcdFx0XHRcdFx0XHRcdCAgICBtaW4td2lkdGg6IDgwcHg7XG5cdFx0XHRcdFx0XHRcdFx0ICAgIEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZnooMTApO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHQudGh1bWIge1xuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0ICAgIGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRcdFx0XHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHRcdCAgICBvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRcdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdFx0XHRcdFx0XHQgICAgJjo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHQgICAgXHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0XHQgICAgXHRwYWRkaW5nLXRvcDogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHQgICAgXHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHQgICAgfVxuXHRcdFx0XHRcdFx0XHRcdCAgICBpbWcge1xuXHRcdFx0XHRcdFx0XHRcdCAgICBcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRvYmplY3QtcG9zaXRpb246IDUwJSA1MCU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7IG9iamVjdC1wb3NpdGlvbjogNTAlIDUwJTsnO1xuXHRcdFx0XHRcdFx0XHRcdCAgICBcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRcdFx0ICAgIGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHRcdCAgICBsaW5lLWhlaWdodDogMDtcblx0XHRcdFx0XHRcdFx0XHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0XHQgICAgdG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0ICAgIGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHQgICAgcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHQgICAgbWFyZ2luOiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAwLjJzIGxpbmVhcik7XG5cdFx0XHRcdFx0XHRcdFx0ICAgIH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0ZGwge1xuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDczLjY4NDIlO1xuXHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgb3BhY2l0eSgwLjkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDhweDtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdGR0IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGxpbmVjbGFtcCgkY2xhbXA6IDIsICRiYXNlX3NpemU6MTYpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbGluZWNsYW1wKCRjbGFtcDogMiwgJGJhc2Vfc2l6ZToxNCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdGRkIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXh0O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQmLmRhdGUge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZ6KDEyKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDRweCAwIDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZnooMTApO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQmLnRleHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbGluZWNsYW1wO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGxpbmVjbGFtcCgkYmFzZV9zaXplOjEyKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0XHQvKlxuXHRcdFx0XHRcdGRsIHtcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdHdpZHRoOiAyMyU7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIuNSU7XG5cdFx0XHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0XHRcdG1pbi13aWR0aDogaW5pdGlhbDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6bnRoLW9mLXR5cGUoMm4pIHtcblx0XHRcdFx0XHRcdFx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJnO1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTZweDtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmOm50aC1vZi10eXBlKDRuKSB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRcdFx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGR0IHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdFx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleS1ibHVlO1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZ6KDEyKTtcblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogOHB4IDA7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDgwcHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZGQge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmeigxMik7XG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0XHRcdFx0XHRcdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmeigxMCk7XG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZ6KDE2KTtcblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4zNzU7XG5cdFx0XHRcdFx0XHRcdFx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZnooMTQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDM7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdCY6bnRoLW9mLXR5cGUoMSkge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXHRcdFx0XHRcdFx0XHQgICAgaGVpZ2h0OiA0NHB4O1xuXHRcdFx0XHRcdFx0XHQgICAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuXHRcdFx0XHRcdFx0XHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHQgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRcdFx0ICAgIEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0XHRcdFx0ICAgIFx0bWFyZ2luLWJvdHRvbTogNHB4O1xuXHRcdFx0XHRcdFx0XHQgICAgfVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCovXG5cdFx0XHR9Ly8gLy53cmFwXG5cdFx0fS8vIC8mLnJlY3J1aXRcblx0XHQmLnJlcG9ydCB7XG5cdFx0XHRwIHtcblx0XHRcdFx0JjpudGgtb2YtdHlwZSgxKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdD4gYSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGJnO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGhlaWdodDogNzFweDtcblx0XHRcdFx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdFx0XHRcdGhlaWdodDogNjdweDtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMTRweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0cmlnaHQ6IDhweDtcblx0XHRcdFx0XHR0b3A6IDI2cHg7XG5cdFx0XHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAkcHV0dHk7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAycHggc29saWQgJHB1dHR5O1xuXHRcdFx0XHRcdEBpbmNsdWRlIHJvdGF0ZSg0NWRlZyk7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0XHRcdHRvcDogMjRweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZGwge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IGluaXRpYWw7XG5cdFx0XHRcdFx0ZHQge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZnooMTIpO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMzM7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHRleHQ7XG5cdFx0XHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZ6KDEwKTtcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ZGQge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZnooMTYpO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMzc1O1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZ6KDE0KTtcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDM7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA5MSU7XG5cdFx0XHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0vLyAvLnJlcG9ydFxuXG5cdFx0Ji50ZXJtcyB7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiA4MzJweDtcblx0XHRcdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1heC13aWR0aDogaW5pdGlhbDtcblx0XHRcdFx0cGFkZGluZy10b3A6IDE4cHg7XG5cdFx0XHR9XG5cdFx0XHRoMyB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDMycHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XG5cdFx0XHRcdEBtZWRpYSAjeyRtb2JpbGV9IHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxOHB4O1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMzJweDtcblx0XHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxOHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5tZW1iZXIge1xuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0JjpudGgtb2YtdHlwZSgxKSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOm50aC1vZi10eXBlKDcpIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDcycHg7XG5cdFx0XHRcdFx0XHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDE4cHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdCsgcCB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAyNHB4O1xuXHRcdFx0XHRcdFx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxOHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAzMnB4O1xuXHRcdFx0XHRcdFx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxOHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQucGFnaW5hdGlvbiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdH1cblx0XHQuYnRuX2JyZGJsa3tcblx0XHRcdG1hcmdpbjogNDBweCBhdXRvIDI0cHg7XG5cdFx0fVxuXHR9Ly8gL3NlY3Rpb25cbn1cblxuLy9BbmRyb2lk5a++5b+cXG4uYW5kcm9pZF9vbGQge1xuXHRtYWluIHtcblx0XHQuc3RvcmVfbmFtZXtcblx0XHRcdHBhZGRpbmc6IDVweCAxNHB4IDNweCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zY3NzL2Zvb3Rlci5zY3NzIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyDmloflrZfjgrXjgqTjgrroqK3lrppcbkBtaXhpbiBmeigkc2l6ZSkge1xuXHRmb250LXNpemU6ICRzaXplICsgcHg7XG5cdGZvbnQtc2l6ZTogKCRzaXplIC8gMTApICogMXJlbTtcbn1cblxuXG4vLyBhYnNvbHV0ZSDkuIrkuIvlt6blj7PkuK3lpK7lr4TjgZtcbkBtaXhpbiBhYnMtY2VudGVyKCR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogMCwgJGxlZnQ6IDApIHtcblx0bWFyZ2luOiBhdXRvO1xuXHR0b3A6ICR0b3A7XG5cdHJpZ2h0OiAkcmlnaHQ7XG5cdGJvdHRvbTogJGJvdHRvbTtcblx0bGVmdDogJGxlZnQ7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLy8g44Kk44Oz44OH44Oz44OI6Kit5a6aXG5AbWl4aW4gdGV4dC1pbmRlbnQoJHZhbHVlOiAxKSB7XG5cdHBhZGRpbmctbGVmdDogI3skdmFsdWV9ZW07XG5cdHRleHQtaW5kZW50OiAtI3skdmFsdWV9ZW07XG59XG5cbi8vIGxpbmVjbGFtcFxuJHN1cHBvcnQtd2Via2l0IDogdHJ1ZTtcbkBtaXhpbiBsaW5lY2xhbXAoJGNsYW1wOiAzLCAkYmFzZV9zaXplOjE0LCAkYmFjazojZmZmKSB7XG5cdEBpZiAkY2xhbXAgPT0gMSB7XG5cdFx0QGluY2x1ZGUgZnooJGJhc2Vfc2l6ZSk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LW8tdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdH0gQGVsc2Uge1xuXHRcdEBpbmNsdWRlIGZ6KCRiYXNlX3NpemUpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdFx0aGVpZ2h0OiAoMS40ICogJGNsYW1wKSAtIDAuMiArIGVtO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWNrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDFlbTtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIi4uLlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDFlbTtcblx0XHR9XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdHJpZ2h0OiAtMWVtO1xuXHRcdFx0d2lkdGg6IDFlbTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWNrO1xuXHRcdH1cblx0XHQvLyB3ZWJraXRcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApe1xuXHRcdFx0QGluY2x1ZGUgZnooJGJhc2Vfc2l6ZSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS40ZW07XG5cdFx0XHRoZWlnaHQ6ICgxLjQgKiAkY2xhbXApIC0gMC4yICsgZW07XG5cdFx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcblx0XHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG5cdFx0XHQtd2Via2l0LWxpbmUtY2xhbXA6ICRjbGFtcDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdH1cblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gRWRnZVxuXHRcdEBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjphdXRvKXtcblx0XHRcdEBpbmNsdWRlIGZ6KCRiYXNlX3NpemUpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRcdGhlaWdodDogKDEuNCAqICRjbGFtcCkgLSAwLjE1ICsgZW07XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFjaztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDFlbTtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCIuLi5cIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0d2lkdGg6IDFlbTtcblx0XHRcdH1cblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdHJpZ2h0OiAtMWVtO1xuXHRcdFx0XHR3aWR0aDogMWVtO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWNrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyDjgqLjgqTjgrPjg7Pnn6LljbAg5LiKXG5AbWl4aW4gYXJyb3dfdCgkY29sb3I6ICNmZmYsICR3aWR0aDogN3B4LCAkdG9wOiAzMCUsICRyaWdodDogMCwgJGJvdHRvbTogMCwgJGxlZnQ6IGF1dG8pIHtcblx0bWFyZ2luOiBhdXRvO1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yO1xuXHRib3JkZXItbGVmdDogMnB4IHNvbGlkICRjb2xvcjtcblx0d2lkdGg6ICR3aWR0aDtcblx0aGVpZ2h0OiAkd2lkdGg7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAkdG9wO1xuXHRyaWdodDogJHJpZ2h0O1xuXHRib3R0b206ICRib3R0b207XG5cdGxlZnQ6ICRsZWZ0O1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDEzNWRlZykpO1xufVxuXG5cbi8vIOOCouOCpOOCs+ODs+efouWNsCDkuItcbkBtaXhpbiBhcnJvd19iKCRjb2xvcjogI2ZmZiwgJHdpZHRoOiA3cHgsICR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogMzAlLCAkbGVmdDogYXV0bykge1xuXHRtYXJnaW46IGF1dG87XG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3I7XG5cdGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRjb2xvcjtcblx0d2lkdGg6ICR3aWR0aDtcblx0aGVpZ2h0OiAkd2lkdGg7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAkdG9wO1xuXHRyaWdodDogJHJpZ2h0O1xuXHRib3R0b206ICRib3R0b207XG5cdGxlZnQ6ICRsZWZ0O1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDEzNWRlZykpO1xufVxuXG4vLyDjgqLjgqTjgrPjg7Pnn6LljbAg5bemXG5AbWl4aW4gYXJyb3dfbCgkY29sb3I6ICNmZmYsICR3aWR0aDogN3B4LCAkdG9wOiAwLCAkcmlnaHQ6IGF1dG8sICRib3R0b206IDAsICRsZWZ0OiAwKSB7XG5cdG1hcmdpbjogYXV0bztcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvcjtcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY29sb3I7XG5cdHdpZHRoOiAkd2lkdGg7XG5cdGhlaWdodDogJHdpZHRoO1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogJHRvcDtcblx0cmlnaHQ6ICRyaWdodDtcblx0Ym90dG9tOiAkYm90dG9tO1xuXHRsZWZ0OiAkbGVmdDtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xufVxuXG4vLyDjgqLjgqTjgrPjg7Pnn6LljbAg5Y+zXG5AbWl4aW4gYXJyb3dfcigkY29sb3I6ICNmZmYsICR3aWR0aDogN3B4LCAkdG9wOiAwLCAkcmlnaHQ6IDAsICRib3R0b206IDAsICRsZWZ0OiBhdXRvKSB7XG5cdG1hcmdpbjogYXV0bztcblx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvcjtcblx0Ym9yZGVyLXJpZ2h0OiAycHggc29saWQgJGNvbG9yO1xuXHR3aWR0aDogJHdpZHRoO1xuXHRoZWlnaHQ6ICR3aWR0aDtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6ICR0b3A7XG5cdHJpZ2h0OiAkcmlnaHQ7XG5cdGJvdHRvbTogJGJvdHRvbTtcblx0bGVmdDogJGxlZnQ7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcbn1cblxuXG4vLyBmbGV4XG5AbWl4aW4gZGlzcGxheS1mbGV4KCkge1xuICAgIEBpbmNsdWRlIGRpc3BsYXktYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAgICRyb3c6IHJvdztcbiAgICAkcm93LXJldmVyc2U6IHJvdy1yZXZlcnNlO1xuICAgICRjb2x1bW46IGNvbHVtbjtcbiAgICAkY29sdW1uLXJldmVyc2U6IGNvbHVtbi1yZXZlcnNlO1xuICAgIEBpZiAkZGlyZWN0aW9uID09IHJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1kaXJlY3Rpb24obm9ybWFsKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LW9yaWVudChob3Jpem9udGFsKTtcbiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHJvdztcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkcm93O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHJvdztcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcm93LXJldmVyc2Uge1xuICAgICAgICBAaW5jbHVkZSBib3gtZGlyZWN0aW9uKHJldmVyc2UpO1xuICAgICAgICBAaW5jbHVkZSBib3gtb3JpZW50KGhvcml6b250YWwpO1xuICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkcm93LXJldmVyc2U7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogJHJvdy1yZXZlcnNlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHJvdy1yZXZlcnNlO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBjb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBib3gtZGlyZWN0aW9uKG5vcm1hbCk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1vcmllbnQodmVydGljYWwpO1xuICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkY29sdW1uO1xuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246ICRjb2x1bW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkY29sdW1uO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBjb2x1bW4tcmV2ZXJzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1kaXJlY3Rpb24ocmV2ZXJzZSk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1vcmllbnQodmVydGljYWwpO1xuICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkY29sdW1uLXJldmVyc2U7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogJGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogJGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cbn1cblxuQG1peGluIGFsaWduLWl0ZW1zKCRhbGlnbil7XG4gICAgJGZsZXgtYWxpZ246IFwiXCI7XG4gICAgJGJveC1hbGlnbjogXCJcIjtcbiAgICBAaWYgJGFsaWduID09IFwiY2VudGVyXCIge1xuICAgICAgICAkZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAkYm94LWFsaWduOiBjZW50ZXI7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICAgICAkZmxleC1hbGlnbjogZmxleC1zdGFydDtcbiAgICAgICAgJGJveC1hbGlnbjogc3RhcnQ7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAgICAgJGZsZXgtYWxpZ246IGZsZXgtZW5kO1xuICAgICAgICAkYm94LWFsaWduOiBlbmQ7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gXCJiYXNlbGluZVwiIHtcbiAgICAgICAgJGZsZXgtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAkYm94LWFsaWduOiBiYXNlbGluZTtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSBcInN0cmV0Y2hcIiB7XG4gICAgICAgICRmbGV4LWFsaWduOiBzdHJldGNoO1xuICAgICAgICAkYm94LWFsaWduOiBzdHJldGNoO1xuICAgIH1cbiAgICAtd2Via2l0LWJveC1hbGlnbjogJGJveC1hbGlnbjtcbiAgICAtbW96LWJveC1hbGlnbjogJGJveC1hbGlnbjtcbiAgICAtbXMtZmxleC1hbGlnbjogJGJveC1hbGlnbjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkZmxleC1hbGlnbjtcbiAgICBhbGlnbi1pdGVtczogJGZsZXgtYWxpZ247XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHBhY2spIHtcbiAgICAkZmxleC1jb250ZW50OiBcIlwiO1xuICAgICRmbGV4LXBhYzogXCJcIjtcbiAgICAkZmxleC1tcy1wYWNrOiBcIlwiO1xuICAgIEBpZiAkcGFjayA9PSBcImNlbnRlclwiIHtcbiAgICAgICAgJGZsZXgtY29udGVudDogY2VudGVyO1xuICAgICAgICAkZmxleC1tcy1wYWNrOiBjZW50ZXI7XG4gICAgICAgICRmbGV4LXBhYzogY2VudGVyO1xuICAgIH0gQGVsc2UgaWYgJHBhY2sgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICAgICAkZmxleC1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAkZmxleC1tcy1wYWNrOiBzdGFydDtcbiAgICAgICAgJGZsZXgtcGFjOiBzdGFydDtcbiAgICB9IEBlbHNlIGlmICRwYWNrID09IFwiZmxleC1lbmRcIiB7XG4gICAgICAgICRmbGV4LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAkZmxleC1tcy1wYWNrOiBlbmQ7XG4gICAgICAgICRmbGV4LXBhYzogZW5kO1xuICAgIH0gQGVsc2UgaWYgJHBhY2sgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICAgICAkZmxleC1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAkZmxleC1tcy1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAkZmxleC1wYWM6IGp1c3RpZnk7XG4gICAgfSBAZWxzZSBpZiAkcGFjayA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAgICAgJGZsZXgtY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAkZmxleC1tcy1wYWNrOiBkaXN0cmlidXRlO1xuICAgICAgICAkZmxleC1wYWM6IGp1c3RpZnk7XG4gICAgfVxuICAgIC13ZWJraXQtYm94LXBhY2s6ICRmbGV4LXBhYztcbiAgICAtbW96LWJveC1wYWNrOiAkZmxleC1wYWM7XG4gICAgLW1zLWZsZXgtcGFjazogJGZsZXgtbXMtcGFjaztcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJGZsZXgtY29udGVudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmbGV4LWNvbnRlbnQ7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHdyYXApIHtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogJHdyYXA7XG4gICAgLW1zLWZsZXgtd3JhcDogJHdyYXA7XG4gICAgZmxleC13cmFwOiAkd3JhcDtcbn1cblxuQG1peGluIGFsaWduLWNvbnRlbnQoJGxpbmUpIHtcbiAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICRsaW5lO1xuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogJGxpbmU7XG4gICAgYWxpZ24tY29udGVudDogJGxpbmU7XG59XG5cbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aCkge1xuXHQtd2Via2l0LWZsZXgtYmFzaXM6ICR3aWR0aCArIHB4O1xuXHQtbXMtZmxleC1iYXNpczogJHdpZHRoICsgcHg7XG4gICAgZmxleC1iYXNpczogJHdpZHRoICsgcHg7XG59XG5cbkBtaXhpbiBmbGV4LWdyb3coJHNpemUpIHtcblx0LXdlYmtpdC1mbGV4LWdyb3c6ICRzaXplO1xuXHQtbXMtZmxleC1ncm93OiAkc2l6ZTtcbiAgICBmbGV4LWdyb3c6ICRzaXplO1xufVxuXG5AbWl4aW4gb3JkZXIoJHNpemUpIHtcblx0b3JkZXI6ICRzaXplO1xuXHQtd2Via2l0LW9yZGVyOiAkc2l6ZTtcblx0LW1zLW9yZGVyOiAkc2l6ZTtcbn1cbkBtaXhpbiBhbGlnbi1zZWxmKCRhbGlnbikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICRhbGlnbjtcbiAgICAgLW1vei1hbGlnbi1zZWxmOiAkYWxpZ247XG4gICAgICAtbXMtYWxpZ24tc2VsZjogJGFsaWduO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICRhbGlnbjtcbn1cbi8vIOODleOCqeODs+ODiOOCueOCv+OCpOODq1xuQG1peGluIGgxX3N0YW5kYXJkKCRjb2xvcjogIzMzMzMzMywgJGFsaWduOiBjZW50ZXIpIHtcblx0QGluY2x1ZGUgZnooMjYpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogJGFsaWduO1xuXHRsaW5lLWhlaWdodDogMS4zODtcblx0Y29sb3I6ICRjb2xvcjtcblx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdEBpbmNsdWRlIGZ6KDIyKTtcblx0XHRsaW5lLWhlaWdodDogMS4yNztcblx0fVxufVxuXG5AbWl4aW4gaDFfb3Blbl9zYW5zKCRhbGlnbjogY2VudGVyKSB7XG5cdEBpbmNsdWRlIGZ6KDI2KTtcblx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBZdUdvLUJvbGQsIHNhbnMtc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtYWxpZ246ICRhbGlnbjtcblx0bGluZS1oZWlnaHQ6IDEuMzE7XG5cdGNvbG9yOiAjMzMzMzMzO1xuXHRAbWVkaWEgI3skbW9iaWxlfSB7XG5cdFx0QGluY2x1ZGUgZnooMjIpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI3O1xuXHR9XG59XG5cbkBtaXhpbiBoMV9zdWIoJGNvbG9yOiAjZmZmLCAkYWxpZ246IGNlbnRlcikge1xuXHRAaW5jbHVkZSBmeigxNik7XG5cdGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdHRleHQtYWxpZ246ICRhbGlnbjtcblx0Y29sb3I6ICRjb2xvcjtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0QG1lZGlhICN7JG1vYmlsZX0ge1xuXHRcdEBpbmNsdWRlIGZ6KDEyKTtcblx0XHRsaW5lLWhlaWdodDogMS4zMztcblx0fVxufVxuXG5AbWl4aW4gaDFfYmxvZygkYWxpZ246IGp1c3RpZnkpIHtcblx0QGluY2x1ZGUgZnooMjYpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS4zODtcblx0dGV4dC1hbGlnbjogJGFsaWduO1xuXHRjb2xvcjogIzMzMzMzMztcbn1cblxuXG5AbWl4aW4gaDJfb3Blbl9zYW5zKCRhbGlnbjogbGVmdCkge1xuXHRAaW5jbHVkZSBmeigyNik7XG5cdGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGNvbG9yOiAjMzMzMzMzO1xuXHR0ZXh0LWFsaWduOiAkYWxpZ247XG59XG5cbkBtaXhpbiBoMl9ibG9nKCRhbGlnbjogbGVmdCkge1xuXHRAaW5jbHVkZSBmeigxOCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMS43ODtcblx0Y29sb3I6ICMzMzMzMzM7XG5cdHRleHQtYWxpZ246ICRhbGlnbjtcbn1cblxuQG1peGluIGgyX3N0YW5kYXJkKCRhbGlnbjogbGVmdCkge1xuXHRAaW5jbHVkZSBmeigxNik7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRjb2xvcjogIzMzMzMzMztcblx0dGV4dC1hbGlnbjogJGFsaWduO1xufVxuXG5AbWl4aW4gaDNfc3RhbmRhcmQoJGFsaWduOiBsZWZ0KSB7XG5cdEBpbmNsdWRlIGZ6KDE0KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAxLjU3O1xuXHRjb2xvcjogIzMzMzMzMztcblx0dGV4dC1hbGlnbjogJGFsaWduO1xuXHRAbWVkaWEgI3skdGFibGV0fSB7XG5cdFx0QGluY2x1ZGUgZnooMTIpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdH1cbn1cblxuQG1peGluIHBfYmxvZygkYWxpZ246IGp1c3RpZnkpIHtcblx0QGluY2x1ZGUgZnooMTYpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS44ODtcblx0Y29sb3I6ICMzMzMzMzM7XG5cdHRleHQtYWxpZ246ICRhbGlnbjtcbn1cblxuQG1peGluIGxpbmtfd2hpdGUoJGFsaWduOiBqdXN0aWZ5KSB7XG5cdEBpbmNsdWRlIGZ6KDE2KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDEuMzg7XG5cdGNvbG9yOiAjZmZmZmZmO1xuXHR0ZXh0LWFsaWduOiAkYWxpZ247XG59XG5cbkBtaXhpbiBsaW5rX3RleHQoJGFsaWduOiBsZWZ0KSB7XG5cdEBpbmNsdWRlIGZ6KDE2KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDEuMzg7XG5cdHRleHQtYWxpZ246ICRhbGlnbjtcblx0Y29sb3I6ICRwdXR0eTtcbn1cblxuQG1peGluIGNhdXRpb24oJGFsaWduOiBqdXN0aWZ5KSB7XG5cdEBpbmNsdWRlIGZ6KDE0KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDEuMzg7XG5cdHRleHQtYWxpZ246ICRhbGlnbjtcblx0Y29sb3I6ICRsaXBzdGljaztcbn1cblxuQG1peGluIGNhcHRpb24oJGFsaWduOiBjZW50ZXIpIHtcblx0QGluY2x1ZGUgZnooMTIpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS4zODtcblx0dGV4dC1hbGlnbjogJGFsaWduO1xuXHRjb2xvcjogIzMzMzMzMztcbn1cblxuQG1peGluIGRhdGUoJGNvbG9yOiAjMzMzMzMzLCAkYWxpZ246IGp1c3RpZnkpIHtcblx0QGluY2x1ZGUgZnooMTIpO1xuXHRmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG5cdGxpbmUtaGVpZ2h0OiAxLjMzO1xuXHR0ZXh0LWFsaWduOiAkYWxpZ247XG5cdGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBidG4oJHR5cGU6IGRlZmF1bHQpIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMjBweCk7XG5cdG1hcmdpbjowIGF1dG87XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0c3BhbiB7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0QGluY2x1ZGUgZGlzcGxheS1mbGV4O1xuXHRcdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblx0XHRcdEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXHRcdFx0ei1pbmRleDogMjA7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKC4zcyBlYXNlLWluLW91dCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMzhweDtcblx0XHRcdEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDpub25lKXtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6aG92ZXIge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG5cdHNwYW4ge1xuXHRcdHotaW5kZXg6IDIwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiguM3MgZWFzZS1pbi1vdXQpO1xuXHR9XG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygyMHB4KTtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0QGluY2x1ZGUgc2NhbGUoMCwgMSk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiguM3MgZWFzZS1pbi1vdXQpO1xuXHRcdHotaW5kZXg6IDEwO1xuXHRcdGJhY2tncm91bmQ6ICNhZDk0NzQgO1xuXHR9XG5cdCY6aG92ZXI6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xuXHR9XG5cdEBpZiAkdHlwZSA9PSBcImRlZmF1bHRcIiB7XG5cdFx0Y29sb3I6ICRwdXR0eTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdGJvcmRlcjogc29saWQgMXB4ICRwdXR0eTtcblx0XHRhIHtcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRjb2xvcjogJHB1dHR5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRzcGFuIHtcblx0XHRcdGNvbG9yOiAkcHV0dHk7XG5cdFx0fVxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogI2FkOTQ3NCAhaW1wb3J0YW50O1xuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiguNXMgZWFzZS1pbi1vdXQpO1xuXHRcdFx0YSB7XG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oLjNzIGVhc2UtaW4tb3V0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKC4zcyBlYXNlLWluLW91dCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6ZGlzYWJsZWQge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjZTBlMGUwO1xuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGNvbG9yOiAjZTBlMGUwO1xuXHRcdFx0fVxuXHRcdFx0Jjo6YmVmb3JlLCY6OmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDpub25lO1xuXHRcdFx0fVxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QGVsc2UgaWYgJHR5cGUgPT0gXCJwdXR0eVwiIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHB1dHR5O1xuXHRcdGJvcmRlcjogc29saWQgMXB4ICNmZmY7XG5cdFx0YSB7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogI2FkOTQ3NCAhaW1wb3J0YW50O1xuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiguNXMgZWFzZS1pbi1vdXQpO1xuXHRcdH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHR5cGUgPT0gXCJicmRibGtcIiB7XG4gICAgICAgIGNvbG9yOiAkdGV4dDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdGJvcmRlcjogc29saWQgMXB4ICR0ZXh0O1xuXHRcdGEge1xuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGNvbG9yOiAkdGV4dDtcblx0XHRcdH1cblx0XHR9XG5cdFx0c3BhbiB7XG5cdFx0XHRjb2xvcjogJHRleHQ7XG5cdFx0fVxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICMzMzM7XG5cdFx0fVxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogIzMzMztcblx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oLjVzIGVhc2UtaW4tb3V0KTtcblx0XHRcdGEge1xuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKC4zcyBlYXNlLWluLW91dCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiguM3MgZWFzZS1pbi1vdXQpO1xuXHRcdFx0fVxuXHRcdH1cbiAgICB9XG59XG5cbkBtaXhpbiBzZWxlY3QoKSB7XG5cdGxhYmVsIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiA4cHg7XG5cdFx0XHRoZWlnaHQ6IDZweDtcblx0XHRcdHJpZ2h0OiAxNnB4O1xuXHRcdFx0dG9wOiA0MCU7XG5cdFx0XHRib3JkZXItdG9wOiA2cHggc29saWQgJHRleHQ7XG5cdFx0XHRib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR9XG5cdFx0c2VsZWN0IHtcblx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCAkYnRuLWdyYXktZGVhZDtcblx0XHRcdHBhZGRpbmctbGVmdDogMTZweDtcblx0XHRcdG1heC13aWR0aDogMTIwcHg7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICAgJjpwbGFjZWhvbGRlci1zaG93biB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgXHRAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zY3NzL19taXhpbi5zY3NzIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyDjg6Hjg4fjgqPjgqLjgq/jgqjjg6pcbiR0YWJsZXQ6ICBcInNjcmVlbiBhbmQgKG1heC13aWR0aDo5NjBweClcIjtcbiRtb2JpbGU6ICBcInNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweClcIjtcbiRtb2JpbGUtc2U6ICBcInNjcmVlbiBhbmQgKG1heC13aWR0aDozMjBweClcIjtcblxuLy8g6Imy5oyH5a6aXG4kYmc6ICNmMWYxZjE7XG4kbGlnaHQtZ3JleS1ibHVlOiAjOWVjOGMyO1xuJGxpZ2h0LWdyZXk6ICNmMGViZTY7XG4kcHV0dHk6ICNjN2IyOTk7XG4kYnRuLWdyYXktZGVhZDogI2UwZTBlMDtcbiRsaXBzdGljazogI2U5MWU2MztcbiRmYWRlZC1waW5rOiAjZTRjNmNhO1xuJHRleHQ6ICMzMzMzMzM7XG5cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvX2NvbmZpZy5zY3NzIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcblxuLy8gVGhpcyBtaXhpbiBwcm92aWRlcyBiYXNpYyBzdXBwb3J0IGZvciBDU1MzIHByb3BlcnRpZXMgYW5kXG4vLyB0aGVpciBjb3JyZXNwb25kaW5nIGV4cGVyaW1lbnRhbCBDU1MyIHByb3BlcnRpZXMgd2hlblxuLy8gdGhlIGltcGxlbWVudGF0aW9ucyBhcmUgaWRlbnRpY2FsIGV4Y2VwdCBmb3IgdGhlIHByb3BlcnR5XG4vLyBwcmVmaXguXG5AbWl4aW4gZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAtd2Via2l0LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgIC1raHRtbC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgIC1tb3otI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAgICAgLW1zLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAtby0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG59XG5cbi8vIFNhbWUgYXMgZXhwZXJpbWVudGFsKCksIGJ1dCBmb3IgY2FzZXMgd2hlbiB0aGUgcHJvcGVydHkgaXMgdGhlIHNhbWUgYW5kIHRoZSB2YWx1ZSBpcyB2ZW5kb3JpemVkXG5AbWl4aW4gZXhwZXJpbWVudGFsLXZhbHVlKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAjeyRwcm9wZXJ0eX0gOiAtd2Via2l0LSN7JHZhbHVlfTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgI3skcHJvcGVydHl9IDogIC1raHRtbC0jeyR2YWx1ZX07IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICN7JHByb3BlcnR5fSA6ICAgIC1tb3otI3skdmFsdWV9OyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAjeyRwcm9wZXJ0eX0gOiAgICAgLW1zLSN7JHZhbHVlfTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAtby0jeyR2YWx1ZX07IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgICAgI3skdmFsdWV9OyB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fc2hhcmVkLnNjc3MiLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIEBkb2Mgb2ZmXG4vLyBOb3RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNhZmFyaSwgQ2hyb21lLCBhbmQgRmlyZWZveCBhbGwgc3VwcG9ydCAzRCB0cmFuc2Zvcm1zLiBIb3dldmVyLFxuLy8gb25seSBpbiB0aGUgbW9zdCByZWNlbnQgYnVpbGRzLiBZb3Ugc2hvdWxkIGFsc28gcHJvdmlkZSBmYWxsYmFjayAyZCBzdXBwb3J0IGZvclxuLy8gT3BlcmEgYW5kIElFLiBJRTEwIGlzIHNsYXRlZCB0byBoYXZlIDNkIGVuYWJsZWQsIGJ1dCBpcyBjdXJyZW50bHkgdW5yZWxlYXNlZC5cbi8vIFRvIG1ha2UgdGhhdCBlYXN5LCBhbGwgMkQgdHJhbnNmb3JtcyBpbmNsdWRlIGFuIGJyb3dzZXItdGFyZ2V0aW5nIHRvZ2dsZSAoJG9ubHkzZClcbi8vIHRvIHN3aXRjaCBiZXR3ZWVuIHRoZSB0d28gc3VwcG9ydCBsaXN0cy4gVGhlIHRvZ2dsZSBkZWZhdWx0cyB0byAnZmFsc2UnICgyRCksXG4vLyBhbmQgYWxzbyBhY2NlcHRzICd0cnVlJyAoM0QpLiBDdXJyZW50bHkgdGhlIGxpc3RzIGFyZSBhcyBmb2xsb3dzOlxuLy8gMkQ6IE1vemlsbGEsIFdlYmtpdCwgT3BlcmEsIE9mZmljaWFsXG4vLyAzRDogV2Via2l0LCBGaXJlZm94LlxuXG4vLyBBdmFpbGFibGUgVHJhbnNmb3JtcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gU2NhbGUgKDJkIGFuZCAzZClcbi8vIC0gUm90YXRlICgyZCBhbmQgM2QpXG4vLyAtIFRyYW5zbGF0ZSAoMmQgYW5kIDNkKVxuLy8gLSBTa2V3ICgyZCBvbmx5KVxuXG4vLyBUcmFuc2Zvcm0gUGFyYW1ldGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gVHJhbnNmb3JtIE9yaWdpbiAoMmQgYW5kIDNkKVxuLy8gLSBQZXJzcGVjdGl2ZSAoM2QpXG4vLyAtIFBlcnNwZWN0aXZlIE9yaWdpbiAoM2QpXG4vLyAtIFRyYW5zZm9ybSBTdHlsZSAoM2QpXG4vLyAtIEJhY2tmYWNlIFZpc2liaWxpdHkgKDNkKVxuXG4vLyBNaXhpbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHRyYW5zZm9ybS1vcmlnaW5cbi8vICAtIHNob3J0Y3V0czogIHRyYW5zZm9ybS1vcmlnaW4yZCwgdHJhbnNmb3JtLW9yaWdpbjNkXG4vLyAgLSBoZWxwZXJzOiAgICBhcHBseS1vcmlnaW5cbi8vIHRyYW5zZm9ybVxuLy8gIC0gc2hvcnRjdXRzOiAgdHJhbnNmb3JtMmQsIHRyYW5zZm9ybTNkXG4vLyAgLSBoZWxwZXJzOiAgICBzaW1wbGUtdHJhbnNmb3JtLCBjcmVhdGUtdHJhbnNmb3JtXG4vLyBwZXJzcGVjdGl2ZVxuLy8gIC0gaGVscGVyczogICAgcGVyc3BlY3RpdmUtb3JpZ2luXG4vLyB0cmFuc2Zvcm0tc3R5bGVcbi8vIGJhY2tmYWNlLXZpc2liaWxpdHlcbi8vIHNjYWxlXG4vLyAgLSBzaG9ydGN1dHM6ICBzY2FsZVgsIHNjYWxlWSwgc2NhbGVaLCBzY2FsZTNkXG4vLyByb3RhdGVcbi8vICAtIHNob3J0Y3V0czogIHJvdGF0ZVgsIHJvdGF0ZVksIHJvdGF0ZTNkXG4vLyB0cmFuc2xhdGVcbi8vICAtIHNob3J0Y3V0czogIHRyYW5zbGF0ZVgsIHRyYW5zbGF0ZVksIHRyYW5zbGF0ZVosIHRyYW5zbGF0ZTNkXG4vLyBza2V3XG4vLyAgLSBzaG9ydGN1dHM6ICBza2V3WCwgc2tld1lcblxuLy8gRGVmYXVsdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFRoZSBkZWZhdWx0IHgtb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teCAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teSAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teiAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXggICAgIDogMS4yNSAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS15ICAgICA6ICRkZWZhdWx0LXNjYWxlLXggICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteiAgICAgOiAkZGVmYXVsdC1zY2FsZS14ICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgYW5nbGUgZm9yIHJvdGF0aW9uc1xuJGRlZmF1bHQtcm90YXRlICAgICAgOiA0NWRlZyAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXggICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteSAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci16ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS14IDogMWVtICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXkgOiAkZGVmYXVsdC10cmFuc2xhdGUteCAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteiA6ICRkZWZhdWx0LXRyYW5zbGF0ZS14ICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LWFuZ2xlIGZvciBza2V3aW5nXG4kZGVmYXVsdC1za2V3LXggICAgICA6IDVkZWcgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktYW5nbGUgZm9yIHNrZXdpbmdcbiRkZWZhdWx0LXNrZXcteSAgICAgIDogNWRlZyAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vICoqVHJhbnNmb3JtLW9yaWdpbioqXG4vLyBUcmFuc2Zvcm0tb3JpZ2luIHNlbnQgYXMgYSBjb21wbGV0ZSBzdHJpbmdcbi8vXG4vLyAgICAgQGluY2x1ZGUgYXBwbHktb3JpZ2luKCBvcmlnaW4gWywgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSAnb3JpZ2luJyBpcyBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0IGNvbnRhaW5pbmcgMS0zICh4L3kveikgY29vcmRpbmF0ZXNcbi8vIGluIHBlcmNlbnRhZ2VzLCBhYnNvbHV0ZSAocHgsIGNtLCBpbiwgZW0gZXRjLi4pIG9yIHJlbGF0aXZlXG4vLyAobGVmdCwgdG9wLCByaWdodCwgYm90dG9tLCBjZW50ZXIpIHVuaXRzXG4vL1xuLy8gQHBhcmFtIG9ubHkzZCBTZXQgdGhpcyB0byB0cnVlIHRvIG9ubHkgYXBwbHkgdGhpc1xuLy8gbWl4aW4gd2hlcmUgYnJvd3NlcnMgaGF2ZSAzRCBzdXBwb3J0LlxuQG1peGluIGFwcGx5LW9yaWdpbigkb3JpZ2luLCAkb25seTNkKSB7XG4gICRvbmx5M2Q6ICRvbmx5M2Qgb3IgLWNvbXBhc3MtbGlzdC1zaXplKC1jb21wYXNzLWxpc3QoJG9yaWdpbikpID4gMjtcbiAgQGlmICRvbmx5M2Qge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tb3JpZ2luLCAkb3JpZ2luLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybS1vcmlnaW4sICRvcmlnaW4sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIFRyYW5zZm9ybS1vcmlnaW4gc2VudCBhcyBpbmRpdmlkdWFsIGFyZ3VtZW50czpcbi8vXG4vLyAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbiggWyBvcmlnaW4teCwgb3JpZ2luLXksIG9yaWdpbi16LCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlIHRoZSAzICdvcmlnaW4tJyBhcmd1bWVudHMgcmVwcmVzZW50IHgveS96IGNvb3JkaW5hdGVzLlxuLy9cbi8vICoqTk9URToqKiBzZXR0aW5nIHogY29vcmRpbmF0ZXMgdHJpZ2dlcnMgM0Qgc3VwcG9ydCBsaXN0LCBsZWF2ZSBmYWxzZSBmb3IgMkQgc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oXG4gICRvcmlnaW4teDogJGRlZmF1bHQtb3JpZ2luLXgsXG4gICRvcmlnaW4teTogJGRlZmF1bHQtb3JpZ2luLXksXG4gICRvcmlnaW4tejogZmFsc2UsXG4gICRvbmx5M2Q6ICAgaWYoJG9yaWdpbi16LCB0cnVlLCBmYWxzZSlcbikge1xuICAkb3JpZ2luOiB1bnF1b3RlKCcnKTtcbiAgQGlmICRvcmlnaW4teCBvciAkb3JpZ2luLXkgb3IgJG9yaWdpbi16IHtcbiAgICBAaWYgJG9yaWdpbi14IHsgJG9yaWdpbjogJG9yaWdpbi14OyB9IEBlbHNlIHsgJG9yaWdpbjogNTAlOyB9XG4gICAgQGlmICRvcmlnaW4teSB7ICRvcmlnaW46ICRvcmlnaW4gJG9yaWdpbi15OyB9IEBlbHNlIHsgQGlmICRvcmlnaW4teiB7ICRvcmlnaW46ICRvcmlnaW4gNTAlOyB9fVxuICAgIEBpZiAkb3JpZ2luLXogeyAkb3JpZ2luOiAkb3JpZ2luICRvcmlnaW4tejsgfVxuICAgIEBpbmNsdWRlIGFwcGx5LW9yaWdpbigkb3JpZ2luLCAkb25seTNkKTtcbiAgfVxufVxuXG5cbi8vIFRyYW5zZm9ybSBzZW50IGFzIGEgY29tcGxldGUgc3RyaW5nOlxuLy9cbi8vICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zZm9ybXMgWywgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSAndHJhbnNmb3JtcycgaXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiBhbGwgdGhlIHRyYW5zZm9ybXMgdG8gYmUgYXBwbGllZC5cbkBtaXhpbiB0cmFuc2Zvcm0oXG4gICR0cmFuc2Zvcm0sXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgQGlmICRvbmx5M2Qge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0sICR0cmFuc2Zvcm0sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLCAkdHJhbnNmb3JtLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBTaG9ydGN1dCB0byB0YXJnZXQgYWxsIGJyb3dzZXJzIHdpdGggMkQgdHJhbnNmb3JtIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0yZCgkdHJhbnMpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgZmFsc2UpO1xufVxuXG4vLyBTaG9ydGN1dCB0byB0YXJnZXQgb25seSBicm93c2VycyB3aXRoIDNEIHRyYW5zZm9ybSBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtM2QoJHRyYW5zKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsIHRydWUpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gM0QgUGFyYW1ldGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFNldCB0aGUgcGVyc3BlY3RpdmUgb2YgM0QgdHJhbnNmb3JtcyBvbiB0aGUgY2hpbGRyZW4gb2YgYW4gZWxlbWVudDpcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHBlcnNwZWN0aXZlKCBwZXJzcGVjdGl2ZSApXG4vL1xuLy8gd2hlcmUgJ3BlcnNwZWN0aXZlJyBpcyBhIHVuaXRsZXNzIG51bWJlciByZXByZXNlbnRpbmcgdGhlIGRlcHRoIG9mIHRoZVxuLy8gei1heGlzLiBUaGUgaGlnaGVyIHRoZSBwZXJzcGVjdGl2ZSwgdGhlIG1vcmUgZXhhZ2dlcmF0ZWQgdGhlIGZvcmVzaG9ydGVuaW5nLlxuLy8gdmFsdWVzIGZyb20gNTAwIHRvIDEwMDAgYXJlIG1vcmUtb3ItbGVzcyBcIm5vcm1hbFwiIC0gYSBnb29kIHN0YXJ0aW5nLXBvaW50LlxuQG1peGluIHBlcnNwZWN0aXZlKCRwKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChwZXJzcGVjdGl2ZSwgJHAsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNldCB0aGUgb3JpZ2luIHBvc2l0aW9uIGZvciB0aGUgcGVyc3BlY3RpdmVcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHBlcnNwZWN0aXZlLW9yaWdpbihvcmlnaW4teCBbb3JpZ2luLXldKVxuLy9cbi8vIHdoZXJlIHRoZSB0d28gYXJndW1lbnRzIHJlcHJlc2VudCB4L3kgY29vcmRpbmF0ZXNcbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJG9yaWdpbjogNTAlKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChwZXJzcGVjdGl2ZS1vcmlnaW4sICRvcmlnaW4sXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERldGVybWluZSB3aGV0aGVyIGEgM0Qgb2JqZWN0cyBjaGlsZHJlbiBhbHNvIGxpdmUgaW4gdGhlIGdpdmVuIDNEIHNwYWNlXG4vL1xuLy8gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tc3R5bGUoIFsgc3R5bGUgXSApXG4vL1xuLy8gd2hlcmUgYHN0eWxlYCBjYW4gYmUgZWl0aGVyIGBmbGF0YCBvciBgcHJlc2VydmUtM2RgLlxuLy8gQnJvd3NlcnMgZGVmYXVsdCB0byBgZmxhdGAsIG1peGluIGRlZmF1bHRzIHRvIGBwcmVzZXJ2ZS0zZGAuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlKCRzdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZXRlcm1pbmUgdGhlIHZpc2liaWxpdHkgb2YgYW4gZWxlbWVudCB3aGVuIGl0J3MgYmFjayBpcyB0dXJuZWRcbi8vXG4vLyAgICAgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSggWyB2aXNpYmlsaXR5IF0gKVxuLy9cbi8vIHdoZXJlIGB2aXNpYmlsaXR5YCBjYW4gYmUgZWl0aGVyIGB2aXNpYmxlYCBvciBgaGlkZGVuYC5cbi8vIEJyb3dzZXJzIGRlZmF1bHQgdG8gdmlzaWJsZSwgbWl4aW4gZGVmYXVsdHMgdG8gaGlkZGVuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eTogaGlkZGVuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFRyYW5zZm9ybSBQYXJ0aWFscyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhlc2Ugd29yayB3ZWxsIG9uIHRoZWlyIG93biwgYnV0IHRoZXkgZG9uJ3QgYWRkIHRvIGVhY2ggb3RoZXIsIHRoZXkgb3ZlcnJpZGUuXG4vLyBVc2UgYWxvbmcgd2l0aCB0cmFuc2Zvcm0gcGFyYW1ldGVyIG1peGlucyB0byBhZGp1c3Qgb3JpZ2luLCBwZXJzcGVjdGl2ZSBhbmQgc3R5bGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFNjYWxlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYW5kIHkgYXhpczpcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHNjYWxlKCBbIHNjYWxlLXgsIHNjYWxlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlIHRoZSAnc2NhbGUtJyBhcmd1bWVudHMgYXJlIHVuaXRsZXNzIG11bHRpcGxpZXJzIG9mIHRoZSB4IGFuZCB5IGRpbWVuc2lvbnNcbi8vIGFuZCBwZXJzcGVjdGl2ZSwgd2hpY2ggd29ya3MgdGhlIHNhbWUgYXMgdGhlIHN0YW5kLWFsb25lIHBlcnNwZWN0aXZlIHByb3BlcnR5L21peGluXG4vLyBidXQgYXBwbGllcyB0byB0aGUgaW5kaXZpZHVhbCBlbGVtZW50IChtdWx0aXBsaWVkIHdpdGggYW55IHBhcmVudCBwZXJzcGVjdGl2ZSlcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGUoXG4gICRzY2FsZS14OiAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHNjYWxlLXk6ICAgICAkc2NhbGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGUoJHNjYWxlLXgsICRzY2FsZS15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVgoIFsgc2NhbGUteCwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWChcbiAgJHNjYWxlOiAgICAgICAkZGVmYXVsdC1zY2FsZS14LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVgoJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeSBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVkoIFsgc2NhbGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWShcbiAgJHNjYWxlOiAgICAgICAkZGVmYXVsdC1zY2FsZS15LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVkoJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeiBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVooIFsgc2NhbGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWihcbiAgJHNjYWxlOiAkZGVmYXVsdC1zY2FsZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVooJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gU2NhbGUgYW5kIG9iamVjdCBhbG9uZyBhbGwgdGhyZWUgYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGUzZCggWyBzY2FsZS14LCBzY2FsZS15LCBzY2FsZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGUzZChcbiAgJHNjYWxlLXg6ICAgICAkZGVmYXVsdC1zY2FsZS14LFxuICAkc2NhbGUteTogICAgICRkZWZhdWx0LXNjYWxlLXksXG4gICRzY2FsZS16OiAgICAgJGRlZmF1bHQtc2NhbGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGUzZCgkc2NhbGUteCwgJHNjYWxlLXksICRzY2FsZS16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFJvdGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeiBheGlzICAoMkQpXG4vLyBAaW5jbHVkZSByb3RhdGUoIFsgcm90YXRpb24sIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy8gd2hlcmUgJ3JvdGF0aW9uJyBpcyBhbiBhbmdsZSBzZXQgaW4gZGVncmVlcyAoZGVnKSBvciByYWRpYW4gKHJhZCkgdW5pdHNcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlKFxuICAkcm90YXRlOiAgICAgICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gQSBsb25nY3V0IGZvciAncm90YXRlJyBpbiBjYXNlIHlvdSBmb3JnZXQgdGhhdCAneicgaXMgaW1wbGllZFxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGVaKFxuICAkcm90YXRlOiAgICAgICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gIEBpbmNsdWRlIHJvdGF0ZSgkcm90YXRlLCAkcGVyc3BlY3RpdmUsICRvbmx5M2QpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeCBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZVgoIFsgcm90YXRpb24sIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGVYKFxuICAkcm90YXRlOiAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZVgoJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIHRoZSB5IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWShcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGVZKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCBhbiBhcmJpdHJhcnkgYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGUoIFsgdmVjdG9yLXgsIHZlY3Rvci15LCB2ZWN0b3Iteiwgcm90YXRpb24sIHBlcnNwZWN0aXZlIF0gKVxuLy8gd2hlcmUgdGhlICd2ZWN0b3ItJyBhcmd1bWVudHMgYWNjZXB0IHVuaXRsZXNzIG51bWJlcnMuXG4vLyBUaGVzZSBudW1iZXJzIGFyZSBub3QgaW1wb3J0YW50IG9uIHRoZWlyIG93biwgYnV0IGluIHJlbGF0aW9uIHRvIG9uZSBhbm90aGVyXG4vLyBjcmVhdGluZyBhbiBheGlzIGZyb20geW91ciB0cmFuc2Zvcm0tb3JpZ2luLCBhbG9uZyB0aGUgYXhpcyBvZiBYeCA9IFl5ID0gWnouXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZTNkKFxuICAkdmVjdG9yLXg6ICRkZWZhdWx0LXZlY3Rvci14LFxuICAkdmVjdG9yLXk6ICRkZWZhdWx0LXZlY3Rvci15LFxuICAkdmVjdG9yLXo6ICRkZWZhdWx0LXZlY3Rvci16LFxuICAkcm90YXRlOiAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZTNkKCR2ZWN0b3IteCwgJHZlY3Rvci15LCAkdmVjdG9yLXosICRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gVHJhbnNsYXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IG9yIHkgYXhpcyAoMkQpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHRyYW5zbGF0ZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vIHdoZXJlIHRoZSAndHJhbnNsYXRlLScgYXJndW1lbnRzIGFjY2VwdCBhbnkgZGlzdGFuY2UgaW4gcGVyY2VudGFnZXMgb3IgYWJzb2x1dGUgKHB4LCBjbSwgaW4sIGVtIGV0Yy4uKSB1bml0cy5cbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlKFxuICAkdHJhbnNsYXRlLXg6ICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkdHJhbnNsYXRlLXk6ICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGUoJHRyYW5zbGF0ZS14LCAkdHJhbnNsYXRlLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYXhpcyAoMkQpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVYKFxuICAkdHJhbnMteDogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVYKCR0cmFucy14KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB5IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWShcbiAgJHRyYW5zLXk6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWSgkdHJhbnMteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeiBheGlzICgzRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVooXG4gICR0cmFucy16OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVooJHRyYW5zLXopO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCwgeSBhbmQgeiBheGlzICgzRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteCwgdHJhbnNsYXRlLXksIHRyYW5zbGF0ZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlM2QoXG4gICR0cmFuc2xhdGUteDogJGRlZmF1bHQtdHJhbnNsYXRlLXgsXG4gICR0cmFuc2xhdGUteTogJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICR0cmFuc2xhdGUtejogJGRlZmF1bHQtdHJhbnNsYXRlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZTNkKCR0cmFuc2xhdGUteCwgJHRyYW5zbGF0ZS15LCAkdHJhbnNsYXRlLXopO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gU2tldyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFNrZXcgYW4gZWxlbWVudDpcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXgsIHNrZXcteSwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgJ3NrZXctJyBhcmd1bWVudHMgYWNjZXB0IGNzcyBhbmdsZXMgaW4gZGVncmVlcyAoZGVnKSBvciByYWRpYW4gKHJhZCkgdW5pdHMuXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXcoXG4gICRza2V3LXg6ICRkZWZhdWx0LXNrZXcteCxcbiAgJHNrZXcteTogJGRlZmF1bHQtc2tldy15LFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2tldygkc2tldy14LCAkc2tldy15KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNrZXcgYW4gZWxlbWVudCBhbG9uZyB0aGUgeCBheGl6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy14LCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3WChcbiAgJHNrZXcteDogJGRlZmF1bHQtc2tldy14LFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2tld1goJHNrZXcteCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTa2V3IGFuIGVsZW1lbnQgYWxvbmcgdGhlIHkgYXhpc1xuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tld1koXG4gICRza2V3LXk6ICRkZWZhdWx0LXNrZXcteSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXdZKCRza2V3LXkpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuXG4vLyBGdWxsIHRyYW5zZm9ybSBtaXhpbnNcbi8vIEZvciBzZXR0aW5ncyBhbnkgY29tYmluYXRpb24gb2YgdHJhbnNmb3JtcyBhcyBhcmd1bWVudHNcbi8vIFRoZXNlIGFyZSBjb21wbGV4IGFuZCBub3QgaGlnaGx5IHJlY29tbWVuZGVkIGZvciBkYWlseSB1c2UuIFRoZXkgYXJlIG1haW5seVxuLy8gaGVyZSBmb3IgYmFja3dhcmQtY29tcGF0aWJpbGl0eSBwdXJwb3Nlcy5cbi8vXG4vLyAqIHRoZXkgaW5jbHVkZSBvcmlnaW4gYWRqdXN0bWVudHNcbi8vICogc2NhbGUgdGFrZXMgYSBtdWx0aXBsaWVyICh1bml0bGVzcyksIHJvdGF0ZSBhbmQgc2tldyB0YWtlIGRlZ3JlZXMgKGRlZylcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gY3JlYXRlLXRyYW5zZm9ybShcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJHNjYWxlLXg6ICAgICBmYWxzZSxcbiAgJHNjYWxlLXk6ICAgICBmYWxzZSxcbiAgJHNjYWxlLXo6ICAgICBmYWxzZSxcbiAgJHJvdGF0ZS14OiAgICBmYWxzZSxcbiAgJHJvdGF0ZS15OiAgICBmYWxzZSxcbiAgJHJvdGF0ZS16OiAgICBmYWxzZSxcbiAgJHJvdGF0ZTNkOiAgICBmYWxzZSxcbiAgJHRyYW5zLXg6ICAgICBmYWxzZSxcbiAgJHRyYW5zLXk6ICAgICBmYWxzZSxcbiAgJHRyYW5zLXo6ICAgICBmYWxzZSxcbiAgJHNrZXcteDogICAgICBmYWxzZSxcbiAgJHNrZXcteTogICAgICBmYWxzZSxcbiAgJG9yaWdpbi14OiAgICBmYWxzZSxcbiAgJG9yaWdpbi15OiAgICBmYWxzZSxcbiAgJG9yaWdpbi16OiAgICBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdW5xdW90ZShcIlwiKTtcblxuICAvLyBwZXJzcGVjdGl2ZVxuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIDsgfVxuXG4gIC8vIHNjYWxlXG4gIEBpZiAkc2NhbGUteCBhbmQgJHNjYWxlLXkge1xuICAgIEBpZiAkc2NhbGUteiB7ICR0cmFuczogJHRyYW5zIHNjYWxlM2QoJHNjYWxlLXgsICRzY2FsZS15LCAkc2NhbGUteik7IH1cbiAgICBAZWxzZSB7ICR0cmFuczogJHRyYW5zIHNjYWxlKCRzY2FsZS14LCAkc2NhbGUteSk7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmICRzY2FsZS14IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVYKCRzY2FsZS14KTsgfVxuICAgIEBpZiAkc2NhbGUteSB7ICR0cmFuczogJHRyYW5zIHNjYWxlWSgkc2NhbGUteSk7IH1cbiAgICBAaWYgJHNjYWxlLXogeyAkdHJhbnM6ICR0cmFucyBzY2FsZVooJHNjYWxlLXopOyB9XG4gIH1cblxuICAvLyByb3RhdGVcbiAgQGlmICRyb3RhdGUteCB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVgoJHJvdGF0ZS14KTsgfVxuICBAaWYgJHJvdGF0ZS15IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWSgkcm90YXRlLXkpOyB9XG4gIEBpZiAkcm90YXRlLXogeyAkdHJhbnM6ICR0cmFucyByb3RhdGVaKCRyb3RhdGUteik7IH1cbiAgQGlmICRyb3RhdGUzZCB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZTNkKCRyb3RhdGUzZCk7IH1cblxuICAvLyB0cmFuc2xhdGVcbiAgQGlmICR0cmFucy14IGFuZCAkdHJhbnMteSB7XG4gICAgQGlmICR0cmFucy16IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlM2QoJHRyYW5zLXgsICR0cmFucy15LCAkdHJhbnMteik7IH1cbiAgICBAZWxzZSB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZSgkdHJhbnMteCwgJHRyYW5zLXkpOyB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkdHJhbnMteCB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVgoJHRyYW5zLXgpOyB9XG4gICAgQGlmICR0cmFucy15IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWSgkdHJhbnMteSk7IH1cbiAgICBAaWYgJHRyYW5zLXogeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVaKCR0cmFucy16KTsgfVxuICB9XG5cbiAgLy8gc2tld1xuICBAaWYgJHNrZXcteCBhbmQgJHNrZXcteSB7ICR0cmFuczogJHRyYW5zIHNrZXcoJHNrZXcteCwgJHNrZXcteSk7IH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkc2tldy14IHsgJHRyYW5zOiAkdHJhbnMgc2tld1goJHNrZXcteCk7IH1cbiAgICBAaWYgJHNrZXcteSB7ICR0cmFuczogJHRyYW5zIHNrZXdZKCRza2V3LXkpOyB9XG4gIH1cblxuICAvLyBhcHBseSBpdCFcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZCk7XG59XG5cblxuLy8gQSBzaW1wbGlmaWVkIHNldCBvZiBvcHRpb25zXG4vLyBiYWNrd2FyZHMtY29tcGF0aWJsZSB3aXRoIHRoZSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoZSAndHJhbnNmb3JtJyBtaXhpblxuQG1peGluIHNpbXBsZS10cmFuc2Zvcm0oXG4gICRzY2FsZTogICAgZmFsc2UsXG4gICRyb3RhdGU6ICAgZmFsc2UsXG4gICR0cmFucy14OiAgZmFsc2UsXG4gICR0cmFucy15OiAgZmFsc2UsXG4gICRza2V3LXg6ICAgZmFsc2UsXG4gICRza2V3LXk6ICAgZmFsc2UsXG4gICRvcmlnaW4teDogZmFsc2UsXG4gICRvcmlnaW4teTogZmFsc2Vcbikge1xuICBAaW5jbHVkZSBjcmVhdGUtdHJhbnNmb3JtKFxuICAgIGZhbHNlLFxuICAgICRzY2FsZSwgJHNjYWxlLCBmYWxzZSxcbiAgICBmYWxzZSwgZmFsc2UsICRyb3RhdGUsIGZhbHNlLFxuICAgICR0cmFucy14LCAkdHJhbnMteSwgZmFsc2UsXG4gICAgJHNrZXcteCwgJHNrZXcteSxcbiAgICAkb3JpZ2luLXgsICRvcmlnaW4teSwgZmFsc2UsXG4gICAgZmFsc2VcbiAgKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190cmFuc2Zvcm0uc2NzcyIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ1NTIFRyYW5zaXRpb25zXG4vLyBDdXJyZW50bHkgb25seSB3b3JrcyBpbiBXZWJraXQuXG4vL1xuLy8gKiBleHBlY3RlZCBpbiBDU1MzLCBGaXJlRm94IDMuNi83IGFuZCBPcGVyYSBQcmVzdG8gMi4zXG4vLyAqIFdlJ2xsIGJlIHByZXBhcmVkLlxuLy9cbi8vIEluY2x1ZGluZyB0aGlzIHN1Ym1vZHVsZSBzZXRzIGZvbGxvd2luZyBkZWZhdWx0cyBmb3IgdGhlIG1peGluczpcbi8vXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IGFsbFxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gOiAxc1xuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24gOiBmYWxzZVxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXkgICAgOiBmYWxzZVxuLy9cbi8vIE92ZXJyaWRlIHRoZW0gaWYgeW91IGxpa2UuIFRpbWluZy1mdW5jdGlvbiBhbmQgZGVsYXkgYXJlIHNldCB0byBmYWxzZSBmb3IgYnJvd3NlciBkZWZhdWx0cyAoZWFzZSwgMHMpLlxuXG4kZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGwgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb246IDFzICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheTogZmFsc2UgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXM6IHRyYW5zZm9ybSwgdHJhbnNmb3JtLW9yaWdpbiAhZGVmYXVsdDtcblxuLy8gT25lIG9yIG1vcmUgcHJvcGVydGllcyB0byB0cmFuc2l0aW9uXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIGFsc28gYWNjZXB0cyBcImFsbFwiIG9yIFwibm9uZVwiXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0eS0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkcHJvcGVydHktMiA6IGZhbHNlLFxuICAkcHJvcGVydHktMyA6IGZhbHNlLFxuICAkcHJvcGVydHktNCA6IGZhbHNlLFxuICAkcHJvcGVydHktNSA6IGZhbHNlLFxuICAkcHJvcGVydHktNiA6IGZhbHNlLFxuICAkcHJvcGVydHktNyA6IGZhbHNlLFxuICAkcHJvcGVydHktOCA6IGZhbHNlLFxuICAkcHJvcGVydHktOSA6IGZhbHNlLFxuICAkcHJvcGVydHktMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5LTEpID09IHN0cmluZyB7ICRwcm9wZXJ0eS0xOiB1bnF1b3RlKCRwcm9wZXJ0eS0xKTsgfVxuICAkcHJvcGVydGllczogY29tcGFjdCgkcHJvcGVydHktMSwgJHByb3BlcnR5LTIsICRwcm9wZXJ0eS0zLCAkcHJvcGVydHktNCwgJHByb3BlcnR5LTUsICRwcm9wZXJ0eS02LCAkcHJvcGVydHktNywgJHByb3BlcnR5LTgsICRwcm9wZXJ0eS05LCAkcHJvcGVydHktMTApO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtd2Via2l0LCAkcHJvcGVydGllcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW1veiwgICAgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1vLCAgICAgICRwcm9wZXJ0aWVzKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHkgOiAkcHJvcGVydGllcztcbn1cblxuLy8gT25lIG9yIG1vcmUgZHVyYXRpb25zIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZHVyYXRpb25zIHdpbGwgYWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJGR1cmF0aW9uLTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRkdXJhdGlvbi0yIDogZmFsc2UsXG4gICRkdXJhdGlvbi0zIDogZmFsc2UsXG4gICRkdXJhdGlvbi00IDogZmFsc2UsXG4gICRkdXJhdGlvbi01IDogZmFsc2UsXG4gICRkdXJhdGlvbi02IDogZmFsc2UsXG4gICRkdXJhdGlvbi03IDogZmFsc2UsXG4gICRkdXJhdGlvbi04IDogZmFsc2UsXG4gICRkdXJhdGlvbi05IDogZmFsc2UsXG4gICRkdXJhdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkZHVyYXRpb24tMSkgPT0gc3RyaW5nIHsgJGR1cmF0aW9uLTE6IHVucXVvdGUoJGR1cmF0aW9uLTEpOyB9XG4gICRkdXJhdGlvbnM6IGNvbXBhY3QoJGR1cmF0aW9uLTEsICRkdXJhdGlvbi0yLCAkZHVyYXRpb24tMywgJGR1cmF0aW9uLTQsICRkdXJhdGlvbi01LCAkZHVyYXRpb24tNiwgJGR1cmF0aW9uLTcsICRkdXJhdGlvbi04LCAkZHVyYXRpb24tOSwgJGR1cmF0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tZHVyYXRpb24sICRkdXJhdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdGltaW5nIGZ1bmN0aW9uc1xuLy9cbi8vICogWyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoeDEsIHkxLCB4MiwgeTIpXVxuLy8gKiBGb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIGVmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24tMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGZ1bmN0aW9uLTIgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTMgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTQgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTUgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTYgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTcgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTggOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTkgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTEwOiBmYWxzZVxuKSB7XG4gICRmdW5jdGlvbi0xOiB1bnF1b3RlKCRmdW5jdGlvbi0xKTtcbiAgJGZ1bmN0aW9uczogY29tcGFjdCgkZnVuY3Rpb24tMSwgJGZ1bmN0aW9uLTIsICRmdW5jdGlvbi0zLCAkZnVuY3Rpb24tNCwgJGZ1bmN0aW9uLTUsICRmdW5jdGlvbi02LCAkZnVuY3Rpb24tNywgJGZ1bmN0aW9uLTgsICRmdW5jdGlvbi05LCAkZnVuY3Rpb24tMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRmdW5jdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdHJhbnNpdGlvbi1kZWxheXMgaW4gc2Vjb25kc1xuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiB0aGVzZSBkZWxheXMgd2lsbCBlZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkZGVsYXktMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSxcbiAgJGRlbGF5LTIgOiBmYWxzZSxcbiAgJGRlbGF5LTMgOiBmYWxzZSxcbiAgJGRlbGF5LTQgOiBmYWxzZSxcbiAgJGRlbGF5LTUgOiBmYWxzZSxcbiAgJGRlbGF5LTYgOiBmYWxzZSxcbiAgJGRlbGF5LTcgOiBmYWxzZSxcbiAgJGRlbGF5LTggOiBmYWxzZSxcbiAgJGRlbGF5LTkgOiBmYWxzZSxcbiAgJGRlbGF5LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRkZWxheS0xKSA9PSBzdHJpbmcgeyAkZGVsYXktMTogdW5xdW90ZSgkZGVsYXktMSk7IH1cbiAgJGRlbGF5czogY29tcGFjdCgkZGVsYXktMSwgJGRlbGF5LTIsICRkZWxheS0zLCAkZGVsYXktNCwgJGRlbGF5LTUsICRkZWxheS02LCAkZGVsYXktNywgJGRlbGF5LTgsICRkZWxheS05LCAkZGVsYXktMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi1kZWxheSwgJGRlbGF5cyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBUcmFuc2l0aW9uIGFsbC1pbi1vbmUgc2hvcnRoYW5kXG5cbkBtaXhpbiBzaW5nbGUtdHJhbnNpdGlvbihcbiAgJHByb3BlcnR5OiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkZHVyYXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRmdW5jdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGRlbGF5OiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5XG4pIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb21wYWN0KCRwcm9wZXJ0eSAkZHVyYXRpb24gJGZ1bmN0aW9uICRkZWxheSkpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbihcbiAgJHRyYW5zaXRpb24tMSA6IGRlZmF1bHQsXG4gICR0cmFuc2l0aW9uLTIgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tMyA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi00IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTUgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNiA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi03IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTggOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tOSA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgJHRyYW5zaXRpb24tMSA9PSBkZWZhdWx0IHtcbiAgICAkdHJhbnNpdGlvbi0xIDogY29tcGFjdCgkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5KTtcbiAgfVxuICAkdHJhbnNpdGlvbnM6IGZhbHNlO1xuICBAaWYgdHlwZS1vZigkdHJhbnNpdGlvbi0xKSA9PSBsaXN0IGFuZCB0eXBlLW9mKG50aCgkdHJhbnNpdGlvbi0xLDEpKSA9PSBsaXN0IHtcbiAgICAkdHJhbnNpdGlvbnM6IGpvaW4oJHRyYW5zaXRpb24tMSwgY29tcGFjdCgkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCksIGNvbW1hKTtcbiAgfSBAZWxzZSB7XG4gICAgJHRyYW5zaXRpb25zIDogY29tcGFjdCgkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCk7XG4gIH1cbiAgJGRlbGF5czogY29tbWEtbGlzdCgpO1xuICAkaGFzLWRlbGF5czogZmFsc2U7XG4gICR3ZWJraXQtdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG1vei12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAkby12YWx1ZTogY29tbWEtbGlzdCgpO1xuXG4gIC8vIFRoaXMgYmxvY2sgY2FuIGJlIG1hZGUgY29uc2lkZXJhYmx5IHNpbXBsZXIgYXQgdGhlIHBvaW50IGluIHRpbWUgdGhhdFxuICAvLyB3ZSBubyBsb25nZXIgbmVlZCB0byBkZWFsIHdpdGggdGhlIGRpZmZlcmVuY2VzIGluIGhvdyBkZWxheXMgYXJlIHRyZWF0ZWQuXG4gIEBlYWNoICR0cmFuc2l0aW9uIGluICR0cmFuc2l0aW9ucyB7XG4gICAgLy8gRXh0cmFjdCB0aGUgdmFsdWVzIGZyb20gdGhlIGxpc3RcbiAgICAvLyAodGhpcyB3b3VsZCBiZSBjbGVhbmVyIGlmIG50aCB0b29rIGEgM3JkIGFyZ3VtZW50IHRvIHByb3ZpZGUgYSBkZWZhdWx0IHZhbHVlKS5cbiAgICAkcHJvcGVydHk6IG50aCgkdHJhbnNpdGlvbiwgMSk7XG4gICAgJGR1cmF0aW9uOiBmYWxzZTtcbiAgICAkdGltaW5nLWZ1bmN0aW9uOiBmYWxzZTtcbiAgICAkZGVsYXk6IGZhbHNlO1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7ICRkdXJhdGlvbjogICAgICAgIG50aCgkdHJhbnNpdGlvbiwgMik7IH1cbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDIgeyAkdGltaW5nLWZ1bmN0aW9uOiBudGgoJHRyYW5zaXRpb24sIDMpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAzIHsgJGRlbGF5OiAgICAgICAgICAgbnRoKCR0cmFuc2l0aW9uLCA0KTsgJGhhcy1kZWxheXM6IHRydWU7IH1cblxuICAgIC8vIElmIGEgZGVsYXkgaXMgcHJvdmlkZWQgd2l0aG91dCBhIHRpbWluZyBmdW5jdGlvblxuICAgIEBpZiBpcy10aW1lKCR0aW1pbmctZnVuY3Rpb24pIGFuZCBub3QoJGRlbGF5KSB7ICRkZWxheTogJHRpbWluZy1mdW5jdGlvbjsgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7ICRoYXMtZGVsYXlzOiB0cnVlOyB9XG5cbiAgICAvLyBLZWVwIGEgbGlzdCBvZiBkZWxheXMgaW4gY2FzZSBvbmUgaXMgc3BlY2lmaWVkXG4gICAgJGRlbGF5czogYXBwZW5kKCRkZWxheXMsIGlmKCRkZWxheSwgJGRlbGF5LCAwcykpO1xuXG4gICAgJHdlYmtpdC12YWx1ZTogYXBwZW5kKCR3ZWJraXQtdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24pLi4uKSk7XG4gICAgICAgJG1vei12YWx1ZTogYXBwZW5kKCAgICRtb3otdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCAgIC1tb3osICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24gJGRlbGF5KS4uLikpO1xuICAgICAgICAgJG8tdmFsdWU6IGFwcGVuZCggICAgICRvLXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAgIC1vLCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkuLi4pKTtcbiAgfVxuXG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6ICR3ZWJraXQtdmFsdWU7XG4gICAgLy8gb2xkIHdlYmtpdCBkb2Vzbid0IHN1cHBvcnQgdGhlIGRlbGF5IHBhcmFtZXRlciBpbiB0aGUgc2hvcnRoYW5kIHNvIHdlIHByb2dyZXNzaXZlbHkgZW5oYW5jZSBpdC5cbiAgICBAaWYgJGhhcy1kZWxheXMgICAgICAgICAgICAgICAgICAgICAgIHsgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5IDogJGRlbGF5czsgICAgICAgfSB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgICAgICAgIC1tb3otdHJhbnNpdGlvbiA6ICRtb3otdmFsdWU7ICAgIH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAgICAgICAtby10cmFuc2l0aW9uIDogJG8tdmFsdWU7ICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gOiAkdHJhbnNpdGlvbnM7XG59XG5cbi8vIGNvZXJjZSBhIGxpc3QgdG8gYmUgY29tbWEgZGVsaW1pdGVkIG9yIG1ha2UgYSBuZXcsIGVtcHR5IGNvbW1hIGRlbGltaXRlZCBsaXN0LlxuQGZ1bmN0aW9uIGNvbW1hLWxpc3QoJGxpc3Q6ICgpKSB7XG4gIEByZXR1cm4gam9pbigoKSwgJGxpc3QsIGNvbW1hKTtcbn1cblxuLy8gUmV0dXJucyBgJHByb3BlcnR5YCB3aXRoIHRoZSBnaXZlbiBwcmVmaXggaWYgaXQgaXMgZm91bmQgaW4gYCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXNgLlxuQGZ1bmN0aW9uIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICRwcm9wZXJ0eSkge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydHkpID09IGxpc3Qge1xuICAgICRuZXctbGlzdDogY29tbWEtbGlzdCgpO1xuICAgIEBlYWNoICR2IGluICRwcm9wZXJ0eSB7XG4gICAgICAkbmV3LWxpc3Q6IGFwcGVuZCgkbmV3LWxpc3QsIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICR2KSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG5ldy1saXN0O1xuICB9IEBlbHNlIHtcbiAgICBAaWYgaW5kZXgoJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlcywgJHByb3BlcnR5KSB7XG4gICAgICBAcmV0dXJuICN7JHByZWZpeH0tI3skcHJvcGVydHl9O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiAkcHJvcGVydHk7XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrcyBpZiB0aGUgdmFsdWUgZ2l2ZW4gaXMgYSB1bml0IG9mIHRpbWUuXG5AZnVuY3Rpb24gaXMtdGltZSgkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgIEByZXR1cm4gbm90KG5vdChpbmRleChzIG1zLCB1bml0KCR2YWx1ZSkpKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgQ1NTIG9wYWNpdHkuIFRha2VzIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMSBhcyB0aGUgYXJndW1lbnQsIGUuZy4gMC41IGZvciA1MCUgb3BhY2l0eS5cbi8vXG4vLyAgICAgQHBhcmFtICRvcGFjaXR5XG4vLyAgICAgICAgIEEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMSwgd2hlcmUgMCBpcyB0cmFuc3BhcmVudCBhbmQgMSBpcyBvcGFxdWUuXG5cbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllOCB7XG4gICAgZmlsdGVyOiB1bnF1b3RlKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9I3tyb3VuZCgkb3BhY2l0eSAqIDEwMCl9KVwiKTtcbiAgfVxuICBvcGFjaXR5OiAkb3BhY2l0eTtcbn1cblxuLy8gTWFrZSBhbiBlbGVtZW50IGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQuXG5AbWl4aW4gdHJhbnNwYXJlbnQgeyBAaW5jbHVkZSBvcGFjaXR5KDApOyB9XG5cbi8vIE1ha2UgYW4gZWxlbWVudCBjb21wbGV0ZWx5IG9wYXF1ZS5cbkBtaXhpbiBvcGFxdWUgeyBAaW5jbHVkZSBvcGFjaXR5KDEpOyB9XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fb3BhY2l0eS5zY3NzIl0sInNvdXJjZVJvb3QiOiIifQ==*/