@charset "UTF-8";
/* メディアクエリー用 */
/* webfont設定 */
/* CLEARFIX */
/* 100vhフィット(主にiOSにて) */
/* ホバー時 */
/* 蛍光マーカーを引いたような線 */
/* 中央配置 */
/* 画像をモノクロにする */
/* ANIMATION
--------------------------------------*/
/* カバー画像をスクロール共にフェードさせる */
/* 点滅アニメーション */
/* ふわっとするアニメーション */
/* 画像をホバーすると大きくなる */
/* SVGアニメーション(文字を書いてるような感じ) */
/* ローディング用アニメーション */
/* 線を引くアニメーション */
/* 画像を徐々に出すアニメーション */
/*リセット
--------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/*フォント
---------------------------------------------*/
/*メディアクエリー
---------------------------------------------*/
/*変数
---------------------------------------------*/
/* コンテンツ
---------------------------------------------*/
html {
  font-family: "Times New Roman","ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  line-height: 1.8;
  width: 100%;
  overflow-x: hidden; }

body {
  font-family: "Times New Roman","ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  line-height: 1.8;
  width: 100%;
  color: #231815;
  overflow-x: hidden; }
  @media screen and (min-width: 751px) {
    body {
      font-size: 14px; } }
  @media screen and (max-width: 750px) {
    body {
      font-size: 12px; } }

img {
  width: 100%;
  height: auto;
  display: block; }

@media screen and (min-width: 751px) {
  .pcNone {
    display: none !important; } }

@media screen and (max-width: 750px) {
  .pcNone {
    display: block; } }

@media screen and (min-width: 751px) {
  .spNone {
    display: block; } }

@media screen and (max-width: 750px) {
  .spNone {
    display: none !important; } }

/* CONTENT
--------------------------------------*/
div#index div#mainArea {
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  position: relative;
  background: blue; }
  @media screen and (min-width: 751px) {
    div#index div#mainArea {
      background: url(../images/cover.jpg) no-repeat;
      background-size: cover;
      background-position: top center; } }
  @media screen and (max-width: 750px) {
    div#index div#mainArea {
      background: url(../images/cover_sp.jpg) no-repeat;
      background-size: cover;
      background-position: top center; } }
  div#index div#mainArea div.description {
    position: absolute; }
    @media screen and (min-width: 751px) {
      div#index div#mainArea div.description {
        width: calc(603 / 1356 * 100%);
        height: calc(557 / 910 * 100%);
        top: calc(59 / 910 * 100%);
        left: calc(59 /1356 * 100%);
        background: rgba(255, 255, 255, 0.8);
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center; } }
    @media screen and (max-width: 750px) {
      div#index div#mainArea div.description {
        top: 50%;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        text-align: center;
        color: #fff; } }
    div#index div#mainArea div.description h1 {
      letter-spacing: 2px; }
      @media screen and (min-width: 751px) {
        div#index div#mainArea div.description h1 {
          font-size: 25px;
          margin-bottom: 60px; } }
      @media screen and (max-width: 750px) {
        div#index div#mainArea div.description h1 {
          font-size: 18px; } }
    @media screen and (max-width: 750px) {
      div#index div#mainArea div.description p {
        font-size: 10px; } }

div#index div.pickup {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; }
  @media screen and (min-width: 751px) {
    div#index div.pickup {
      height: 580px; } }
  div#index div.pickup div {
    position: relative; }
    @media screen and (min-width: 751px) {
      div#index div.pickup div {
        width: 640px; } }
    div#index div.pickup div div.description {
      text-align: center;
      margin: 60px 0; }
      @media screen and (max-width: 750px) {
        div#index div.pickup div div.description p {
          font-size: 10px; } }
    div#index div.pickup div p.colors {
      width: 218px;
      margin: 0 auto 24px; }
      @media screen and (max-width: 750px) {
        div#index div.pickup div p.colors {
          width: 43%;
          margin: 0 auto 30px; } }
    div#index div.pickup div p.number {
      font-family: futura-pt, sans-serif;
      font-weight: 400;
      font-style: normal; }
      @media screen and (min-width: 751px) {
        div#index div.pickup div p.number {
          font-size: 8px;
          writing-mode: vertical-rl;
          position: absolute;
          top: 0;
          left: 0; } }
      @media screen and (max-width: 750px) {
        div#index div.pickup div p.number {
          font-size: 10px;
          text-align: center;
          margin: 30px 0; } }
    div#index div.pickup div h2 {
      text-align: center;
      letter-spacing: 2px; }
      @media screen and (min-width: 751px) {
        div#index div.pickup div h2 {
          font-size: 30px;
          margin-bottom: 32px; } }
      @media screen and (max-width: 750px) {
        div#index div.pickup div h2 {
          font-size: 18px;
          margin-bottom: 30px; } }
    div#index div.pickup div a {
      display: flex;
      align-items: center;
      justify-content: center;
      color: #000;
      text-decoration: none;
      background: #e8e3e1; }
      @media screen and (min-width: 751px) {
        div#index div.pickup div a {
          width: 300px;
          height: 30px;
          margin: 0 auto; } }
      @media screen and (max-width: 750px) {
        div#index div.pickup div a {
          width: 47%;
          height: 18px;
          margin: 0 auto 40px;
          font-size: 11px; } }

div#index div.etccolor {
  width: 100%;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#index div.etccolor {
      margin: 140px 0; } }
  @media screen and (max-width: 750px) {
    div#index div.etccolor {
      margin: 70px 0; } }
  div#index div.etccolor::before {
    content: "";
    display: block;
    background: #231815;
    position: absolute;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#index div.etccolor::before {
        width: 1px;
        height: 140px;
        top: -140px;
        left: 50%; } }
    @media screen and (max-width: 750px) {
      div#index div.etccolor::before {
        width: 1px;
        height: 70px;
        top: -70px;
        left: 50%; } }
  div#index div.etccolor::after {
    content: "";
    display: block;
    background: #231815;
    position: absolute;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#index div.etccolor::after {
        width: 1px;
        height: 140px;
        bottom: -140px;
        left: 50%; } }
    @media screen and (max-width: 750px) {
      div#index div.etccolor::after {
        width: 1px;
        height: 70px;
        bottom: -70px;
        left: 50%; } }
  div#index div.etccolor ul li a {
    display: block; }
    @media screen and (min-width: 751px) {
      div#index div.etccolor ul li a div.deep {
        width: 100%;
        height: 100px; } }
    @media screen and (max-width: 750px) {
      div#index div.etccolor ul li a div.deep {
        padding: 25px 0; } }
    @media screen and (min-width: 751px) {
      div#index div.etccolor ul li a div.deep div {
        position: relative;
        width: 490px;
        margin: 0 auto;
        height: 100%; } }
    div#index div.etccolor ul li a div.deep div p.number {
      font-family: futura-pt, sans-serif;
      font-weight: 400;
      font-style: normal; }
      @media screen and (min-width: 751px) {
        div#index div.etccolor ul li a div.deep div p.number {
          font-size: 8px;
          writing-mode: vertical-rl;
          position: absolute;
          top: 50%;
          left: 0;
          white-space: nowrap;
          transform: translateY(-50%); } }
      @media screen and (max-width: 750px) {
        div#index div.etccolor ul li a div.deep div p.number {
          font-size: 10px;
          text-align: center; } }
    @media screen and (min-width: 751px) {
      div#index div.etccolor ul li a div.sharrow {
        width: 100%;
        height: 87px;
        background: rgba(255, 255, 255, 0.6); } }
    @media screen and (min-width: 751px) {
      div#index div.etccolor ul li a div.sharrow div {
        width: 490px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        height: 100%; } }
    @media screen and (max-width: 750px) {
      div#index div.etccolor ul li a div.sharrow div {
        width: 142px;
        margin: 0 auto; } }
    @media screen and (min-width: 751px) {
      div#index div.etccolor ul li a div.sharrow div p.color {
        display: flex;
        align-items: center;
        height: 100%;
        width: 200px;
        margin-right: 55px; } }
    @media screen and (max-width: 750px) {
      div#index div.etccolor ul li a div.sharrow div p.color {
        margin-bottom: 40px; } }
    @media screen and (min-width: 751px) {
      div#index div.etccolor ul li a div.sharrow div p.color img {
        height: 60px;
        width: auto; } }
    @media screen and (max-width: 750px) {
      div#index div.etccolor ul li a div.sharrow div p.color img {
        height: 50px;
        width: auto; } }
    div#index div.etccolor ul li a div.sharrow div p.cs {
      letter-spacing: 2px; }
      @media screen and (max-width: 750px) {
        div#index div.etccolor ul li a div.sharrow div p.cs {
          text-align: center; } }
  div#index div.etccolor ul li#blue a {
    background: #c8d7e4; }
  div#index div.etccolor ul li#black a {
    background: #b9bcbd; }
  div#index div.etccolor ul li#brown a {
    background: #c2a79b; }

div#index div#intro {
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#index div#intro {
      padding: 35px 0;
      margin-bottom: 130px; } }
  @media screen and (max-width: 750px) {
    div#index div#intro {
      padding: 20px 0;
      margin-bottom: 65px; } }
  @media screen and (min-width: 751px) {
    div#index div#intro p:nth-child(1) {
      font-size: 14px;
      margin-bottom: 45px; } }
  @media screen and (max-width: 750px) {
    div#index div#intro p:nth-child(1) {
      font-size: 10px;
      margin-bottom: 28px; } }
  @media screen and (min-width: 751px) {
    div#index div#intro p:nth-child(2) {
      font-size: 15px;
      margin-bottom: 55px; } }
  @media screen and (max-width: 750px) {
    div#index div#intro p:nth-child(2) {
      font-size: 12px;
      margin-bottom: 30px; } }
  div#index div#intro p:nth-child(2) span {
    display: block; }
    @media screen and (min-width: 751px) {
      div#index div#intro p:nth-child(2) span {
        font-size: 13px; } }
    @media screen and (max-width: 750px) {
      div#index div#intro p:nth-child(2) span {
        font-size: 10px; } }
  @media screen and (min-width: 751px) {
    div#index div#intro p:nth-child(3) {
      font-size: 15px; } }
  @media screen and (max-width: 750px) {
    div#index div#intro p:nth-child(3) {
      font-size: 10px; } }
  div#index div#intro p:nth-child(3) a {
    text-decoration: none;
    color: #000; }

@media screen and (min-width: 751px) {
  div#index div#footer a.logo {
    width: 160px;
    display: block;
    margin: 0 auto 55px; } }

@media screen and (max-width: 750px) {
  div#index div#footer a.logo {
    width: 25%;
    display: block;
    margin: 0 auto 32px; } }

div#index div#footer ul {
  margin: 0 auto;
  display: flex;
  justify-content: space-between; }
  @media screen and (min-width: 751px) {
    div#index div#footer ul {
      width: 138px;
      margin-bottom: 30px; } }
  @media screen and (max-width: 750px) {
    div#index div#footer ul {
      width: 25%;
      margin-bottom: 20px; } }
  div#index div#footer ul li a {
    color: #000;
    text-decoration: none; }
    @media screen and (min-width: 751px) {
      div#index div#footer ul li a {
        font-size: 18px; } }

div#index div#footer p.copy {
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#index div#footer p.copy {
      font-size: 10px;
      margin-bottom: 30px; } }
  @media screen and (max-width: 750px) {
    div#index div#footer p.copy {
      font-size: 10px;
      margin-bottom: 30px; } }

/*BLACK*/
div#black div.header h1 {
  border: 1px solid #000;
  padding: 1px 5px;
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#black div.header h1 {
      font-size: 18px;
      width: 480px;
      margin: 60px auto 65px; } }
  @media screen and (max-width: 750px) {
    div#black div.header h1 {
      margin: 70px auto 50px;
      font-size: 10px;
      width: 90%; } }

div#black div.header div.cover {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.header div.cover {
      width: calc(487 / 612 * 100%);
      margin: 0 auto; } }
  @media screen and (max-width: 750px) {
    div#black div.header div.cover {
      width: 100%;
      margin-bottom: 100px; } }
  div#black div.header div.cover::before {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#black div.header div.cover::before {
        padding-top: calc(290 / 487 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.header div.cover::before {
        padding-top: calc(214 / 320 * 100%); } }
  @media screen and (min-width: 751px) {
    div#black div.header div.cover div.colorbox {
      width: calc(120 / 487 * 100%);
      position: absolute;
      top: calc(148 / 290 * 100%);
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.header div.cover div.colorbox {
      position: absolute;
      width: calc(77 / 320 * 100%);
      top: calc(87 / 214 * 100%);
      left: calc(16 / 320 * 100%);
      box-sizing: border-box; } }
  div#black div.header div.cover h2 {
    position: absolute;
    color: #000;
    letter-spacing: 2px;
    line-height: 1.4; }
    @media screen and (min-width: 751px) {
      div#black div.header div.cover h2 {
        font-size: 48px;
        top: calc(20 / 555 * 100%);
        left: 12%; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.cover h2 {
        font-size: 20px;
        top: calc(12 / 214 * 100%);
        left: 12%; } }
  div#black div.header div.cover p.number {
    writing-mode: vertical-rl;
    position: absolute;
    bottom: 0;
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    font-style: normal; }
    @media screen and (min-width: 751px) {
      div#black div.header div.cover p.number {
        font-size: 12px;
        left: 0; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.cover p.number {
        left: 4.6%;
        font-size: 10px;
        bottom: 0; } }
  div#black div.header div.cover div.mainimg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1; }
    @media screen and (min-width: 751px) {
      div#black div.header div.cover div.mainimg {
        width: calc(433 / 487 * 100%);
        height: auto; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.cover div.mainimg {
        width: 82.8%;
        margin: 0 auto; } }

div#black div.header div.explain {
  background: #e8e3e1;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.header div.explain {
      width: calc(433 / 612 * 100%);
      height: 522px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 140px auto; } }
  @media screen and (max-width: 750px) {
    div#black div.header div.explain {
      padding: 60px 0;
      margin-bottom: 80px; } }
  div#black div.header div.explain::before {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#black div.header div.explain::before {
        height: 40px;
        top: -40px;
        background: #e8e3e1; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.explain::before {
        height: 25px;
        top: -25px;
        background: #e8e3e1; } }
  div#black div.header div.explain::after {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#black div.header div.explain::after {
        height: 124px;
        bottom: -124px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.explain::after {
        height: 80px;
        bottom: -80px;
        background: #231815; } }
  div#black div.header div.explain p {
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#black div.header div.explain p {
        font-size: 16px;
        line-height: 2.0;
        letter-spacing: 2px; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.explain p {
        font-size: 10px; } }

div#black div.content h3 {
  position: relative;
  text-align: center;
  color: #595757; }
  @media screen and (min-width: 751px) {
    div#black div.content h3 {
      font-size: 48px; } }
  @media screen and (max-width: 750px) {
    div#black div.content h3 {
      font-size: 26px; } }

div#black div.content div.block {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block {
      padding-top: 680px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block {
      padding-top: 388px; } }
  div#black div.content div.block::before {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: #231815; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block::before {
        top: 0px;
        height: 550px; } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block::before {
        top: 0px;
        height: 300px; } }
  div#black div.content div.block div.detail_in {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    flex-direction: column; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block h5 {
      font-size: 24px;
      margin-bottom: 40px;
      width: 446px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block h5 {
      font-size: 14px;
      margin-bottom: 24px;
      width: 260px; } }
  @media screen and (min-width: 751px) {
    div#black div.content div.block p {
      font-size: 16px;
      width: 446px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block p {
      font-size: 10px;
      width: 260px; } }

div#black div.content div.block01 {
  position: relative; }
  div#black div.content div.block01 div.inblock {
    position: relative; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block01 div.inblock {
        margin-bottom: 200px; } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block01 div.inblock {
        margin-bottom: 60px; } }
    div#black div.content div.block01 div.inblock::before {
      display: block;
      content: ""; }
      @media screen and (min-width: 751px) {
        div#black div.content div.block01 div.inblock::before {
          padding-top: calc(511 / 612 * 100%); } }
      @media screen and (max-width: 750px) {
        div#black div.content div.block01 div.inblock::before {
          padding-top: calc(520 / 320 * 100%); } }
  div#black div.content div.block01 div.img1 {
    position: absolute; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block01 div.img1 {
        width: calc(424 / 612 * 100%);
        top: 0;
        left: 50%;
        transform: translateX(-50%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block01 div.img1 {
        width: 100%;
        top: calc(89 / 520 * 100%);
        left: 0; } }
  div#black div.content div.block01 div.detail {
    position: absolute;
    z-index: -1;
    background: #e8e3e1; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block01 div.detail {
        width: calc(434 / 612 * 100%);
        height: calc(236 / 511 * 100%);
        top: calc(254 / 511 * 100%);
        left: 0; } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block01 div.detail {
        width: calc(277 / 320 * 100%);
        height: calc(217 / 520 * 100%);
        top: calc(302 / 520 * 100%); } }
  div#black div.content div.block01 p.number {
    position: absolute; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block01 p.number {
        width: calc(107 / 612 * 100%);
        top: calc(437 / 511 * 100%);
        right: calc(107 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block01 p.number {
        width: calc(83 / 320 * 100%);
        top: 0;
        left: calc(22/ 320 * 100%); } }

div#black div.content div.block02 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block02 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block02 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block02 div.inblock::before {
        padding-top: calc(750 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block02 div.inblock::before {
        padding-top: calc(578 / 320 * 100%); } }

div#black div.content div.block02 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block02 div.img1 {
      width: calc(244 / 612 * 100%);
      top: calc(128 / 750 * 100%);
      left: calc(74 / 612 * 100%);
      z-index: 2; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 div.img1 {
      width: calc(168 / 320 * 100%);
      top: calc(127 / 578 * 100%);
      left: 0;
      z-index: 2; } }

div#black div.content div.block02 div.img2 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block02 div.img2 {
      width: calc(244 / 612 * 100%);
      top: 0;
      right: calc(71 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 div.img2 {
      width: calc(168 / 320 * 100%);
      top: 0;
      right: 0; } }

div#black div.content div.block02 div.detail {
  position: absolute;
  z-index: -1;
  background: #e8e3e1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block02 div.detail {
      width: calc(434 / 612 * 100%);
      height: calc(236 / 750 * 100%);
      top: calc(478 / 750 * 100%);
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 div.detail {
      width: calc(290/ 320 * 100%);
      height: calc(249 / 578 * 100%);
      top: calc(328 / 578 * 100%);
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 div.detail div.detail_in {
      margin-top: 20px; } }

div#black div.content div.block02 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block02 p.number {
      width: calc(98 / 612 * 100%);
      bottom: 0;
      right: calc(136 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 p.number {
      width: calc(76 / 320 * 100%);
      top: 0;
      left: calc(26 / 320 * 100%); } }

div#black div.content div.block03 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block03 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block03 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block03 div.inblock::before {
        padding-top: calc(890 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block03 div.inblock::before {
        padding-top: calc(995 / 320 * 100%); } }

div#black div.content div.block03 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block03 div.img1 {
      width: calc(453 / 612 * 100%);
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 div.img1 {
      width: 100%;
      top: 0;
      left: 0; } }

div#black div.content div.block03 div.img2 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block03 div.img2 {
      width: calc(221 / 612 * 100%);
      top: calc(325 / 890 * 100%);
      right: calc(102 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 div.img2 {
      width: calc(266 / 320 * 100%);
      left: 50%;
      transform: translateX(-50%);
      top: calc(388 / 995 * 100%); } }

div#black div.content div.block03 div.detail {
  position: absolute;
  z-index: -1;
  background: #e8e3e1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block03 div.detail {
      width: calc(370 / 612 * 100%);
      height: calc(257 / 890 * 100%);
      top: calc(572 / 890 * 100%);
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 div.detail {
      width: calc(273 / 320 * 100%);
      height: calc(249 / 995 * 100%);
      bottom: 0;
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 div.detail div.detail_in {
      margin-top: 20px; } }

div#black div.content div.block03 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block03 p.number {
      width: calc(223 / 612 * 100%);
      bottom: 0;
      right: calc(102 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 p.number {
      width: calc(174 / 320 * 100%);
      top: calc(257 / 995 * 100%);
      left: calc(24 / 320 * 100%); } }

div#black div.content div.block04 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block04 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block04 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block04 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block04 div.inblock::before {
        padding-top: calc(1154 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block04 div.inblock::before {
        padding-top: calc(1010 / 320 * 100%); } }

div#black div.content div.block04 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block04 div.img1 {
      width: calc(354 / 612 * 100%);
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block04 div.img1 {
      width: 100%;
      left: 0;
      top: 0; } }

div#black div.content div.block04 div.img2 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block04 div.img2 {
      width: calc(449 / 612 * 100%);
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block04 div.img2 {
      width: calc(250 / 320 * 100%);
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); } }

div#black div.content div.block04 div.detail {
  position: absolute;
  z-index: -1;
  background: #e8e3e1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block04 div.detail {
      width: calc(434 / 612 * 100%);
      height: calc(236 / 1154 * 100%);
      top: calc(504 / 1154 * 100%);
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block04 div.detail {
      width: calc(264 / 320 * 100%);
      height: calc(201 / 1010 * 100%);
      top: calc(585 / 1010 * 100%);
      left: 0; } }

div#black div.content div.block04 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block04 p.number {
      width: calc(127 / 612 * 100%);
      top: calc(674 / 1154 * 100%);
      right: calc(136 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block04 p.number {
      width: calc(100 / 320 * 100%);
      top: calc(524 / 1010 * 100%);
      right: calc(26 / 320 * 100%); } }

div#black div.content div.block05 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block05 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block05 div.inblock::before {
        padding-top: calc(606 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block05 div.inblock::before {
        padding-top: calc(1492 / 320 * 100%); } }

div#black div.content div.block05 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.img1 {
      width: calc(188 / 612 * 100%);
      top: 0;
      left: calc(46 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 div.img1 {
      width: calc(217 / 320 * 100%);
      top: calc(513 / 1492 * 100%);
      left: calc(29 / 320 * 100%); } }

div#black div.content div.block05 div.img2 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.img2 {
      width: calc(188 / 612 * 100%);
      top: calc(26 / 606 * 100%);
      left: calc(225 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 div.img2 {
      width: calc(217 / 320 * 100%);
      top: calc(812 / 1492 * 100%);
      right: calc(12 / 320 * 100%); } }

div#black div.content div.block05 div.img3 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.img3 {
      width: calc(188 / 612 * 100%);
      top: 0;
      left: calc(376 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 div.img3 {
      width: 100%;
      top: 0;
      left: 0; } }

div#black div.content div.block05 div.detail {
  position: absolute;
  z-index: -1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.detail {
      width: calc(370 / 612 * 100%);
      height: calc(211 / 606 * 100%);
      top: calc(394 / 606 * 100%);
      left: 0;
      background: #e8e3e1; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 div.detail {
      width: calc(258 / 320 * 100%);
      height: calc(201 / 1495 * 100%);
      top: calc(1291 / 1495 * 100%);
      left: 0;
      background: #e8e3e1; } }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.detail p {
      font-size: 16px;
      width: 446px; } }

div#black div.content div.block05 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 p.number {
      width: calc(235 / 612 * 100%);
      top: calc(344 / 606 * 100%);
      right: calc(72 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 p.number {
      width: calc(184 / 320 * 100%);
      top: calc(1176 / 1492 * 100%);
      left: calc(33 / 320 * 100%); } }

div#black div.content div.block06 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block06 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block06 div.inblock::before {
        padding-top: calc(938 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block06 div.inblock::before {
        padding-top: calc(885 / 320 * 100%); } }

div#black div.content div.block06 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 div.img1 {
      width: calc(208 / 612 * 100%);
      top: calc(110 / 938 * 100%);
      left: calc(94 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 div.img1 {
      width: 50%;
      top: calc(71 / 885 * 100%);
      left: 0; } }

div#black div.content div.block06 div.img2 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 div.img2 {
      width: calc(208 / 612 * 100%);
      top: 0;
      right: calc(94 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 div.img2 {
      width: 50%;
      top: 0;
      right: 0; } }

div#black div.content div.block06 div.img3 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 div.img3 {
      width: calc(353 / 612 * 100%);
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 div.img3 {
      width: 100%;
      bottom: 0;
      left: 0; } }

div#black div.content div.block06 div.detail {
  position: absolute;
  z-index: -1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 div.detail {
      width: calc(335 / 612 * 100%);
      height: calc(236 / 938 * 100%);
      top: calc(396 / 938 * 100%);
      left: 0;
      background: #e8e3e1; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 div.detail {
      width: calc(258 / 320 * 100%);
      height: calc(238 / 885 * 100%);
      top: calc(407 / 885 * 100%);
      left: 0;
      background: #e8e3e1; } }

div#black div.content div.block06 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 p.number {
      width: calc(124 / 612 * 100%);
      top: calc(396 / 938 * 100%);
      right: calc(121 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 p.number {
      width: calc(97 / 320 * 100%);
      top: calc(356 / 885 * 100%);
      right: calc(64 / 320 * 100%); } }

div#black div.content div.block07 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block07 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block07 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block07 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block07 div.inblock::before {
        padding-top: calc(770 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block07 div.inblock::before {
        padding-top: calc(848 / 320 * 100%); } }

div#black div.content div.block07 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block07 div.img1 {
      width: calc(314 / 612 * 100%);
      top: 0;
      left: 50%;
      transform: translateX(-50%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block07 div.img1 {
      width: 100%;
      top: 0;
      left: 0%; } }

div#black div.content div.block07 div.detail {
  position: absolute;
  z-index: -1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block07 div.detail {
      width: calc(434 / 612 * 100%);
      height: calc(236 / 770 * 100%);
      top: calc(443 / 770 * 100%);
      left: 0;
      background: #e8e3e1; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block07 div.detail {
      width: calc(287 / 320 * 100%);
      height: calc(242 / 848 * 100%);
      top: calc(535 / 848 * 100%);
      left: 0;
      background: #e8e3e1; } }
  @media screen and (min-width: 751px) {
    div#black div.content div.block07 div.detail p {
      font-size: 16px;
      width: 446px; } }

div#black div.content div.block07 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block07 p.number {
      width: calc(223 / 612 * 100%);
      bottom: 0;
      right: calc(80 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block07 p.number {
      width: calc(175 / 320 * 100%);
      bottom: 0;
      right: calc(12 / 320 * 100%); } }

div#black div.img1, div#black div.img2, div#black div.img3 {
  overflow: hidden; }
  div#black div.img1 img, div#black div.img2 img, div#black div.img3 img {
    transform: scale(1.2); }

.zoomOutImg {
  animation: zoomOutImg 1s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

@keyframes zoomOutImg {
  from {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }

/*BROWN*/
div#brown div.header h1 {
  border: 1px solid #000;
  padding: 1px 5px;
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#brown div.header h1 {
      font-size: 18px;
      width: 480px;
      margin: 60px auto 65px; } }
  @media screen and (max-width: 750px) {
    div#brown div.header h1 {
      margin: 70px auto 50px;
      font-size: 10px;
      width: 90%; } }

div#brown div.header div.cover {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#brown div.header div.cover {
      width: calc(487 / 612 * 100%);
      margin: 0 auto; } }
  @media screen and (max-width: 750px) {
    div#brown div.header div.cover {
      width: 100%;
      margin-bottom: 100px; } }
  div#brown div.header div.cover::before {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#brown div.header div.cover::before {
        padding-top: calc(290 / 521 * 100%); } }
    @media screen and (max-width: 750px) {
      div#brown div.header div.cover::before {
        padding-top: calc(232 / 320 * 100%); } }
  @media screen and (min-width: 751px) {
    div#brown div.header div.cover div.colorbox {
      width: calc(120 / 487 * 100%);
      position: absolute;
      bottom: calc(21 / 290 * 100%);
      right: calc(76 / 521 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.header div.cover div.colorbox {
      position: absolute;
      width: calc(77 / 320 * 100%);
      bottom: calc(53 / 232 * 100%);
      right: calc(45 / 320 * 100%);
      box-sizing: border-box; } }
  div#brown div.header div.cover h2 {
    position: absolute;
    color: #000;
    letter-spacing: 2px;
    line-height: 1.4; }
    @media screen and (min-width: 751px) {
      div#brown div.header div.cover h2 {
        font-size: 48px;
        top: calc(70 / 290 * 100%);
        left: 0; } }
    @media screen and (max-width: 750px) {
      div#brown div.header div.cover h2 {
        font-size: 20px;
        top: 0;
        left: calc(15 / 320 * 100%); } }
  div#brown div.header div.cover p.number {
    writing-mode: vertical-rl;
    position: absolute;
    bottom: 0;
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    font-style: normal; }
    @media screen and (min-width: 751px) {
      div#brown div.header div.cover p.number {
        font-size: 12px;
        left: calc(20 / 521 * 100%);
        bottom: 0; } }
    @media screen and (max-width: 750px) {
      div#brown div.header div.cover p.number {
        left: 4.6%;
        font-size: 10px;
        bottom: 0; } }
  div#brown div.header div.cover div.mainimg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1; }
    @media screen and (min-width: 751px) {
      div#brown div.header div.cover div.mainimg {
        width: calc(434 / 521 * 100%);
        height: auto; } }
    @media screen and (max-width: 750px) {
      div#brown div.header div.cover div.mainimg {
        width: 82.8%;
        margin: 0 auto;
        top: calc(18 / 232 * 100%);
        transform: translateX(-50%); } }

div#brown div.header div.explain {
  background: #ccbdb3;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#brown div.header div.explain {
      width: calc(433 / 612 * 100%);
      height: 522px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 140px auto; } }
  @media screen and (max-width: 750px) {
    div#brown div.header div.explain {
      padding: 60px 0;
      margin-bottom: 80px; } }
  div#brown div.header div.explain::before {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#brown div.header div.explain::before {
        height: 40px;
        top: -40px;
        background: #e8e3e1; } }
    @media screen and (max-width: 750px) {
      div#brown div.header div.explain::before {
        height: 25px;
        top: -25px;
        background: #e8e3e1; } }
  div#brown div.header div.explain::after {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#brown div.header div.explain::after {
        height: 124px;
        bottom: -124px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#brown div.header div.explain::after {
        height: 80px;
        bottom: -80px;
        background: #231815; } }
  div#brown div.header div.explain p {
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#brown div.header div.explain p {
        font-size: 16px;
        line-height: 2.0;
        letter-spacing: 2px; } }
    @media screen and (max-width: 750px) {
      div#brown div.header div.explain p {
        font-size: 10px; } }

div#brown div.content h3 {
  position: relative;
  text-align: center;
  color: #595757; }
  @media screen and (min-width: 751px) {
    div#brown div.content h3 {
      font-size: 48px;
      padding-bottom: 400px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content h3 {
      font-size: 26px;
      padding-bottom: 150px; } }
  div#brown div.content h3::after {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#brown div.content h3::after {
        height: 336px;
        position: absolute;
        background: #231815;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        bottom: calc(400px - 336px); } }
    @media screen and (max-width: 750px) {
      div#brown div.content h3::after {
        height: 150px;
        position: absolute;
        background: #231815;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        bottom: 0; } }

div#brown div.content div.block01 {
  position: relative; }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block01 {
      margin-bottom: 200px; } }
  div#brown div.content div.block01 p.num {
    position: relative;
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block01 p.num {
        font-size: 24px;
        margin-bottom: 120px; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block01 p.num {
        font-size: 12px;
        margin-bottom: 45px; } }
    div#brown div.content div.block01 p.num::after {
      content: "";
      display: block;
      width: 1px;
      position: absolute;
      left: 50%;
      background: #231815;
      transform: translateX(-50%);
      z-index: 9; }
      @media screen and (min-width: 751px) {
        div#brown div.content div.block01 p.num::after {
          height: 488px;
          top: calc(100% + 56px); } }
      @media screen and (max-width: 750px) {
        div#brown div.content div.block01 p.num::after {
          height: 700px;
          top: 100%; } }
  div#brown div.content div.block01 div.inblock {
    position: relative; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block01 div.inblock {
        margin-bottom: 200px;
        background: url(../images/brown/back01.jpg);
        background-size: cover;
        background-position: center center;
        padding: 80px 0 92px; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block01 div.inblock {
        margin-bottom: 60px; } }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block01 div.inblock div.inblockin {
        background: #ccbdb3;
        width: calc(520 / 612 * 100%);
        margin: 0 auto;
        padding: 344px 0 170px; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block01 div.inblock div.inblockin {
        background: #ccbdb3;
        padding: 105px 0 65px; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block01 div.img1 {
      margin-bottom: 160px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block01 div.img1 {
      position: relative;
      z-index: 10;
      margin-bottom: 48px; } }
  div#brown div.content div.block01 div.imgArea {
    position: relative; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block01 div.imgArea {
        width: calc(310 / 521 * 100%);
        margin: 0 auto 160px; } }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block01 div.imgArea div.cap {
        width: calc(14 / 310 * 100%);
        position: absolute;
        top: 0;
        left: 0; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block01 div.imgArea div.cap {
        width: calc(10 / 320 * 100%);
        position: absolute;
        top: 0;
        left: calc(10 / 320 * 100%); } }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block01 div.imgArea div.img2 {
        width: calc(235 / 310 * 100%);
        margin: 0 auto; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block01 div.imgArea div.img2 {
        width: calc(250 / 320 * 100%);
        margin: 0 auto 73px;
        position: relative;
        z-index: 10; } }
  div#brown div.content div.block01 h4 {
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block01 h4 {
        font-size: 24px;
        margin-bottom: 60px; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block01 h4 {
        font-size: 14px;
        margin-bottom: 25px; } }
  div#brown div.content div.block01 p.explain {
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block01 p.explain {
        font-size: 16px;
        margin-bottom: 160px; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block01 p.explain {
        font-size: 10px;
        margin-bottom: 45px; } }

@media screen and (min-width: 751px) {
  div#brown div.content div.block02 {
    margin-bottom: 235px; } }

@media screen and (max-width: 750px) {
  div#brown div.content div.block02 {
    margin-bottom: 200px; } }

div#brown div.content div.block02 p.num {
  text-align: center;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block02 p.num {
      font-size: 24px;
      margin-bottom: 120px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block02 p.num {
      font-size: 12px;
      margin-bottom: 55px; } }

div#brown div.content div.block02 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block02 div.inblock {
      width: 100%;
      background: url(../images/brown/back02.jpg);
      background-size: cover;
      background-position: center center;
      padding: 228px 0 180px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block02 div.inblock {
      width: 100%;
      background: url(../images/brown/back02.jpg);
      background-size: contain;
      background-position: center center;
      padding: 48px 0 59px; } }
  div#brown div.content div.block02 div.inblock div.inblockin {
    position: relative; }
    div#brown div.content div.block02 div.inblock div.inblockin::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0%;
      width: 1px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 99;
      background: #231815; }
      @media screen and (min-width: 751px) {
        div#brown div.content div.block02 div.inblock div.inblockin::after {
          height: calc(100% + 328px); } }
      @media screen and (max-width: 750px) {
        div#brown div.content div.block02 div.inblock div.inblockin::after {
          height: 94%;
          top: -103px;
          z-index: 0; } }
  div#brown div.content div.block02 div.inblock div.imgArea {
    position: relative; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block02 div.inblock div.imgArea {
        width: calc(522 / 612 * 100%);
        margin: 0 auto 125px; } }
    div#brown div.content div.block02 div.inblock div.imgArea div.cap {
      position: absolute; }
      @media screen and (min-width: 751px) {
        div#brown div.content div.block02 div.inblock div.imgArea div.cap {
          width: calc(14 / 522 * 100%);
          top: 0;
          left: 0; } }
      @media screen and (max-width: 750px) {
        div#brown div.content div.block02 div.inblock div.imgArea div.cap {
          width: calc(10 / 320 * 100%);
          top: 0;
          left: calc(9 / 320 * 100%); } }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block02 div.inblock div.imgArea ul {
        width: calc(437 / 522 * 100%);
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block02 div.inblock div.imgArea ul {
        margin-bottom: 68px;
        display: flex;
        flex-direction: column; } }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block02 div.inblock div.imgArea ul li {
        width: calc(50% - 20px);
        margin-bottom: 40px; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block02 div.inblock div.imgArea ul li {
        width: calc(270 / 320 * 100%);
        margin: 0 auto 12px;
        position: relative;
        z-index: 2; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block02 div.inblock div.imgArea ul li:nth-child(1) {
        order: 3; }
      div#brown div.content div.block02 div.inblock div.imgArea ul li:nth-child(2) {
        order: 1; }
      div#brown div.content div.block02 div.inblock div.imgArea ul li:nth-child(3) {
        order: 2; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block02 div.inblock div.detail {
      width: calc(437 / 612 * 100%);
      margin: 0 auto 125px;
      display: flex; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block02 div.inblock div.detail h4 {
      font-size: 24px;
      width: 50%;
      padding-left: 80px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block02 div.inblock div.detail h4 {
      font-size: 14px;
      text-align: center;
      margin-bottom: 25px; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block02 div.inblock div.detail p {
      font-size: 16px;
      margin-top: 160px;
      width: 50%;
      padding-left: 60px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block02 div.inblock div.detail p {
      font-size: 10px;
      text-align: center;
      margin-bottom: 40px; } }

@media screen and (min-width: 751px) {
  div#brown div.content div.block03 {
    margin-bottom: 500px; } }

@media screen and (max-width: 750px) {
  div#brown div.content div.block03 {
    margin-bottom: 200px; } }

div#brown div.content div.block03 div.num {
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block03 div.num {
      padding-bottom: 180px;
      position: relative;
      font-size: 24px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block03 div.num {
      padding-bottom: 50px;
      font-size: 12px;
      position: relative; } }
  div#brown div.content div.block03 div.num::after {
    content: "";
    display: block;
    position: absolute;
    background: #231815;
    width: 1px;
    transform: translateX(-50%);
    left: 50%;
    bottom: 0; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block03 div.num::after {
        height: 160px; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block03 div.num::after {
        height: 50px; } }

div#brown div.content div.block03 div.inblock {
  background: #ccbdb3; }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block03 div.inblock {
      width: calc(521 / 612 * 100%);
      margin: 0 auto;
      padding: 190px 0 170px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block03 div.inblock {
      padding: 60px 0; } }
  div#brown div.content div.block03 div.inblock div.imgArea {
    position: relative; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block03 div.inblock div.imgArea {
        width: calc(310 / 521 * 100%);
        margin: 0 auto 114px; } }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block03 div.inblock div.imgArea div.cap {
        position: absolute;
        top: 0;
        left: 0;
        width: calc(18 / 310 * 100%); } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block03 div.inblock div.imgArea div.cap {
        position: absolute;
        top: 0;
        left: calc(5 / 320 * 100%);
        width: calc(14 / 320 * 100%); } }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block03 div.inblock div.imgArea div.img01 {
        width: calc(260 / 310 * 100%);
        margin: 0 auto; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block03 div.inblock div.imgArea div.img01 {
        width: calc(274 / 320 * 100%);
        margin: 0 auto 44px; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block03 div.inblock h4 {
      font-size: 24px;
      text-align: center;
      margin-bottom: 110px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block03 div.inblock h4 {
      font-size: 14px;
      text-align: center;
      margin-bottom: 30px; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block03 div.inblock div.img02 {
      margin-bottom: 100px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block03 div.inblock div.img02 {
      margin-bottom: 50px; } }
  div#brown div.content div.block03 div.inblock p {
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block03 div.inblock p {
        font-size: 16px;
        margin-bottom: 180px; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block03 div.inblock p {
        margin-bottom: 40px;
        font-size: 10px; } }

@media screen and (min-width: 751px) {
  div#brown div.content div.block04 {
    margin-bottom: 480px; } }

@media screen and (max-width: 750px) {
  div#brown div.content div.block04 {
    margin-bottom: 200px; } }

div#brown div.content div.block04 div.num {
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block04 div.num {
      font-size: 24px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block04 div.num {
      font-size: 12px; } }

div#brown div.content div.block04 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block04 div.inblock {
      margin-bottom: 180px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block04 div.inblock {
      margin-bottom: 65px; } }
  div#brown div.content div.block04 div.inblock::before {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block04 div.inblock::before {
        padding-top: calc(1395 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block04 div.inblock::before {
        padding-top: calc(992 / 320 * 100%); } }
  div#brown div.content div.block04 div.inblock::after {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block04 div.inblock::after {
        width: 1px;
        height: calc(1010 / 1395 * 100%);
        position: absolute;
        background: #231815;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: -1; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block04 div.inblock::after {
        width: 1px;
        height: calc(625 / 992 * 100%);
        position: absolute;
        background: #231815;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: -1; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block04 div.inblock div.cap {
      position: absolute;
      top: calc(509 / 1395 * 100%);
      left: calc(82 / 612 * 100%);
      width: calc(14 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block04 div.inblock div.cap {
      position: absolute;
      width: calc(10 / 320 * 100%);
      top: calc(356 / 992 * 100%);
      left: calc(24 / 320 * 100%); } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block04 div.inblock div.img01 {
      position: absolute;
      top: calc(71 / 1395 * 100%);
      width: 100%; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block04 div.inblock div.img01 {
      position: absolute;
      width: calc(375 / 320 * 100%);
      overflow: hidden;
      left: 50%;
      transform: translateX(-50%);
      top: calc(43 / 992 * 100%); } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block04 div.inblock div.img02 {
      position: absolute;
      width: calc(387 / 612 * 100%);
      top: calc(509 / 1395 * 100%);
      left: 50%;
      transform: translateX(-50%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block04 div.inblock div.img02 {
      position: absolute;
      width: calc(237 / 320 * 100%);
      top: calc(356 / 992 * 100%);
      left: 50%;
      transform: translateX(-50%); } }
  div#brown div.content div.block04 div.inblock div.border01 {
    border: 2px solid #ccbdb3; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block04 div.inblock div.border01 {
        width: calc(404 / 612 * 100%);
        height: calc(506 / 1395 * 100%);
        position: absolute;
        top: calc(320 / 1395 * 100%);
        left: calc(23 / 612 * 100%);
        z-index: -1; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block04 div.inblock div.border01 {
        width: calc(248 / 320 * 100%);
        height: calc(380 / 992 * 100%);
        position: absolute;
        top: calc(241 / 992 * 100%);
        left: calc(10 / 320 * 100%);
        z-index: -1; } }
  div#brown div.content div.block04 div.inblock div.border02 {
    border: 2px solid #ccbdb3; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block04 div.inblock div.border02 {
        width: calc(232 / 612 * 100%);
        height: calc(536 / 1395 * 100%);
        position: absolute;
        top: calc(788 / 1395 * 100%);
        right: calc(43   / 612 * 100%);
        z-index: -1; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block04 div.inblock div.border02 {
        width: calc(142 / 320 * 100%);
        height: calc(328 / 992 * 100%);
        position: absolute;
        top: calc(436/ 992 * 100%);
        right: calc(12 / 320 * 100%);
        z-index: -1; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block04 div.inblock div.detail {
      position: absolute;
      top: calc(1150 / 1395 * 100%);
      left: calc(82 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block04 div.inblock div.detail {
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 100%; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block04 div.inblock div.detail h4 {
      font-size: 24px;
      margin-bottom: 56px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block04 div.inblock div.detail h4 {
      font-size: 14px;
      margin: 36px;
      text-align: center; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block04 div.inblock div.detail p {
      font-size: 16px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block04 div.inblock div.detail p {
      font-size: 10px;
      text-align: center; } }

@media screen and (min-width: 751px) {
  div#brown div.content div.block05 {
    margin-bottom: 420px; } }

@media screen and (max-width: 750px) {
  div#brown div.content div.block05 {
    margin-bottom: 200px; } }

div#brown div.content div.block05 div.num {
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block05 div.num {
      margin-bottom: 210px;
      font-size: 24px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block05 div.num {
      font-size: 12px;
      margin-bottom: 39px; } }

div#brown div.content div.block05 div.inblock {
  background: #ccbdb3;
  position: relative; }
  div#brown div.content div.block05 div.inblock::before {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block05 div.inblock::before {
        padding-top: calc(1277 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block05 div.inblock::before {
        padding-top: calc(1000 / 320 * 100%); } }
  div#brown div.content div.block05 div.inblock::after {
    position: absolute;
    content: "";
    display: block;
    width: 1px;
    background: #231815; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block05 div.inblock::after {
        height: calc(1020 / 1277 * 100%);
        top: calc(-63 / 1277 * 100%);
        left: 50%;
        transform: translateX(-50%); } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block05 div.inblock::after {
        height: calc(520 / 1000 * 100%);
        top: -39px;
        left: 50%;
        transform: translateX(-50%); } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block05 div.inblock div.img01 {
      width: calc(387 / 612 * 100%);
      position: absolute;
      top: calc(91 / 1277 * 100%);
      left: 50%;
      transform: translateX(-50%);
      z-index: 2; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block05 div.inblock div.img01 {
      width: calc(246 / 320 * 100%);
      position: absolute;
      top: calc(56 / 1000 * 100%);
      left: 50%;
      transform: translateX(-50%);
      z-index: 2; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block05 div.inblock div.cap {
      position: absolute;
      width: calc(14 / 612 * 100%);
      top: calc(91 / 1277 * 100%);
      left: calc(73 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block05 div.inblock div.cap {
      position: absolute;
      width: calc(10 / 320 * 100%);
      top: calc(56 / 1000 * 100%);
      left: calc(15 / 320 * 100%); } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block05 div.inblock div.img02 {
      position: absolute;
      width: 100%;
      left: 0;
      bottom: 0; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block05 div.inblock div.img02 {
      position: absolute;
      width: 100%;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block05 div.inblock h4 {
      font-size: 24px;
      position: absolute;
      top: calc(797 / 1277 * 100%);
      left: calc(105 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block05 div.inblock h4 {
      font-size: 14px;
      position: absolute;
      top: calc(500 / 1000 * 100%);
      left: 50%;
      transform: translateX(-50%);
      text-align: center; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block05 div.inblock p {
      position: absolute;
      top: calc(865 / 1277 * 100%);
      right: calc(85 / 612 * 100%);
      font-size: 16px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block05 div.inblock p {
      position: absolute;
      top: calc( 600 / 1000 * 100%);
      left: 50%;
      transform: translateX(-50%);
      font-size: 10px;
      text-align: center;
      width: 100%; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block05 div.inblock ul.credit {
      position: absolute;
      top: calc(1036 / 1277 * 100%);
      left: 50%;
      transform: translateX(-50%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block05 div.inblock ul.credit {
      position: absolute;
      top: calc(758 / 1000 * 100%);
      left: 50%;
      transform: translateX(-50%); } }

@media screen and (min-width: 751px) {
  div#brown div.content div.block06 {
    margin-bottom: 420px; } }

@media screen and (max-width: 750px) {
  div#brown div.content div.block06 {
    margin-bottom: 200px; } }

div#brown div.content div.block06 div.num {
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block06 div.num {
      font-size: 24px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block06 div.num {
      font-size: 12px; } }

div#brown div.content div.block06 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block06 div.inblock {
      margin-bottom: 160px; } }
  div#brown div.content div.block06 div.inblock::before {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block06 div.inblock::before {
        padding-top: calc(1020 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block06 div.inblock::before {
        padding-top: calc(733 / 320 * 100%); } }
  div#brown div.content div.block06 div.inblock::after {
    content: "";
    display: block;
    background: #231815; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block06 div.inblock::after {
        width: 1px;
        height: calc(814 / 1020 * 100%);
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: -1; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block06 div.inblock::after {
        width: 1px;
        height: calc(530 / 733 * 100%);
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: -1; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block06 div.inblock div.img01 {
      width: calc(387 / 612 * 100%);
      left: 50%;
      transform: translateX(-50%);
      position: absolute;
      top: calc(192 / 1020 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block06 div.inblock div.img01 {
      width: calc(237 / 320 * 100%);
      left: 50%;
      transform: translateX(-50%);
      position: absolute;
      top: calc(118 / 733 * 100%); } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block06 div.inblock div.border {
      width: calc(269 / 612 * 100%);
      height: calc(471 / 1020 * 100%);
      position: absolute;
      box-sizing: border-box;
      border: 2px solid #ccbdb3;
      top: calc(94 / 1020 * 100%);
      left: calc(83 / 612 * 100%);
      z-index: -1; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block06 div.inblock div.border {
      width: calc(164 / 320 * 100%);
      height: calc(288 / 733 * 100%);
      position: absolute;
      box-sizing: border-box;
      border: 2px solid #ccbdb3;
      top: calc(58 / 733 * 100%);
      left: calc(26 / 320 * 100%);
      z-index: -1; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block06 div.inblock div.cap {
      position: absolute;
      top: calc(94 / 1020 * 100%);
      left: calc(53 / 614 * 100%);
      width: calc(14 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block06 div.inblock div.cap {
      position: absolute;
      top: calc(62 / 733 * 100%);
      left: calc(12 / 320 * 100%);
      width: calc(10 / 320 * 100%); } }
  div#brown div.content div.block06 div.inblock h4 {
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block06 div.inblock h4 {
        font-size: 24px;
        position: absolute;
        top: calc(850 / 1020 * 100%);
        left: 50%;
        transform: translateX(-50%); } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block06 div.inblock h4 {
        font-size: 14px;
        position: absolute;
        top: calc(540 / 733 * 100%);
        left: 50%;
        transform: translateX(-50%);
        width: 100%; } }
  div#brown div.content div.block06 div.inblock p {
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block06 div.inblock p {
        position: absolute;
        font-size: 16px;
        top: calc(940 / 1020 * 100%);
        left: 50%;
        transform: translateX(-50%); } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block06 div.inblock p {
        position: absolute;
        font-size: 10px;
        top: calc(620 / 733 * 100%);
        left: 50%;
        transform: translateX(-50%);
        width: 100%; } }

div#brown div.content div.num7 {
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#brown div.content div.num7 {
      font-size: 24px; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.num7 {
      font-size: 12px;
      margin-bottom: 71px;
      position: relative; } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.num7::before {
      content: "";
      display: block;
      width: 1px;
      height: 71px;
      background: #231815;
      position: absolute;
      top: 100%;
      left: 50%;
      transform: trnslateX(-50%); } }

@media screen and (min-width: 751px) {
  div#brown div.content div.block07 {
    background: url(../images/brown/back04.jpg);
    background-size: cover;
    padding: 88px 0;
    margin-top: 80px;
    margin-bottom: 440px; } }

@media screen and (max-width: 750px) {
  div#brown div.content div.block07 {
    margin-bottom: 200px; } }

div#brown div.content div.block07 div.inblock {
  margin: 0 auto;
  background: #ccbdb3;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block07 div.inblock {
      width: calc(521 / 612 * 100%); } }
  div#brown div.content div.block07 div.inblock::before {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block07 div.inblock::before {
        padding-top: calc(1452 / 521 * 100%); } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block07 div.inblock::before {
        padding-top: calc(1400 / 320 * 100%); } }
  div#brown div.content div.block07 div.inblock::after {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block07 div.inblock::after {
        width: 1px;
        height: 160px;
        background: #231815;
        position: absolute;
        left: 50%;
        top: -160px;
        transform: translateX(-50%); } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block07 div.inblock div.cap {
      position: absolute;
      width: calc(14 / 521 * 100%);
      top: calc(77 / 1452 * 100%);
      left: calc(85 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block07 div.inblock div.cap {
      position: absolute;
      width: calc(10 / 320 * 100%);
      top: calc(26 / 1400 * 100%);
      left: calc(9 / 320 * 100%); } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block07 div.inblock div.img01 {
      position: absolute;
      width: calc(278 / 521 * 100%);
      left: 50%;
      transform: translateX(-50%);
      top: calc(77 / 1452 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block07 div.inblock div.img01 {
      position: absolute;
      width: calc(260 / 320 * 100%);
      left: 50%;
      transform: translateX(-50%);
      top: calc(26 / 1400 * 100%); } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block07 div.inblock div.img02 {
      position: absolute;
      width: calc(278 / 521 * 100%);
      left: 50%;
      transform: translateX(-50%);
      top: calc(510 / 1452 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block07 div.inblock div.img02 {
      position: absolute;
      width: calc(260 / 320 * 100%);
      left: 50%;
      transform: translateX(-50%);
      top: calc(430 / 1400 * 100%); } }
  div#brown div.content div.block07 div.inblock div.img02::after {
    content: "";
    display: block;
    width: 1px; }
    @media screen and (min-width: 751px) {
      div#brown div.content div.block07 div.inblock div.img02::after {
        height: calc(200 / 418 * 100%);
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#brown div.content div.block07 div.inblock div.img02::after {
        height: 98px;
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        background: #231815; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block07 div.inblock h4 {
      font-size: 24px;
      position: absolute;
      top: calc(980 / 1452 * 100%);
      right: calc(279 / 521 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block07 div.inblock h4 {
      font-size: 14px;
      position: absolute;
      top: calc(950 / 1400 * 100%);
      left: 50%;
      transform: translateX(-50%);
      text-align: center; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block07 div.inblock p {
      font-size: 16px;
      position: absolute;
      top: calc(1054 / 1452 * 100%);
      left: calc(284 / 521 * 100%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block07 div.inblock p {
      font-size: 10px;
      position: absolute;
      top: calc(1032 / 1400 * 100%);
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
      text-align: center; } }
  @media screen and (min-width: 751px) {
    div#brown div.content div.block07 div.inblock ul.credit {
      position: absolute;
      left: 50%;
      top: calc(1210 / 1452 * 100%);
      transform: translateX(-50%); } }
  @media screen and (max-width: 750px) {
    div#brown div.content div.block07 div.inblock ul.credit {
      position: absolute;
      left: 50%;
      top: calc(1150 / 1400 * 100%);
      transform: translateX(-50%); } }

/*BLACK*/
div#black div.header h1 {
  border: 1px solid #000;
  padding: 1px 5px;
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#black div.header h1 {
      font-size: 18px;
      width: 480px;
      margin: 60px auto 65px; } }
  @media screen and (max-width: 750px) {
    div#black div.header h1 {
      margin: 70px auto 50px;
      font-size: 10px;
      width: 90%; } }

div#black div.header div.cover {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.header div.cover {
      width: calc(487 / 612 * 100%);
      margin: 0 auto; } }
  @media screen and (max-width: 750px) {
    div#black div.header div.cover {
      width: 100%;
      margin-bottom: 100px; } }
  div#black div.header div.cover::before {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#black div.header div.cover::before {
        padding-top: calc(290 / 487 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.header div.cover::before {
        padding-top: calc(214 / 320 * 100%); } }
  @media screen and (min-width: 751px) {
    div#black div.header div.cover div.colorbox {
      width: calc(120 / 487 * 100%);
      position: absolute;
      top: calc(148 / 290 * 100%);
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.header div.cover div.colorbox {
      position: absolute;
      width: calc(77 / 320 * 100%);
      top: calc(87 / 214 * 100%);
      left: calc(16 / 320 * 100%);
      box-sizing: border-box; } }
  div#black div.header div.cover h2 {
    position: absolute;
    color: #000;
    letter-spacing: 2px;
    line-height: 1.4; }
    @media screen and (min-width: 751px) {
      div#black div.header div.cover h2 {
        font-size: 48px;
        top: calc(20 / 555 * 100%);
        left: 12%; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.cover h2 {
        font-size: 20px;
        top: calc(12 / 214 * 100%);
        left: 12%; } }
  div#black div.header div.cover p.number {
    writing-mode: vertical-rl;
    position: absolute;
    bottom: 0;
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    font-style: normal; }
    @media screen and (min-width: 751px) {
      div#black div.header div.cover p.number {
        font-size: 12px;
        left: 0; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.cover p.number {
        left: 4.6%;
        font-size: 10px;
        bottom: 0; } }
  div#black div.header div.cover div.mainimg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1; }
    @media screen and (min-width: 751px) {
      div#black div.header div.cover div.mainimg {
        width: calc(433 / 487 * 100%);
        height: auto; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.cover div.mainimg {
        width: 82.8%;
        margin: 0 auto; } }

div#black div.header div.explain {
  background: #e8e3e1;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.header div.explain {
      width: calc(433 / 612 * 100%);
      height: 522px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 140px auto; } }
  @media screen and (max-width: 750px) {
    div#black div.header div.explain {
      padding: 60px 0;
      margin-bottom: 80px; } }
  div#black div.header div.explain::before {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#black div.header div.explain::before {
        height: 40px;
        top: -40px;
        background: #e8e3e1; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.explain::before {
        height: 25px;
        top: -25px;
        background: #e8e3e1; } }
  div#black div.header div.explain::after {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#black div.header div.explain::after {
        height: 124px;
        bottom: -124px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.explain::after {
        height: 80px;
        bottom: -80px;
        background: #231815; } }
  div#black div.header div.explain p {
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#black div.header div.explain p {
        font-size: 16px;
        line-height: 2.0;
        letter-spacing: 2px; } }
    @media screen and (max-width: 750px) {
      div#black div.header div.explain p {
        font-size: 10px; } }

div#black div.content h3 {
  position: relative;
  text-align: center;
  color: #595757; }
  @media screen and (min-width: 751px) {
    div#black div.content h3 {
      font-size: 48px; } }
  @media screen and (max-width: 750px) {
    div#black div.content h3 {
      font-size: 26px; } }

div#black div.content div.block {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block {
      padding-top: 680px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block {
      padding-top: 388px; } }
  div#black div.content div.block::before {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: #231815; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block::before {
        top: 0px;
        height: 550px; } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block::before {
        top: 0px;
        height: 300px; } }
  div#black div.content div.block div.detail_in {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    flex-direction: column; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block h5 {
      font-size: 24px;
      margin-bottom: 40px;
      width: 446px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block h5 {
      font-size: 14px;
      margin-bottom: 24px;
      width: 260px; } }
  @media screen and (min-width: 751px) {
    div#black div.content div.block p {
      font-size: 16px;
      width: 446px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block p {
      font-size: 10px;
      width: 260px; } }

div#black div.content div.block01 {
  position: relative; }
  div#black div.content div.block01 div.inblock {
    position: relative; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block01 div.inblock {
        margin-bottom: 200px; } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block01 div.inblock {
        margin-bottom: 60px; } }
    div#black div.content div.block01 div.inblock::before {
      display: block;
      content: ""; }
      @media screen and (min-width: 751px) {
        div#black div.content div.block01 div.inblock::before {
          padding-top: calc(511 / 612 * 100%); } }
      @media screen and (max-width: 750px) {
        div#black div.content div.block01 div.inblock::before {
          padding-top: calc(520 / 320 * 100%); } }
  div#black div.content div.block01 div.img1 {
    position: absolute; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block01 div.img1 {
        width: calc(424 / 612 * 100%);
        top: 0;
        left: 50%;
        transform: translateX(-50%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block01 div.img1 {
        width: 100%;
        top: calc(89 / 520 * 100%);
        left: 0; } }
  div#black div.content div.block01 div.detail {
    position: absolute;
    z-index: -1;
    background: #e8e3e1; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block01 div.detail {
        width: calc(434 / 612 * 100%);
        height: calc(236 / 511 * 100%);
        top: calc(254 / 511 * 100%);
        left: 0; } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block01 div.detail {
        width: calc(277 / 320 * 100%);
        height: calc(217 / 520 * 100%);
        top: calc(302 / 520 * 100%); } }
  div#black div.content div.block01 p.number {
    position: absolute; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block01 p.number {
        width: calc(107 / 612 * 100%);
        top: calc(437 / 511 * 100%);
        right: calc(107 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block01 p.number {
        width: calc(83 / 320 * 100%);
        top: 0;
        left: calc(22/ 320 * 100%); } }

div#black div.content div.block02 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block02 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block02 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block02 div.inblock::before {
        padding-top: calc(750 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block02 div.inblock::before {
        padding-top: calc(578 / 320 * 100%); } }

div#black div.content div.block02 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block02 div.img1 {
      width: calc(244 / 612 * 100%);
      top: calc(128 / 750 * 100%);
      left: calc(74 / 612 * 100%);
      z-index: 2; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 div.img1 {
      width: calc(168 / 320 * 100%);
      top: calc(127 / 578 * 100%);
      left: 0;
      z-index: 2; } }

div#black div.content div.block02 div.img2 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block02 div.img2 {
      width: calc(244 / 612 * 100%);
      top: 0;
      right: calc(71 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 div.img2 {
      width: calc(168 / 320 * 100%);
      top: 0;
      right: 0; } }

div#black div.content div.block02 div.detail {
  position: absolute;
  z-index: -1;
  background: #e8e3e1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block02 div.detail {
      width: calc(434 / 612 * 100%);
      height: calc(236 / 750 * 100%);
      top: calc(478 / 750 * 100%);
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 div.detail {
      width: calc(290/ 320 * 100%);
      height: calc(249 / 578 * 100%);
      top: calc(328 / 578 * 100%);
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 div.detail div.detail_in {
      margin-top: 20px; } }

div#black div.content div.block02 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block02 p.number {
      width: calc(98 / 612 * 100%);
      bottom: 0;
      right: calc(136 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block02 p.number {
      width: calc(76 / 320 * 100%);
      top: 0;
      left: calc(26 / 320 * 100%); } }

div#black div.content div.block03 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block03 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block03 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block03 div.inblock::before {
        padding-top: calc(890 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block03 div.inblock::before {
        padding-top: calc(995 / 320 * 100%); } }

div#black div.content div.block03 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block03 div.img1 {
      width: calc(453 / 612 * 100%);
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 div.img1 {
      width: 100%;
      top: 0;
      left: 0; } }

div#black div.content div.block03 div.img2 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block03 div.img2 {
      width: calc(221 / 612 * 100%);
      top: calc(325 / 890 * 100%);
      right: calc(102 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 div.img2 {
      width: calc(266 / 320 * 100%);
      left: 50%;
      transform: translateX(-50%);
      top: calc(388 / 995 * 100%); } }

div#black div.content div.block03 div.detail {
  position: absolute;
  z-index: -1;
  background: #e8e3e1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block03 div.detail {
      width: calc(370 / 612 * 100%);
      height: calc(257 / 890 * 100%);
      top: calc(572 / 890 * 100%);
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 div.detail {
      width: calc(273 / 320 * 100%);
      height: calc(249 / 995 * 100%);
      bottom: 0;
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 div.detail div.detail_in {
      margin-top: 20px; } }

div#black div.content div.block03 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block03 p.number {
      width: calc(223 / 612 * 100%);
      bottom: 0;
      right: calc(102 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block03 p.number {
      width: calc(174 / 320 * 100%);
      top: calc(257 / 995 * 100%);
      left: calc(24 / 320 * 100%); } }

div#black div.content div.block04 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block04 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block04 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block04 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block04 div.inblock::before {
        padding-top: calc(1154 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block04 div.inblock::before {
        padding-top: calc(1010 / 320 * 100%); } }

div#black div.content div.block04 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block04 div.img1 {
      width: calc(354 / 612 * 100%);
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block04 div.img1 {
      width: 100%;
      left: 0;
      top: 0; } }

div#black div.content div.block04 div.img2 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block04 div.img2 {
      width: calc(449 / 612 * 100%);
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block04 div.img2 {
      width: calc(250 / 320 * 100%);
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); } }

div#black div.content div.block04 div.detail {
  position: absolute;
  z-index: -1;
  background: #e8e3e1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block04 div.detail {
      width: calc(434 / 612 * 100%);
      height: calc(236 / 1154 * 100%);
      top: calc(504 / 1154 * 100%);
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block04 div.detail {
      width: calc(264 / 320 * 100%);
      height: calc(201 / 1010 * 100%);
      top: calc(585 / 1010 * 100%);
      left: 0; } }

div#black div.content div.block04 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block04 p.number {
      width: calc(127 / 612 * 100%);
      top: calc(674 / 1154 * 100%);
      right: calc(136 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block04 p.number {
      width: calc(100 / 320 * 100%);
      top: calc(524 / 1010 * 100%);
      right: calc(26 / 320 * 100%); } }

div#black div.content div.block05 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block05 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block05 div.inblock::before {
        padding-top: calc(606 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block05 div.inblock::before {
        padding-top: calc(1492 / 320 * 100%); } }

div#black div.content div.block05 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.img1 {
      width: calc(188 / 612 * 100%);
      top: 0;
      left: calc(46 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 div.img1 {
      width: calc(217 / 320 * 100%);
      top: calc(513 / 1492 * 100%);
      left: calc(29 / 320 * 100%); } }

div#black div.content div.block05 div.img2 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.img2 {
      width: calc(188 / 612 * 100%);
      top: calc(26 / 606 * 100%);
      left: calc(225 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 div.img2 {
      width: calc(217 / 320 * 100%);
      top: calc(812 / 1492 * 100%);
      right: calc(12 / 320 * 100%); } }

div#black div.content div.block05 div.img3 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.img3 {
      width: calc(188 / 612 * 100%);
      top: 0;
      left: calc(376 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 div.img3 {
      width: 100%;
      top: 0;
      left: 0; } }

div#black div.content div.block05 div.detail {
  position: absolute;
  z-index: -1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.detail {
      width: calc(370 / 612 * 100%);
      height: calc(211 / 606 * 100%);
      top: calc(394 / 606 * 100%);
      left: 0;
      background: #e8e3e1; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 div.detail {
      width: calc(258 / 320 * 100%);
      height: calc(201 / 1495 * 100%);
      top: calc(1291 / 1495 * 100%);
      left: 0;
      background: #e8e3e1; } }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 div.detail p {
      font-size: 16px;
      width: 446px; } }

div#black div.content div.block05 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block05 p.number {
      width: calc(235 / 612 * 100%);
      top: calc(344 / 606 * 100%);
      right: calc(72 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block05 p.number {
      width: calc(184 / 320 * 100%);
      top: calc(1176 / 1492 * 100%);
      left: calc(33 / 320 * 100%); } }

div#black div.content div.block06 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block06 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block06 div.inblock::before {
        padding-top: calc(938 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block06 div.inblock::before {
        padding-top: calc(885 / 320 * 100%); } }

div#black div.content div.block06 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 div.img1 {
      width: calc(208 / 612 * 100%);
      top: calc(110 / 938 * 100%);
      left: calc(94 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 div.img1 {
      width: 50%;
      top: calc(71 / 885 * 100%);
      left: 0; } }

div#black div.content div.block06 div.img2 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 div.img2 {
      width: calc(208 / 612 * 100%);
      top: 0;
      right: calc(94 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 div.img2 {
      width: 50%;
      top: 0;
      right: 0; } }

div#black div.content div.block06 div.img3 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 div.img3 {
      width: calc(353 / 612 * 100%);
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 div.img3 {
      width: 100%;
      bottom: 0;
      left: 0; } }

div#black div.content div.block06 div.detail {
  position: absolute;
  z-index: -1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 div.detail {
      width: calc(335 / 612 * 100%);
      height: calc(236 / 938 * 100%);
      top: calc(396 / 938 * 100%);
      left: 0;
      background: #e8e3e1; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 div.detail {
      width: calc(258 / 320 * 100%);
      height: calc(238 / 885 * 100%);
      top: calc(407 / 885 * 100%);
      left: 0;
      background: #e8e3e1; } }

div#black div.content div.block06 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block06 p.number {
      width: calc(124 / 612 * 100%);
      top: calc(396 / 938 * 100%);
      right: calc(121 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block06 p.number {
      width: calc(97 / 320 * 100%);
      top: calc(356 / 885 * 100%);
      right: calc(64 / 320 * 100%); } }

div#black div.content div.block07 div.inblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block07 div.inblock {
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block07 div.inblock {
      margin-bottom: 60px; } }
  div#black div.content div.block07 div.inblock::before {
    display: block;
    content: ""; }
    @media screen and (min-width: 751px) {
      div#black div.content div.block07 div.inblock::before {
        padding-top: calc(770 / 612 * 100%); } }
    @media screen and (max-width: 750px) {
      div#black div.content div.block07 div.inblock::before {
        padding-top: calc(848 / 320 * 100%); } }

div#black div.content div.block07 div.img1 {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block07 div.img1 {
      width: calc(314 / 612 * 100%);
      top: 0;
      left: 50%;
      transform: translateX(-50%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block07 div.img1 {
      width: 100%;
      top: 0;
      left: 0%; } }

div#black div.content div.block07 div.detail {
  position: absolute;
  z-index: -1; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block07 div.detail {
      width: calc(434 / 612 * 100%);
      height: calc(236 / 770 * 100%);
      top: calc(443 / 770 * 100%);
      left: 0;
      background: #e8e3e1; } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block07 div.detail {
      width: calc(287 / 320 * 100%);
      height: calc(242 / 848 * 100%);
      top: calc(535 / 848 * 100%);
      left: 0;
      background: #e8e3e1; } }
  @media screen and (min-width: 751px) {
    div#black div.content div.block07 div.detail p {
      font-size: 16px;
      width: 446px; } }

div#black div.content div.block07 p.number {
  position: absolute; }
  @media screen and (min-width: 751px) {
    div#black div.content div.block07 p.number {
      width: calc(223 / 612 * 100%);
      bottom: 0;
      right: calc(80 / 612 * 100%); } }
  @media screen and (max-width: 750px) {
    div#black div.content div.block07 p.number {
      width: calc(175 / 320 * 100%);
      bottom: 0;
      right: calc(12 / 320 * 100%); } }

div#black div.img1, div#black div.img2, div#black div.img3 {
  overflow: hidden; }
  div#black div.img1 img, div#black div.img2 img, div#black div.img3 img {
    transform: scale(1.2); }

.zoomOutImg {
  animation: zoomOutImg 1s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

@keyframes zoomOutImg {
  from {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }

/*BLUE*/
div#blue div.header h1 {
  border: 1px solid #000;
  padding: 1px 5px;
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#blue div.header h1 {
      font-size: 18px;
      width: 480px;
      margin: 60px auto 65px; } }
  @media screen and (max-width: 750px) {
    div#blue div.header h1 {
      margin: 70px auto 50px;
      font-size: 10px;
      width: 90%; } }

div#blue div.header div.cover {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#blue div.header div.cover {
      width: 1088px;
      margin: 0 auto; } }
  @media screen and (max-width: 750px) {
    div#blue div.header div.cover {
      width: 100%;
      margin-bottom: 100px; } }
  div#blue div.header div.cover::before {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#blue div.header div.cover::before {
        padding-top: calc(555 / 1035 * 100%); } }
    @media screen and (max-width: 750px) {
      div#blue div.header div.cover::before {
        padding-top: calc(213 / 320 * 100%); } }
  @media screen and (min-width: 751px) {
    div#blue div.header div.cover div.colorbox {
      width: 22.7%;
      height: 28%;
      background: #c8d7e4;
      position: absolute;
      bottom: 12%;
      right: 0;
      display: flex;
      align-items: center;
      justify-content: center; } }
  @media screen and (max-width: 750px) {
    div#blue div.header div.cover div.colorbox {
      position: absolute;
      width: 25%;
      height: 22.5%;
      bottom: 5%;
      right: 4.7%;
      background: #c8d7e4;
      display: flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      padding: 0 5px; } }
  @media screen and (min-width: 751px) {
    div#blue div.header div.cover p.color {
      width: 77%; } }
  div#blue div.header div.cover h2 {
    position: absolute;
    color: #fff;
    letter-spacing: 2px;
    line-height: 1.4; }
    @media screen and (min-width: 751px) {
      div#blue div.header div.cover h2 {
        font-size: 48px;
        top: 25%;
        left: 12%; } }
    @media screen and (max-width: 750px) {
      div#blue div.header div.cover h2 {
        font-size: 20px;
        top: 25%;
        left: 12%; } }
  div#blue div.header div.cover p.number {
    writing-mode: vertical-rl;
    position: absolute;
    bottom: 0;
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    font-style: normal; }
    @media screen and (min-width: 751px) {
      div#blue div.header div.cover p.number {
        font-size: 12px;
        left: 0; } }
    @media screen and (max-width: 750px) {
      div#blue div.header div.cover p.number {
        left: 4.6%;
        font-size: 10px;
        bottom: 0; } }
  div#blue div.header div.cover div.mainimg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1; }
    @media screen and (min-width: 751px) {
      div#blue div.header div.cover div.mainimg {
        width: 911px;
        height: auto; } }
    @media screen and (max-width: 750px) {
      div#blue div.header div.cover div.mainimg {
        width: 82.8%;
        margin: 0 auto; } }

div#blue div.header div.explain {
  background: #c8d7e4;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#blue div.header div.explain {
      width: 950px;
      height: 522px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 140px auto; } }
  @media screen and (max-width: 750px) {
    div#blue div.header div.explain {
      padding: 60px 0;
      margin-bottom: 80px; } }
  div#blue div.header div.explain::before {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.header div.explain::before {
        height: 40px;
        top: -40px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#blue div.header div.explain::before {
        height: 25px;
        top: -25px;
        background: #231815; } }
  div#blue div.header div.explain::after {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.header div.explain::after {
        height: 124px;
        bottom: -124px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#blue div.header div.explain::after {
        height: 80px;
        bottom: -80px;
        background: #231815; } }
  div#blue div.header div.explain p {
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#blue div.header div.explain p {
        font-size: 16px;
        line-height: 2.0;
        letter-spacing: 2px; } }
    @media screen and (max-width: 750px) {
      div#blue div.header div.explain p {
        font-size: 10px; } }

div#blue div.content h3 {
  position: relative;
  text-align: center;
  color: #3271ae; }
  @media screen and (min-width: 751px) {
    div#blue div.content h3 {
      font-size: 48px;
      margin-bottom: 500px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content h3 {
      font-size: 26px;
      margin-bottom: 100px; } }
  div#blue div.content h3::after {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.content h3::after {
        bottom: -276px;
        height: 276px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#blue div.content h3::after {
        bottom: -90px;
        height: 90px;
        background: #231815; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block01 {
    margin-bottom: 360px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block01 {
    margin-bottom: 255px; } }

div#blue div.content div.block01 p.number {
  font-family: futura-pt, sans-serif;
  text-align: center;
  color: #3271ae;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block01 p.number {
      font-size: 24px;
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block01 p.number {
      font-size: 12px;
      padding-bottom: 73px; } }
  div#blue div.content div.block01 p.number::before {
    content: "";
    display: block;
    width: 1px;
    background: #231815;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.content div.block01 p.number::before {
        height: 200px;
        bottom: -200px; } }
    @media screen and (max-width: 750px) {
      div#blue div.content div.block01 p.number::before {
        background: #231815;
        height: 58px;
        bottom: 0px; } }

div#blue div.content div.block01 div.img1 {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block01 div.img1 {
      width: 600px;
      margin: 0 auto 132px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block01 div.img1 {
      width: 83%;
      margin: 0 auto;
      padding-bottom: 64px; } }
  div#blue div.content div.block01 div.img1::after {
    content: "";
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.content div.block01 div.img1::after {
        height: 132px;
        bottom: -132px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#blue div.content div.block01 div.img1::after {
        height: 64px;
        bottom: 0px;
        background: #231815; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block01 div.img2 {
    width: 892px;
    margin: 0 auto 146px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block01 div.img2 {
    width: 100%;
    margin-bottom: 64px; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block01 div.detail {
    width: 972px;
    margin: 0 auto 200px; } }

div#blue div.content div.block01 div.detail h4 {
  font-family: futura-pt, sans-serif;
  color: #3271ae; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block01 div.detail h4 {
      font-size: 22px;
      border-bottom: 1px solid #3271ae;
      margin-bottom: 40px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block01 div.detail h4 {
      font-size: 11px;
      text-align: center;
      margin-bottom: 27px; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block01 div.detail div.detail_in {
    display: flex; } }

div#blue div.content div.block01 div.detail div.detail_in h5 {
  color: #3271ae; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block01 div.detail div.detail_in h5 {
      font-size: 24px;
      width: 522px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block01 div.detail div.detail_in h5 {
      font-size: 12px;
      text-align: center;
      margin-bottom: 27px; } }

div#blue div.content div.block01 div.detail div.detail_in p {
  color: #3271ae; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block01 div.detail div.detail_in p {
      font-size: 16px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block01 div.detail div.detail_in p {
      font-size: 10px;
      text-align: center;
      margin-bottom: 85px; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block02 {
    width: 100%;
    margin-bottom: 360px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block02 {
    margin-bottom: 120px; } }

div#blue div.content div.block02 p.number {
  font-family: futura-pt, sans-serif;
  text-align: center;
  color: #3271ae;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block02 p.number {
      font-size: 24px;
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block02 p.number {
      font-size: 12px;
      padding-bottom: 55px; } }
  div#blue div.content div.block02 p.number::before {
    content: "";
    display: block;
    width: 1px;
    background: #231815;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.content div.block02 p.number::before {
        height: 200px;
        bottom: -200px; } }
    @media screen and (max-width: 750px) {
      div#blue div.content div.block02 p.number::before {
        height: 32px;
        bottom: 0px;
        background: #231815; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block02 div.block_inner {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    color: #3271ae;
    box-sizing: border-box;
    margin-bottom: 250px;
    position: relative; } }

div#blue div.content div.block02 div.block_inner::after {
  content: "";
  display: block;
  width: 1px;
  background: #231815;
  position: absolute;
  left: 50%;
  transform: translateX(-50%); }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block02 div.block_inner::after {
      height: 200px;
      bottom: -200px; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block02 div.block_inner div.img {
    width: 50%; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block02 div.block_inner div.img {
    width: 100%;
    padding-bottom: 62px;
    position: relative;
    margin-bottom: 25px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block02 div.block_inner div.img::after {
    content: "";
    display: block;
    width: 1px;
    height: 62px;
    position: absolute;
    background: #231815;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block02 div.block_inner div.detail {
    width: 40%; } }

div#blue div.content div.block02 div.block_inner div.detail h4 {
  font-family: futura-pt, sans-serif; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block02 div.block_inner div.detail h4 {
      font-size: 22px;
      border-bottom: 1px solid #3271ae;
      margin-bottom: 60px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block02 div.block_inner div.detail h4 {
      font-size: 11px;
      text-align: center;
      color: #3271ae;
      margin-bottom: 27px; } }

div#blue div.content div.block02 div.block_inner div.detail div.detail_in {
  color: #3271ae; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block02 div.block_inner div.detail div.detail_in h5 {
      font-size: 24px;
      margin-bottom: 40px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block02 div.block_inner div.detail div.detail_in h5 {
      font-size: 12px;
      margin-bottom: 27px;
      text-align: center; } }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block02 div.block_inner div.detail div.detail_in p {
      font-size: 14px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block02 div.block_inner div.detail div.detail_in p {
      font-size: 10px;
      text-align: center;
      margin-bottom: 70px; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block03 {
    margin-bottom: 360px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block03 {
    margin-bottom: 170px; } }

div#blue div.content div.block03 p.number {
  text-align: center;
  color: #3271ae;
  position: relative;
  font-family: futura-pt, sans-serif; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block03 p.number {
      font-size: 24px;
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block03 p.number {
      font-size: 12px;
      padding-bottom: 50px; } }
  div#blue div.content div.block03 p.number::before {
    content: "";
    display: block;
    width: 1px;
    background: #231815;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.content div.block03 p.number::before {
        height: 200px;
        bottom: -200px; } }
    @media screen and (max-width: 750px) {
      div#blue div.content div.block03 p.number::before {
        background: #231815;
        height: 41px;
        bottom: 0px; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block03 div.imgArea {
    display: flex;
    width: 85%;
    margin: 0 auto 120px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block03 div.imgArea {
    width: 75%;
    margin: 0 auto 55px; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block03 div.imgArea div.img {
    width: 50%; } }

div#blue div.content div.block03 div.detail {
  color: #3271ae; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block03 div.detail {
      margin-bottom: 160px; } }
  div#blue div.content div.block03 div.detail h4 {
    font-family: futura-pt, sans-serif; }
    @media screen and (min-width: 751px) {
      div#blue div.content div.block03 div.detail h4 {
        font-size: 22px;
        border-bottom: 1px solid #3271ae;
        margin-bottom: 60px;
        width: 50%;
        margin: 0 auto 100px;
        text-align: center; } }
    @media screen and (max-width: 750px) {
      div#blue div.content div.block03 div.detail h4 {
        font-size: 11px;
        text-align: center;
        margin-bottom: 30px; } }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block03 div.detail h5 {
      text-align: center;
      font-size: 24px;
      margin-bottom: 55px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block03 div.detail h5 {
      font-size: 12px;
      text-align: center;
      margin-bottom: 30px; } }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block03 div.detail p {
      text-align: center; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block03 div.detail p {
      font-size: 10px;
      text-align: center;
      margin-bottom: 75px; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block03 div.img2 {
    width: 85%;
    margin: 0 auto 150px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block03 div.img2 {
    width: 100%;
    margin: 0  auto 80px; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block04 {
    margin-bottom: 360px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block04 {
    margin-bottom: 170px; } }

div#blue div.content div.block04 p.number {
  font-family: futura-pt, sans-serif;
  text-align: center;
  color: #3271ae;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block04 p.number {
      font-size: 24px;
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block04 p.number {
      font-size: 12px;
      padding-bottom: 40px; } }
  div#blue div.content div.block04 p.number::before {
    content: "";
    display: block;
    width: 1px;
    background: #231815;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.content div.block04 p.number::before {
        height: 200px;
        bottom: -200px; } }
    @media screen and (max-width: 750px) {
      div#blue div.content div.block04 p.number::before {
        bottom: 0;
        height: 23px;
        background: #231815; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block04 div.imgArea {
    width: 90%;
    margin: 0 auto 100px;
    display: flex; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block04 div.imgArea {
    width: 90%;
    margin: 0 auto 35px; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block04 div.imgArea div.img {
    width: 50%; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block04 div.imgArea div.img:first-child {
    margin-top: 200px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block04 div.imgArea div.img:first-child {
    margin-bottom: 10px; } }

div#blue div.content div.block04 div.detail {
  color: #3271ae; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block04 div.detail {
      width: 80%;
      margin: 0 auto 200px; } }
  div#blue div.content div.block04 div.detail h4 {
    font-family: futura-pt, sans-serif; }
    @media screen and (min-width: 751px) {
      div#blue div.content div.block04 div.detail h4 {
        font-size: 22px;
        border-bottom: 1px solid #3271ae;
        margin-bottom: 60px; } }
    @media screen and (max-width: 750px) {
      div#blue div.content div.block04 div.detail h4 {
        font-size: 11px;
        text-align: center;
        margin-bottom: 30px; } }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block04 div.detail div.detail_in {
      display: flex; } }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block04 div.detail div.detail_in h5 {
      font-size: 24px;
      width: 47%; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block04 div.detail div.detail_in h5 {
      font-size: 12px;
      text-align: center;
      margin-bottom: 28px; } }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block04 div.detail div.detail_in p {
      font-size: 14px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block04 div.detail div.detail_in p {
      font-size: 10px;
      text-align: center;
      margin-bottom: 65px; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block05 {
    margin-bottom: 360px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block05 {
    margin-bottom: 170px; } }

div#blue div.content div.block05 p.number {
  font-family: futura-pt, sans-serif;
  text-align: center;
  color: #3271ae;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block05 p.number {
      font-size: 24px;
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block05 p.number {
      font-size: 12px;
      padding-bottom: 82px; } }
  div#blue div.content div.block05 p.number::before {
    content: "";
    display: block;
    width: 1px;
    background: #231815;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.content div.block05 p.number::before {
        height: 200px;
        bottom: -200px; } }
    @media screen and (max-width: 750px) {
      div#blue div.content div.block05 p.number::before {
        height: 62px;
        bottom: 0px;
        background: #231815; } }

@media screen and (min-width: 751px) {
  div#blue div.content div.block05 div.img {
    width: 58%;
    margin: 0 auto 170px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block05 div.img {
    width: 100%;
    position: relative;
    padding-bottom: 58px; } }

@media screen and (max-width: 750px) {
  div#blue div.content div.block05 div.img::after {
    content: "";
    display: block;
    width: 1px;
    height: 58px;
    position: absolute;
    background: #231815;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0; } }

div#blue div.content div.block05 div.detail {
  color: #3271ae; }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block05 div.detail {
      width: 58%;
      margin: 0 auto 300px; } }
  div#blue div.content div.block05 div.detail h4 {
    font-family: futura-pt, sans-serif; }
    @media screen and (min-width: 751px) {
      div#blue div.content div.block05 div.detail h4 {
        font-size: 22px;
        border-bottom: 1px solid #3271ae;
        margin-bottom: 60px; } }
    @media screen and (max-width: 750px) {
      div#blue div.content div.block05 div.detail h4 {
        font-size: 11px;
        text-align: center;
        margin-bottom: 30px; } }
  @media screen and (min-width: 751px) {
    div#blue div.content div.block05 div.detail h5 {
      font-size: 24px;
      margin-bottom: 50px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block05 div.detail h5 {
      font-size: 12px;
      text-align: center;
      margin-bottom: 30px; } }
  @media screen and (max-width: 750px) {
    div#blue div.content div.block05 div.detail p {
      font-size: 10px;
      text-align: center;
      margin-bottom: 100px; } }

@media screen and (min-width: 751px) {
  div#blue div.block06 {
    margin-bottom: 360px; } }

@media screen and (max-width: 750px) {
  div#blue div.block06 {
    margin-bottom: 170px; } }

div#blue div.block06 p.number {
  font-family: futura-pt, sans-serif;
  text-align: center;
  color: #3271ae;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#blue div.block06 p.number {
      font-size: 24px;
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#blue div.block06 p.number {
      font-size: 12px;
      padding-bottom: 75px; } }
  div#blue div.block06 p.number::before {
    content: "";
    display: block;
    width: 1px;
    background: #231815;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.block06 p.number::before {
        height: 200px;
        bottom: -200px; } }
    @media screen and (max-width: 750px) {
      div#blue div.block06 p.number::before {
        height: 65px;
        bottom: 0px;
        background: #231815; } }

@media screen and (min-width: 751px) {
  div#blue div.block06 div.imgArea {
    width: 73%;
    margin: 0 auto 256px; } }

@media screen and (min-width: 751px) {
  div#blue div.block06 div.imgArea div.img1, div#blue div.block06 div.imgArea div.img2, div#blue div.block06 div.imgArea div.img3 {
    padding-bottom: 20px; } }

@media screen and (min-width: 751px) {
  div#blue div.block06 div.imgArea div.img1 img, div#blue div.block06 div.imgArea div.img2 img, div#blue div.block06 div.imgArea div.img3 img {
    width: 84%; } }

div#blue div.block06 div.imgArea div.img1 {
  position: relative; }
  div#blue div.block06 div.imgArea div.img1::after {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.block06 div.imgArea div.img1::after {
        height: 20px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#blue div.block06 div.imgArea div.img1::after {
        height: 50px;
        background: #231815; } }
  @media screen and (max-width: 750px) {
    div#blue div.block06 div.imgArea div.img1 {
      width: 90%;
      margin: 0 auto 0;
      padding-bottom: 50px; } }

div#blue div.block06 div.imgArea div.img2 {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#blue div.block06 div.imgArea div.img2 img {
      margin-left: auto; } }
  @media screen and (max-width: 750px) {
    div#blue div.block06 div.imgArea div.img2 {
      width: 77%;
      margin: 0 auto;
      padding-bottom: 50px; } }
  div#blue div.block06 div.imgArea div.img2::after {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.block06 div.imgArea div.img2::after {
        height: 20px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#blue div.block06 div.imgArea div.img2::after {
        height: 50px;
        background: #231815; } }

@media screen and (max-width: 750px) {
  div#blue div.block06 div.imgArea div.img3 {
    width: 90%;
    margin: 0 auto;
    padding-bottom: 120px; } }

@media screen and (max-width: 750px) {
  div#blue div.block06 div.imgArea div.img3 {
    content: "";
    display: block;
    width: 1px;
    height: 120px;
    left: 50%;
    transform: translateX(-50%);
    background: #231815;
    bottom: 0; } }

@media screen and (min-width: 751px) {
  div#blue div.block06 div.img4 {
    width: 44%;
    margin: 0 auto 160px; } }

@media screen and (max-width: 750px) {
  div#blue div.block06 div.img4 {
    width: 70%;
    margin: 0 auto 45px; } }

div#blue div.block06 div.detail {
  color: #3271ae; }
  @media screen and (min-width: 751px) {
    div#blue div.block06 div.detail {
      width: 50%;
      margin: 0 auto 240px; } }
  @media screen and (min-width: 751px) {
    div#blue div.block06 div.detail {
      text-align: center;
      color: #3271ae;
      margin: 0 auto 300px; } }
  div#blue div.block06 div.detail h4 {
    font-family: futura-pt, sans-serif; }
    @media screen and (min-width: 751px) {
      div#blue div.block06 div.detail h4 {
        font-size: 22px;
        border-bottom: 1px solid #3271ae;
        margin-bottom: 60px; } }
    @media screen and (max-width: 750px) {
      div#blue div.block06 div.detail h4 {
        font-size: 12px;
        text-align: center;
        margin-bottom: 30px; } }
  @media screen and (min-width: 751px) {
    div#blue div.block06 div.detail h5 {
      font-size: 24px;
      margin-bottom: 50px; } }
  @media screen and (max-width: 750px) {
    div#blue div.block06 div.detail h5 {
      font-size: 12px;
      margin-bottom: 30px;
      text-align: center; } }
  @media screen and (max-width: 750px) {
    div#blue div.block06 div.detail p {
      font-size: 10px;
      text-align: center;
      margin-bottom: 95px; } }

@media screen and (min-width: 751px) {
  div#blue div.block07 {
    margin-bottom: 360px; } }

@media screen and (max-width: 750px) {
  div#blue div.block07 {
    margin-bottom: 170px; } }

div#blue div.block07 p.number {
  font-family: futura-pt, sans-serif;
  text-align: center;
  color: #3271ae;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#blue div.block07 p.number {
      font-size: 24px;
      margin-bottom: 200px; } }
  @media screen and (max-width: 750px) {
    div#blue div.block07 p.number {
      font-size: 12px;
      padding-bottom: 108px; } }
  div#blue div.block07 p.number::before {
    content: "";
    display: block;
    width: 1px;
    background: #231815;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#blue div.block07 p.number::before {
        height: 200px;
        bottom: -200px; } }
    @media screen and (max-width: 750px) {
      div#blue div.block07 p.number::before {
        height: 88px;
        bottom: 0px;
        background: #231815; } }

@media screen and (min-width: 751px) {
  div#blue div.block07 div.imgArea {
    width: 82%;
    display: flex;
    margin: 0 auto 110px; } }

@media screen and (max-width: 750px) {
  div#blue div.block07 div.imgArea {
    margin-bottom: 40px; } }

@media screen and (min-width: 751px) {
  div#blue div.block07 div.imgArea div.img1 {
    width: 50%;
    margin-top: 260px;
    padding-right: 10%;
    box-sizing: border-box; } }

@media screen and (max-width: 750px) {
  div#blue div.block07 div.imgArea div.img1 {
    width: 85%;
    margin: 0 auto;
    padding-bottom: 32px; } }

@media screen and (max-width: 750px) {
  div#blue div.block07 div.imgArea div.img1::after {
    content: "";
    display: block;
    width: 1px;
    height: 32px;
    background: #231815;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); } }

@media screen and (min-width: 751px) {
  div#blue div.block07 div.imgArea div.img2 {
    width: 50%; } }

@media screen and (max-width: 750px) {
  div#blue div.block07 div.imgArea div.img2 {
    width: 70%;
    margin: 0 auto;
    padding-bottom: 32px;
    position: relative; } }

@media screen and (max-width: 750px) {
  div#blue div.block07 div.imgArea div.img2::after {
    content: "";
    display: block;
    width: 1px;
    height: 32px;
    background: #231815;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); } }

div#blue div.block07 div.detail {
  color: #3271ae; }
  @media screen and (min-width: 751px) {
    div#blue div.block07 div.detail {
      width: 80%;
      margin: 0 auto 200px; } }
  div#blue div.block07 div.detail h4 {
    font-family: futura-pt, sans-serif; }
    @media screen and (min-width: 751px) {
      div#blue div.block07 div.detail h4 {
        font-size: 22px;
        border-bottom: 1px solid #3271ae;
        margin-bottom: 60px; } }
    @media screen and (max-width: 750px) {
      div#blue div.block07 div.detail h4 {
        font-size: 11px;
        text-align: center;
        margin-bottom: 30px; } }
  @media screen and (min-width: 751px) {
    div#blue div.block07 div.detail div.detail_in {
      display: flex; } }
  @media screen and (min-width: 751px) {
    div#blue div.block07 div.detail div.detail_in h5 {
      font-size: 24px;
      width: 47%; } }
  @media screen and (max-width: 750px) {
    div#blue div.block07 div.detail div.detail_in h5 {
      text-align: center;
      font-size: 12px;
      margin-bottom: 30px; } }
  @media screen and (min-width: 751px) {
    div#blue div.block07 div.detail div.detail_in p {
      font-size: 14px; } }
  @media screen and (max-width: 750px) {
    div#blue div.block07 div.detail div.detail_in p {
      font-size: 10px;
      text-align: center;
      margin-bottom: 85px; } }

div#beige div.header h1 {
  border: 1px solid #000;
  padding: 1px 5px;
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#beige div.header h1 {
      font-size: 18px;
      width: 480px;
      margin: 60px auto 65px; } }
  @media screen and (max-width: 750px) {
    div#beige div.header h1 {
      margin: 70px auto 50px;
      font-size: 10px;
      width: 70%; } }

div#beige div.header div.cover {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#beige div.header div.cover {
      width: 1088px;
      margin: 0 auto; } }
  @media screen and (max-width: 750px) {
    div#beige div.header div.cover {
      margin-bottom: 135px; } }
  div#beige div.header div.cover::before {
    content: "";
    display: block; }
    @media screen and (min-width: 751px) {
      div#beige div.header div.cover::before {
        padding-top: calc(624 / 1088 * 100%); } }
    @media screen and (max-width: 750px) {
      div#beige div.header div.cover::before {
        padding-top: calc(500 / 750 * 100%); } }
  @media screen and (min-width: 751px) {
    div#beige div.header div.cover div.colorbox {
      width: 288px;
      height: 170px;
      background: #f0ebe2;
      position: absolute;
      top: 0;
      left: 0; } }
  @media screen and (max-width: 750px) {
    div#beige div.header div.cover div.colorbox {
      width: 25%;
      height: 22.6%;
      background: #f0ebe2;
      position: absolute;
      top: 5%;
      left: 5%; } }
  div#beige div.header div.cover p.color {
    position: absolute; }
    @media screen and (min-width: 751px) {
      div#beige div.header div.cover p.color {
        width: 305px;
        top: 38px;
        left: 26px; } }
    @media screen and (max-width: 750px) {
      div#beige div.header div.cover p.color {
        width: 27%;
        height: auto;
        top: 10%;
        left: 7%; } }
  div#beige div.header div.cover h2 {
    position: absolute;
    letter-spacing: 2px; }
    @media screen and (min-width: 751px) {
      div#beige div.header div.cover h2 {
        font-size: 48px;
        top: 50%; } }
    @media screen and (max-width: 750px) {
      div#beige div.header div.cover h2 {
        font-size: 22px;
        top: 40%;
        left: 5%; } }
  div#beige div.header div.cover p.number {
    writing-mode: vertical-rl;
    position: absolute;
    bottom: 0;
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    font-style: normal; }
    @media screen and (min-width: 751px) {
      div#beige div.header div.cover p.number {
        font-size: 12px;
        left: 0; } }
    @media screen and (max-width: 750px) {
      div#beige div.header div.cover p.number {
        font-size: 10px;
        left: 5%; } }
  div#beige div.header div.cover div.mainimg {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1; }
    @media screen and (min-width: 751px) {
      div#beige div.header div.cover div.mainimg {
        width: 911px;
        height: auto; } }
    @media screen and (max-width: 750px) {
      div#beige div.header div.cover div.mainimg {
        width: 82.4%; } }

div#beige div.explain {
  background: #f0ebe2;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#beige div.explain {
      width: 950px;
      height: 522px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 160px auto; } }
  @media screen and (max-width: 750px) {
    div#beige div.explain {
      padding: 60px 0;
      margin-bottom: 80px; } }
  div#beige div.explain::before {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#beige div.explain::before {
        height: 45px;
        top: -45px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#beige div.explain::before {
        height: 25px;
        top: -25px;
        background: #231815; } }
  div#beige div.explain::after {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#beige div.explain::after {
        height: 145px;
        bottom: -145px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#beige div.explain::after {
        height: 80px;
        bottom: -80px;
        background: #231815; } }
  div#beige div.explain p {
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#beige div.explain p {
        font-size: 16px;
        line-height: 2.0;
        letter-spacing: 2px; } }
    @media screen and (max-width: 750px) {
      div#beige div.explain p {
        font-size: 10px; } }

div#beige div.content h3 {
  position: relative;
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#beige div.content h3 {
      font-size: 48px;
      margin-bottom: 85px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content h3 {
      font-size: 26px;
      margin-bottom: 100px; } }
  div#beige div.content h3::after {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 751px) {
      div#beige div.content h3::after {
        bottom: -145px;
        height: 145px;
        background: #231815; } }
    @media screen and (max-width: 750px) {
      div#beige div.content h3::after {
        bottom: -90px;
        height: 90px;
        background: #231815; } }

div#beige div.content div.block01 {
  width: 100%;
  position: relative; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block01 {
      margin-bottom: 265px;
      background: url(../images/beige/block01_cover.jpg);
      background-size: cover;
      background-position: center center; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block01 {
      margin-bottom: 100px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block01::before {
      content: "";
      display: block;
      padding-top: calc(3000 / 1283 * 100%);
      background: url(../images/beige/block01_cover.jpg);
      background-size: cover;
      background-position: center center; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block01 div.inner {
      width: 1142px;
      margin: 0 auto;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: #fff; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block01 div.inner {
      background: #f0ebe2; } }
  div#beige div.content div.block01 div.inner div.inblock {
    position: relative; }
    @media screen and (min-width: 751px) {
      div#beige div.content div.block01 div.inner div.inblock {
        padding: 47px 0 53px; } }
    @media screen and (max-width: 750px) {
      div#beige div.content div.block01 div.inner div.inblock {
        padding-top: 15px; } }
    @media screen and (min-width: 751px) {
      div#beige div.content div.block01 div.inner div.inblock h4 {
        font-size: 74px;
        writing-mode: vertical-rl;
        position: absolute;
        top: 5px;
        left: 0;
        white-space: nowrap;
        line-height: 1.0;
        color: #d7cdba; } }
    @media screen and (max-width: 750px) {
      div#beige div.content div.block01 div.inner div.inblock h4 {
        font-size: 40px;
        writing-mode: vertical-rl;
        position: absolute;
        top: 70px;
        left: 0;
        white-space: nowrap;
        line-height: 1.0;
        color: #fff;
        z-index: 99; } }
    div#beige div.content div.block01 div.inner div.inblock p.num {
      text-align: center;
      font-family: futura-pt, sans-serif;
      font-weight: 400;
      font-style: normal; }
      @media screen and (min-width: 751px) {
        div#beige div.content div.block01 div.inner div.inblock p.num {
          font-size: 25px;
          margin-bottom: 110px; } }
      @media screen and (max-width: 750px) {
        div#beige div.content div.block01 div.inner div.inblock p.num {
          font-size: 10px;
          margin-bottom: 50px; } }
    div#beige div.content div.block01 div.inner div.inblock div.styling {
      position: relative;
      display: flex; }
      @media screen and (min-width: 751px) {
        div#beige div.content div.block01 div.inner div.inblock div.styling {
          margin-bottom: 100px; } }
      @media screen and (max-width: 750px) {
        div#beige div.content div.block01 div.inner div.inblock div.styling {
          flex-direction: column; } }
      div#beige div.content div.block01 div.inner div.inblock div.styling::before {
        content: "";
        display: block;
        width: 1px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%); }
        @media screen and (min-width: 751px) {
          div#beige div.content div.block01 div.inner div.inblock div.styling::before {
            height: 55px;
            top: -55px;
            background: #231815; } }
        @media screen and (max-width: 750px) {
          div#beige div.content div.block01 div.inner div.inblock div.styling::before {
            height: 40px;
            top: -40px;
            background: #231815; } }
      @media screen and (max-width: 750px) {
        div#beige div.content div.block01 div.inner div.inblock div.styling div {
          width: 90%;
          margin: 0 auto 10px; } }
      @media screen and (min-width: 751px) {
        div#beige div.content div.block01 div.inner div.inblock div.styling div.styling-left {
          width: 47%;
          margin-top: 768px; } }
      @media screen and (max-width: 750px) {
        div#beige div.content div.block01 div.inner div.inblock div.styling div.styling-left {
          order: 2; } }
      @media screen and (min-width: 751px) {
        div#beige div.content div.block01 div.inner div.inblock div.styling div.styling-right {
          width: 53%; } }
      @media screen and (max-width: 750px) {
        div#beige div.content div.block01 div.inner div.inblock div.styling div.styling-right {
          order: 1; } }
    @media screen and (min-width: 751px) {
      div#beige div.content div.block01 div.inner div.inblock div.theme {
        text-align: center;
        width: 1113px;
        margin: 0 auto 165px; } }
    @media screen and (max-width: 750px) {
      div#beige div.content div.block01 div.inner div.inblock div.theme {
        margin-top: 60px; } }
    @media screen and (min-width: 751px) {
      div#beige div.content div.block01 div.inner div.inblock div.theme div {
        box-sizing: border-box; } }
    @media screen and (min-width: 751px) {
      div#beige div.content div.block01 div.inner div.inblock div.theme div.left {
        font-size: 25px;
        letter-spacing: 2px; } }
    @media screen and (max-width: 750px) {
      div#beige div.content div.block01 div.inner div.inblock div.theme div.left {
        font-size: 14px;
        text-align: center;
        margin-bottom: 40px; } }
    @media screen and (min-width: 751px) {
      div#beige div.content div.block01 div.inner div.inblock div.theme div.right {
        font-size: 16px;
        margin-top: 75px; } }
    @media screen and (max-width: 750px) {
      div#beige div.content div.block01 div.inner div.inblock div.theme div.right {
        font-size: 10px;
        text-align: center;
        margin-bottom: 100px; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block02 {
    padding-bottom: 120px;
    position: relative; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block02::after {
    content: "";
    display: block;
    width: 100%;
    height: 70%;
    background: #e4d6c2;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1; } }

div#beige div.content div.block02 p.num {
  position: relative;
  text-align: center;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block02 p.num {
      font-size: 25px;
      margin-bottom: 155px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block02 p.num {
      margin-bottom: 90px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block02 p.num::before {
      content: "";
      display: block;
      width: 1px;
      height: 95px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: -95px;
      background: #231815; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block02 p.num::after {
      content: "";
      display: block;
      width: 1px;
      height: 85px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -85px;
      background: #231815; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block02 div.inner {
    padding: 230px 0 235px;
    background: #f2ece9; } }

div#beige div.content div.block02 div.innerblock {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block02 div.innerblock {
      width: 1140px;
      margin: 0 auto; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block02 h4 {
    font-size: 74px;
    writing-mode: vertical-rl;
    position: absolute;
    top: -150px;
    right: 0;
    white-space: nowrap;
    line-height: 1.0;
    color: #e3dccf;
    z-index: 99; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block02 h4 {
    font-size: 40px;
    writing-mode: vertical-rl;
    position: absolute;
    top: 10px;
    left: 0;
    white-space: nowrap;
    line-height: 1.0;
    color: #e3dccf;
    z-index: 99; } }

div#beige div.content div.block02 div.styling {
  position: relative; }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block02 div.styling {
      width: 90%;
      margin: 0 auto; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block02 div.styling::before {
      content: "";
      display: block;
      width: 1px;
      height: 355px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: -355px;
      background: #231815; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block02 div.styling::after {
      content: "";
      display: block;
      width: 1px;
      height: 190px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -190px;
      background: #231815; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block02 div.styling {
      margin: 0 auto 300px;
      display: flex;
      align-items: center;
      justify-content: center; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block02 div.styling div.styling-left {
      width: 53%; } }
  div#beige div.content div.block02 div.styling div.styling-right {
    text-align: center; }
    @media screen and (min-width: 751px) {
      div#beige div.content div.block02 div.styling div.styling-right {
        width: 47%; } }
    @media screen and (max-width: 750px) {
      div#beige div.content div.block02 div.styling div.styling-right p {
        margin-top: 80px;
        font-size: 10px;
        margin-bottom: 50px; } }
    @media screen and (min-width: 751px) {
      div#beige div.content div.block02 div.styling div.styling-right p span {
        font-size: 25px;
        display: block;
        margin-bottom: 80px; } }
    @media screen and (max-width: 750px) {
      div#beige div.content div.block02 div.styling div.styling-right p span {
        font-size: 14px;
        display: block;
        margin-bottom: 34px; } }
    @media screen and (min-width: 751px) {
      div#beige div.content div.block02 div.styling div.styling-right p {
        font-size: 16px; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block03 {
    padding: 375px 0 175px;
    background: #dac7ac; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block03 {
    padding: 250px 0 0;
    background: #f2ece9;
    margin-bottom: 200px; } }

div#beige div.content div.block03 p.num {
  text-align: center;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block03 p.num {
      font-size: 25px;
      margin-bottom: 125px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block03 p.num {
      margin-bottom: 75px;
      position: relative; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block03 p.num::after {
      content: "";
      display: block;
      width: 1px;
      height: 85px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -85px;
      background: #231815; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block03 div.inner {
    width: 1142px;
    margin: 0 auto;
    background: #fff;
    padding: 80px 0 105px;
    position: relative; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block03 div.inner {
    position: relative; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block03 div.inner div.styling {
    width: 673px;
    margin: 0 auto 126px; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block03 div.inner div.styling {
    margin-bottom: 60px; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block03 div.inner div.styling::before {
    content: "";
    display: block;
    width: 1px;
    height: 197px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -197px;
    background: #231815; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block03 div.inner h4 {
    font-size: 74px;
    writing-mode: vertical-rl;
    position: absolute;
    top: 25px;
    left: -10px;
    white-space: nowrap;
    line-height: 1.0;
    color: #e3dccf;
    z-index: 99; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block03 div.inner h4 {
    font-size: 40px;
    writing-mode: vertical-rl;
    position: absolute;
    top: 25px;
    left: -10px;
    white-space: nowrap;
    line-height: 1.0;
    color: #fff;
    z-index: 99; } }

div#beige div.content div.block03 div.inner p.explain {
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block03 div.inner p.explain {
      font-size: 16px;
      margin-bottom: 100px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block03 div.inner p.explain {
      font-size: 10px;
      margin-bottom: 100px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block03 div.inner p.explain span {
      font-size: 25px;
      display: block;
      margin-bottom: 75px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block03 div.inner p.explain span {
      font-size: 14px;
      display: block;
      margin-bottom: 40px; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block03 div.inner div.styling02 {
    width: 830px;
    margin: 0 auto 185px; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block03 div.inner div.styling02 {
    margin: 0 auto 70px; } }

div#beige div.content div.block04 {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block04 {
      padding: 350px 0 120px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block04 {
      margin-bottom: 70px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block04 h4 {
      font-size: 74px;
      writing-mode: vertical-rl;
      position: absolute;
      top: 525px;
      right: 5%;
      white-space: nowrap;
      line-height: 1.0;
      color: #e3dccf;
      z-index: 99; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block04 h4 {
      font-size: 40px;
      writing-mode: vertical-rl;
      position: absolute;
      top: 110px;
      left: 0;
      white-space: nowrap;
      line-height: 1.0;
      color: #ffffff;
      z-index: 99; } }
  div#beige div.content div.block04 p.num {
    text-align: center;
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    font-style: normal; }
    @media screen and (min-width: 751px) {
      div#beige div.content div.block04 p.num {
        font-size: 25px;
        margin-bottom: 140px; } }
    @media screen and (max-width: 750px) {
      div#beige div.content div.block04 p.num {
        margin-bottom: 80px;
        position: relative; } }
    @media screen and (max-width: 750px) {
      div#beige div.content div.block04 p.num::after {
        content: "";
        display: block;
        width: 1px;
        height: 85px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: -85px;
        background: #231815;
        z-index: -1; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block04 div.styling01 {
      width: 676px;
      margin: 0 auto 110px;
      position: relative; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block04 div.styling01 {
      margin-bottom: 80px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block04 div.styling01::before {
      content: "";
      display: block;
      width: 1px;
      height: 140px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: -140px;
      background: #231815; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block04 div.styling01::after {
      content: "";
      display: block;
      width: 1px;
      height: 110px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -110px;
      background: #231815; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block04 div.styling02 {
      display: flex;
      width: 1113px;
      margin: 0 auto 100px;
      position: relative; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block04 div.styling02 {
      display: flex;
      margin-bottom: 80px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block04 div.styling02::after {
      content: "";
      display: block;
      width: 1px;
      height: 423px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -423px;
      background: #231815; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block04 div.theme {
      display: flex;
      width: 1113px;
      margin: 0 auto 165px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block04 div.theme div {
      width: 50%;
      box-sizing: border-box; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block04 div.theme div.left {
      font-size: 25px;
      padding-left: 72px;
      letter-spacing: 2px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block04 div.theme div.left {
      font-size: 14px;
      text-align: center;
      margin-bottom: 40px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block04 div.theme div.right {
      font-size: 16px;
      margin-top: 160px;
      padding-left: 60px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block04 div.theme div.right {
      font-size: 10px;
      text-align: center;
      margin-bottom: 100px; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block05 {
    margin-bottom: 150px; } }

div#beige div.content div.block05 p.num {
  position: relative;
  text-align: center;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block05 p.num {
      font-size: 25px;
      margin-bottom: 162px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block05 p.num {
      margin-bottom: 75px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block05 p.num::after {
      content: "";
      display: block;
      width: 1px;
      height: 85px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -85px;
      background: #231815;
      z-index: -1; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block05 p.num::after {
      content: "";
      display: block;
      width: 1px;
      height: 267px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -298px;
      background: #231815;
      z-index: 2; } }

div#beige div.content div.block05 div.inner01 {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block05 div.inner01 {
      padding-top: 135px;
      background: #ebe2dd; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block05 div.inner01 h4 {
      font-size: 74px;
      writing-mode: vertical-rl;
      position: absolute;
      top: 135px;
      left: 5%;
      white-space: nowrap;
      line-height: 1.0;
      color: #d7cdba;
      z-index: 99; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block05 div.inner01 h4 {
      font-size: 40px;
      writing-mode: vertical-rl;
      position: absolute;
      top: 0px;
      left: 0;
      white-space: nowrap;
      line-height: 1.0;
      color: #fff;
      z-index: 99; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block05 div.inner01 div.styling {
      width: 927px;
      margin-left: auto; } }

div#beige div.content div.block05 div.inner02 {
  background: url(../images/beige/block05_cover.jpg);
  background-size: cover;
  background-position: center center; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block05 div.inner02 {
      width: 100%;
      background: url(../images/beige/block05_cover.jpg);
      background-size: cover;
      background-position: center center;
      position: relative;
      padding-top: 165px;
      padding-bottom: 160px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block05 div.inner02 {
      padding: 110px 0 150px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block05 div.inner02::after {
      content: "";
      display: block;
      width: 1px;
      height: 500px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: 0px;
      background: #231815;
      z-index: 99; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block05 div.inner02 div.theme {
      display: flex;
      width: 1113px;
      margin: 0 auto 180px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block05 div.inner02 div.theme div {
      width: 50%;
      box-sizing: border-box; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block05 div.inner02 div.theme div.left {
      font-size: 25px;
      padding-left: 72px;
      letter-spacing: 2px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block05 div.inner02 div.theme div.left {
      font-size: 14px;
      text-align: center;
      margin-bottom: 40px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block05 div.inner02 div.theme div.right {
      font-size: 16px;
      margin-top: 160px;
      padding-left: 60px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block05 div.inner02 div.theme div.right {
      font-size: 10px;
      margin-bottom: 100px;
      text-align: center; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block06 {
    margin-top: 450px;
    margin-bottom: 160px; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block06 {
    margin-bottom: 100px; } }

div#beige div.content div.block06 p.num {
  text-align: center;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block06 p.num {
      font-size: 25px;
      margin-bottom: 190px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block06 p.num {
      margin-bottom: 80px;
      position: relative; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block06 p.num::after {
      content: "";
      display: block;
      width: 1px;
      height: 85px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -85px;
      background: #231815;
      z-index: -1; } }

div#beige div.content div.block06 div.styling {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block06 div.styling {
      margin-bottom: 180px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block06 div.styling {
      margin-bottom: 110px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block06 div.styling::before {
      content: "";
      display: block;
      width: 1px;
      height: 100px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: -100px;
      background: #231815; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block06 div.styling::after {
      content: "";
      display: block;
      width: 1px;
      height: 536px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -536px;
      background: #231815; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block06 div.styling h4 {
      font-size: 74px;
      writing-mode: vertical-rl;
      position: absolute;
      top: 25px;
      right: 5%;
      white-space: nowrap;
      line-height: 1.0;
      color: #e6e0d4;
      z-index: 99; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block06 div.styling h4 {
      font-size: 40px;
      writing-mode: vertical-rl;
      position: absolute;
      top: 0px;
      left: 0;
      white-space: nowrap;
      line-height: 1.0;
      color: #e6e0d4;
      z-index: 99; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block06 div.theme {
    display: flex;
    width: 1113px;
    margin: 0 auto 180px; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block06 div.theme div {
    width: 50%;
    box-sizing: border-box; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block06 div.theme div.left {
    font-size: 25px;
    padding-left: 72px;
    letter-spacing: 2px; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block06 div.theme div.left {
    font-size: 14px;
    text-align: center;
    margin-bottom: 45px; } }

@media screen and (min-width: 751px) {
  div#beige div.content div.block06 div.theme div.right {
    font-size: 16px;
    margin-top: 160px;
    padding-left: 60px; } }

@media screen and (max-width: 750px) {
  div#beige div.content div.block06 div.theme div.right {
    font-size: 10px;
    margin-bottom: 45px;
    text-align: center; } }

div#beige div.content div.block07 {
  position: relative; }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block07 {
      background: url(../images/beige/block07_cover.jpg);
      background-size: cover;
      background-position: center center;
      padding: 132px 0 50px;
      margin-bottom: 280px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block07 {
      background: #e4d9c6;
      padding-top: 70px;
      margin-bottom: 125px; } }
  div#beige div.content div.block07 p.num {
    text-align: center;
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    font-style: normal; }
    @media screen and (min-width: 751px) {
      div#beige div.content div.block07 p.num {
        font-size: 25px;
        margin-bottom: 190px; } }
    @media screen and (max-width: 750px) {
      div#beige div.content div.block07 p.num {
        margin-bottom: 70px;
        position: relative; } }
    @media screen and (max-width: 750px) {
      div#beige div.content div.block07 p.num::after {
        content: "";
        display: block;
        width: 1px;
        height: 85px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: -85px;
        background: #231815;
        z-index: 0; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block07 h4 {
      font-size: 74px;
      writing-mode: vertical-rl;
      position: absolute;
      top: 400px;
      left: 5%;
      white-space: nowrap;
      line-height: 1.0;
      color: #fff;
      z-index: 99; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block07 h4 {
      font-size: 40px;
      writing-mode: vertical-rl;
      position: absolute;
      top: 180px;
      left: 0;
      white-space: nowrap;
      line-height: 1.0;
      color: #fff;
      z-index: 99; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block07 div.styling {
      width: 653px;
      margin: 0 auto 130px;
      position: relative; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block07 div.styling {
      margin-bottom: 100px;
      position: relative;
      z-index: 1px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block07 div.styling::before {
      content: "";
      display: block;
      width: 1px;
      height: 160px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: -160px;
      background: #231815; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block07 div.styling::after {
      content: "";
      display: block;
      width: 1px;
      height: 480px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -480px;
      background: #231815; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block07 div.theme {
      display: flex;
      width: 1113px;
      margin: 0 auto 180px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block07 div.theme div {
      width: 50%;
      box-sizing: border-box; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block07 div.theme div.left {
      font-size: 25px;
      padding-left: 72px;
      letter-spacing: 2px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block07 div.theme div.left {
      font-size: 14px;
      text-align: center;
      margin-bottom: 45px; } }
  @media screen and (min-width: 751px) {
    div#beige div.content div.block07 div.theme div.right {
      font-size: 16px;
      margin-top: 160px;
      padding-left: 60px; } }
  @media screen and (max-width: 750px) {
    div#beige div.content div.block07 div.theme div.right {
      font-size: 10px;
      text-align: center;
      margin-bottom: 100px; } }

div.fixedmenu {
  position: fixed;
  z-index: 99; }
  @media screen and (min-width: 751px) {
    div.fixedmenu {
      top: 5%;
      left: 2%;
      font-size: 12px; } }
  @media screen and (max-width: 750px) {
    div.fixedmenu {
      top: 5%;
      left: 4%;
      font-size: 8px; } }
  div.fixedmenu span {
    display: block; }
    @media screen and (min-width: 751px) {
      div.fixedmenu span {
        width: 46px;
        height: 2px;
        background: #231815;
        margin-bottom: 3px; } }
    @media screen and (max-width: 750px) {
      div.fixedmenu span {
        width: 50px;
        height: 2px;
        background: #231815;
        margin-bottom: 3px; } }
    div.fixedmenu span:last-child {
      margin-bottom: 0; }

div.fixedshop {
  position: fixed;
  top: 30px;
  right: 5.3%; }
  div.fixedshop a {
    color: #000;
    text-decoration: none;
    letter-spacing: 1px; }

div.fixedinsta {
  position: fixed;
  z-index: 99; }
  @media screen and (min-width: 751px) {
    div.fixedinsta {
      top: 20px;
      right: 2%; } }
  @media screen and (max-width: 750px) {
    div.fixedinsta {
      top: 14px;
      right: 3.3%; } }
  div.fixedinsta a {
    text-decoration: none;
    color: #000;
    font-size: 25px; }

@media screen and (min-width: 751px) {
  div.archive {
    font-size: 24px;
    text-align: center; } }

@media screen and (max-width: 750px) {
  div.archive {
    margin-bottom: 80px; } }

div.archive h4 {
  letter-spacing: 2px; }
  @media screen and (min-width: 751px) {
    div.archive h4 {
      padding-bottom: 80px;
      position: relative; } }
  @media screen and (max-width: 750px) {
    div.archive h4 {
      font-size: 12px;
      text-align: center;
      margin-bottom: 60px;
      position: relative; } }
  @media screen and (min-width: 751px) {
    div.archive h4::after {
      content: "";
      display: block;
      width: 1px;
      height: 80px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 0px;
      background: #ccc;
      z-index: -1; } }
  @media screen and (max-width: 750px) {
    div.archive h4::after {
      content: "";
      display: block;
      width: 1px;
      height: 85px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -85px;
      background: #231815;
      z-index: -1; } }

@media screen and (min-width: 751px) {
  div.archive ul li {
    width: 100%;
    height: 300px; } }

@media screen and (max-width: 750px) {
  div.archive ul li {
    width: 100%;
    height: 170px; } }

div.archive ul li:nth-child(1) {
  background: #e6ddcd; }
  @media screen and (max-width: 750px) {
    div.archive ul li:nth-child(1) div.img {
      background: url(../images/beige/main_sp.jpg);
      background-size: cover;
      background-position: center center;
      height: 100%; } }
  @media screen and (min-width: 751px) {
    div.archive ul li:nth-child(1) div.img {
      background: url(../images/beige/main.jpg);
      background-size: cover;
      background-position: top center; } }

div.archive ul li:nth-child(2) {
  background: #c8d7e4; }
  @media screen and (max-width: 750px) {
    div.archive ul li:nth-child(2) div.img {
      background: url(../images/blue/main_sp.jpg);
      background-size: cover;
      background-position: center center;
      height: 100%; } }
  @media screen and (min-width: 751px) {
    div.archive ul li:nth-child(2) div.img {
      background: url(../images/blue/main.jpg);
      background-size: cover;
      background-position: top center; } }

div.archive ul li:nth-child(3) {
  background: #b9bcbd; }
  @media screen and (max-width: 750px) {
    div.archive ul li:nth-child(3) div.img {
      background: url(../images/black/main_sp.jpg);
      background-size: cover;
      background-position: center center;
      height: 100%; } }
  @media screen and (min-width: 751px) {
    div.archive ul li:nth-child(3) div.img {
      background: url(../images/black/main_pc.jpg);
      background-size: cover;
      background-position: center center; } }

div.archive ul li:nth-child(4) {
  background: #c2a79b; }
  @media screen and (max-width: 750px) {
    div.archive ul li:nth-child(4) div.img {
      background: url(../images/brown/main_sp.jpg);
      background-size: cover;
      background-position: center center;
      height: 100%; } }
  @media screen and (min-width: 751px) {
    div.archive ul li:nth-child(4) div.img {
      background: url(../images/brown/main_pc.jpg);
      background-size: cover;
      background-position: top center; } }

div.archive ul li a {
  display: block;
  height: 100%;
  text-decoration: none;
  color: #000;
  position: relative; }
  div.archive ul li a.coming {
    display: flex; }
    div.archive ul li a.coming div.img {
      width: 50%; }
    div.archive ul li a.coming div.link {
      width: 50%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center; }
      @media screen and (min-width: 751px) {
        div.archive ul li a.coming div.link p.number {
          left: 60%; } }
  @media screen and (min-width: 751px) {
    div.archive ul li a div.obi {
      height: 90px;
      width: 100%;
      background: rgba(255, 255, 255, 0.6);
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); } }
  div.archive ul li a div.obi div.obi_in {
    position: relative; }
    @media screen and (min-width: 751px) {
      div.archive ul li a div.obi div.obi_in div.color {
        position: absolute;
        left: 30%;
        padding-top: 17px; } }
    @media screen and (min-width: 751px) {
      div.archive ul li a div.obi div.obi_in div.color img {
        height: 60px;
        width: auto; } }
    @media screen and (min-width: 751px) {
      div.archive ul li a div.obi div.obi_in p.text {
        position: absolute;
        left: 50%;
        padding-top: 30px; } }
  @media screen and (max-width: 750px) {
    div.archive ul li a {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 170px; } }
  @media screen and (min-width: 751px) {
    div.archive ul li a div.link {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 300px;
      position: relative; } }
  @media screen and (min-width: 751px) {
    div.archive ul li a div.color {
      width: 290px; } }
  @media screen and (min-width: 751px) {
    div.archive ul li a div.color img {
      height: 77px;
      width: auto; } }
  @media screen and (max-width: 750px) {
    div.archive ul li a div.color img {
      height: 40px;
      width: auto; } }
  div.archive ul li a p.number {
    font-family: futura-pt, sans-serif; }
    @media screen and (max-width: 750px) {
      div.archive ul li a p.number {
        font-size: 10px;
        margin-bottom: 10px;
        text-align: center; } }
    @media screen and (min-width: 751px) {
      div.archive ul li a p.number {
        font-size: 3px;
        writing-mode: vertical-rl;
        position: absolute;
        top: 30px;
        left: 30%; } }
  @media screen and (min-width: 751px) {
    div.archive ul li a p.text {
      width: 410px;
      font-size: 18px; } }
  @media screen and (max-width: 750px) {
    div.archive ul li a p.text {
      text-align: center;
      margin-top: 15px; } }
  div.archive ul li a p.comingsoon {
    text-align: center; }
    @media screen and (max-width: 750px) {
      div.archive ul li a p.comingsoon {
        margin-top: 15px; } }

div#intro {
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#intro {
      margin-top: 190px;
      margin-bottom: 130px; } }
  @media screen and (max-width: 750px) {
    div#intro {
      padding: 20px 0;
      margin-bottom: 65px; } }
  @media screen and (min-width: 751px) {
    div#intro p:nth-child(1) {
      font-size: 14px;
      margin-bottom: 45px; } }
  @media screen and (max-width: 750px) {
    div#intro p:nth-child(1) {
      font-size: 10px;
      margin-bottom: 28px; } }
  @media screen and (min-width: 751px) {
    div#intro p:nth-child(2) {
      font-size: 15px;
      margin-bottom: 55px; } }
  @media screen and (max-width: 750px) {
    div#intro p:nth-child(2) {
      font-size: 12px;
      margin-bottom: 30px; } }
  div#intro p:nth-child(2) span {
    display: block; }
    @media screen and (min-width: 751px) {
      div#intro p:nth-child(2) span {
        font-size: 13px; } }
    @media screen and (max-width: 750px) {
      div#intro p:nth-child(2) span {
        font-size: 10px; } }
  @media screen and (min-width: 751px) {
    div#intro p:nth-child(3) {
      font-size: 15px; } }
  @media screen and (max-width: 750px) {
    div#intro p:nth-child(3) {
      font-size: 10px; } }
  div#intro p:nth-child(3) a {
    text-decoration: none;
    color: #000; }

div.staff {
  text-align: center; }
  @media screen and (min-width: 751px) {
    div.staff {
      margin-bottom: 340px; } }
  @media screen and (max-width: 750px) {
    div.staff {
      margin-bottom: 150px; } }

@media screen and (min-width: 751px) {
  div#footer a.logo {
    width: 160px;
    display: block;
    margin: 0 auto 55px; } }

@media screen and (max-width: 750px) {
  div#footer a.logo {
    width: 25%;
    display: block;
    margin: 0 auto 32px; } }

div#footer ul {
  margin: 0 auto;
  display: flex;
  justify-content: space-between; }
  @media screen and (min-width: 751px) {
    div#footer ul {
      width: 138px;
      margin-bottom: 30px; } }
  @media screen and (max-width: 750px) {
    div#footer ul {
      width: 25%;
      margin-bottom: 20px; } }
  div#footer ul li a {
    color: #000;
    text-decoration: none; }
    @media screen and (min-width: 751px) {
      div#footer ul li a {
        font-size: 18px; } }

div#footer p.copy {
  text-align: center; }
  @media screen and (min-width: 751px) {
    div#footer p.copy {
      font-size: 10px;
      margin-bottom: 30px; } }
  @media screen and (max-width: 750px) {
    div#footer p.copy {
      font-size: 10px;
      margin-bottom: 30px; } }

ul.credit {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-end; }
  @media screen and (min-width: 751px) {
    ul.credit {
      width: 650px;
      margin: 0 auto; } }
  @media screen and (max-width: 750px) {
    ul.credit {
      margin: 0 auto;
      width: 80%; } }
  ul.credit li {
    text-align: center; }
    @media screen and (min-width: 751px) {
      ul.credit li {
        width: 172px;
        font-size: 16px;
        margin-bottom: 80px; } }
    @media screen and (max-width: 750px) {
      ul.credit li {
        width: 30%;
        font-size: 10px;
        margin-bottom: 35px; } }
    ul.credit li a {
      color: #000;
      text-align: center;
      text-decoration: none; }
      ul.credit li a span.btn {
        width: 100%;
        border: 1px solid #000;
        display: block;
        margin-top: 5px; }
      @media screen and (min-width: 751px) {
        ul.credit li a span.small {
          font-size: 13px;
          display: inline-block;
          line-height: 1.2; } }

div#modal {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.8);
  overflow-y: hidden;
  transition: 1s;
  z-index: 9999;
  opacity: 0;
  transform: translateX(-100%);
  color: #000; }
  div#modal div.innermodal {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    text-align: center; }
  div#modal ul li a {
    text-decoration: none;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (min-width: 751px) {
      div#modal ul li a {
        width: 730px;
        margin: 0 auto 60px; } }
    @media screen and (max-width: 750px) {
      div#modal ul li a {
        flex-direction: column;
        margin-bottom: 25px; } }
    @media screen and (min-width: 751px) {
      div#modal ul li a div:first-child {
        width: 220px; } }
    div#modal ul li a div:first-child p {
      font-family: futura-pt, sans-serif; }
      @media screen and (min-width: 751px) {
        div#modal ul li a div:first-child p:first-child {
          font-size: 12px;
          margin-bottom: 12px;
          text-align: left; } }
      @media screen and (max-width: 750px) {
        div#modal ul li a div:first-child p:first-child {
          font-size: 10px;
          margin-bottom: 13px; } }
      @media screen and (min-width: 751px) {
        div#modal ul li a div:first-child p:last-child img {
          height: 70px;
          width: auto; } }
      @media screen and (max-width: 750px) {
        div#modal ul li a div:first-child p:last-child img {
          width: auto;
          height: 50px; } }
      @media screen and (max-width: 750px) {
        div#modal ul li a div:first-child p {
          margin-bottom: 25px; } }
    @media screen and (min-width: 751px) {
      div#modal ul li a div:last-child {
        width: 610px; } }
    @media screen and (min-width: 751px) {
      div#modal ul li a div:last-child p {
        font-size: 18px; } }
    @media screen and (max-width: 750px) {
      div#modal ul li a div:last-child p {
        font-size: 14px; } }
  div#modal a.pagetop {
    border: 1px solid #000;
    border-left: none;
    border-right: none;
    text-decoration: none;
    color: #000;
    display: block;
    width: 90%;
    margin: 0 auto; }
    @media screen and (min-width: 751px) {
      div#modal a.pagetop {
        font-size: 16px;
        width: 730px;
        margin: 0 auto; } }
    @media screen and (max-width: 750px) {
      div#modal a.pagetop {
        font-size: 10px; } }

.inviewimg-wrapL, .inviewimg-wrapR, .inviewimg-wrapB {
  opacity: 0; }

div.close {
  pointer-events: none; }

/* ANIMATION
--------------------------------------*/
@keyframes opacity {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes opacity {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.img-wrapL {
  animation: img-opacity 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  overflow: hidden;
  position: relative; }

.img-wrapL:before {
  animation: img-wrapL 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1; }

@keyframes img-opacity {
  100% {
    opacity: 1.0; } }

@keyframes img-wrapL {
  100% {
    transform: translateX(100%); } }

.img-wrapR {
  overflow: hidden;
  position: relative;
  animation: img-opacity 2s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

.img-wrapR:before {
  animation: img-wrapR 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1; }

@keyframes img-opacity {
  100% {
    opacity: 1.0; } }

@keyframes img-wrapR {
  100% {
    transform: translateX(-100%); } }

.img-wrapB {
  overflow: hidden;
  position: relative;
  animation: img-opacity 2s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

.img-wrapB:before {
  animation: img-wrapB 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1; }

@keyframes img-opacity {
  100% {
    opacity: 1.0; } }

@keyframes img-wrapB {
  100% {
    transform: translateY(100%); } }

/* scss読み込み
--------------------------------------*/
/*
 * jQuery FlexSlider v2.7.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 and later license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 *
 */
/* ====================================================================================================================
 * FONT-FACE
 * ====================================================================================================================*/
@font-face {
  font-family: 'flexslider-icon';
  src: url("fonts/flexslider-icon.eot");
  src: url("fonts/flexslider-icon.eot?#iefix") format("embedded-opentype"), url("fonts/flexslider-icon.woff") format("woff"), url("fonts/flexslider-icon.ttf") format("truetype"), url("fonts/flexslider-icon.svg#flexslider-icon") format("svg");
  font-weight: normal;
  font-style: normal; }

/* ====================================================================================================================
 * RESETS
 * ====================================================================================================================*/
.flex-container a:hover,
.flex-slider a:hover {
  outline: none; }

.slides,
.slides > li,
.flex-control-nav,
.flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none; }

.flex-pauseplay span {
  text-transform: capitalize; }

/* ====================================================================================================================
 * BASE STYLES
 * ====================================================================================================================*/
.flexslider {
  margin: 0;
  padding: 0; }

.flexslider .slides > li {
  display: none;
  -webkit-backface-visibility: hidden; }

.flexslider .slides img {
  width: 100%;
  display: block; }

.flexslider .slides:after {
  content: "\0020";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

html[xmlns] .flexslider .slides {
  display: block; }

* html .flexslider .slides {
  height: 1%; }

.no-js .flexslider .slides > li:first-child {
  display: block; }

/* ====================================================================================================================
 * DEFAULT THEME
 * ====================================================================================================================*/
.flexslider {
  margin: 0 0 0px;
  background: #fff;
  position: relative;
  zoom: 1;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2);
  -o-box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2); }

.flexslider .slides {
  zoom: 1; }

.flexslider .slides img {
  height: auto;
  -moz-user-select: none; }

.flex-viewport {
  max-height: 2000px;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease; }

.loading .flex-viewport {
  max-height: 300px; }

.carousel li {
  margin-right: 5px; }

.flex-direction-nav {
  *height: 0; }

.flex-direction-nav a {
  text-decoration: none;
  display: block;
  width: 40px;
  height: 40px;
  margin: -20px 0 0;
  position: absolute;
  top: 50%;
  z-index: 10;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

.flex-direction-nav a:before {
  font-family: "flexslider-icon";
  font-size: 40px;
  display: inline-block;
  content: '\f001';
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3); }

.flex-direction-nav a.flex-next:before {
  content: '\f002'; }

.flex-direction-nav .flex-prev {
  left: -50px; }

.flex-direction-nav .flex-next {
  right: -50px;
  text-align: right; }

.flexslider:hover .flex-direction-nav .flex-prev {
  opacity: 0.7;
  left: 10px; }

.flexslider:hover .flex-direction-nav .flex-prev:hover {
  opacity: 1; }

.flexslider:hover .flex-direction-nav .flex-next {
  opacity: 0.7;
  right: 10px; }

.flexslider:hover .flex-direction-nav .flex-next:hover {
  opacity: 1; }

.flex-direction-nav .flex-disabled {
  opacity: 0 !important;
  filter: alpha(opacity=0);
  cursor: default;
  z-index: -1; }

.flex-pauseplay a {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 5px;
  left: 10px;
  opacity: 0.8;
  z-index: 10;
  overflow: hidden;
  cursor: pointer;
  color: #000; }

.flex-pauseplay a:before {
  font-family: "flexslider-icon";
  font-size: 20px;
  display: inline-block;
  content: '\f004'; }

.flex-pauseplay a:hover {
  opacity: 1; }

.flex-pauseplay a.flex-play:before {
  content: '\f003'; }

.flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -40px;
  text-align: center; }

.flex-control-nav li {
  margin: 0 6px;
  display: inline-block;
  zoom: 1;
  *display: inline; }

.flex-control-paging li a {
  width: 11px;
  height: 11px;
  display: block;
  background: #666;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  text-indent: -9999px;
  -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px; }

.flex-control-paging li a:hover {
  background: #333;
  background: rgba(0, 0, 0, 0.7); }

.flex-control-paging li a.flex-active {
  background: #000;
  background: rgba(0, 0, 0, 0.9);
  cursor: default; }

.flex-control-thumbs {
  margin: 5px 0 0;
  position: static;
  overflow: hidden; }

.flex-control-thumbs li {
  width: 25%;
  float: left;
  margin: 0; }

.flex-control-thumbs img {
  width: 100%;
  height: auto;
  display: block;
  opacity: .7;
  cursor: pointer;
  -moz-user-select: none;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease; }

.flex-control-thumbs img:hover {
  opacity: 1; }

.flex-control-thumbs .flex-active {
  opacity: 1;
  cursor: default; }

/* ====================================================================================================================
 * RESPONSIVE
 * ====================================================================================================================*/
@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev {
    opacity: 1;
    left: 10px; }
  .flex-direction-nav .flex-next {
    opacity: 1;
    right: 10px; } }

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.6.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */
.animated {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated.delay-05s {
  -webkit-animation-delay: .5s;
  animation-delay: .51s; }

.animated.delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s; }

.animated.delay-15s {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s; }

.animated.delay-2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s; }

.animated.delay-3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s; }

.animated.delay-4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s; }

.animated.delay-5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s; }

@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

@keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.shake {
  -webkit-animation-name: shake;
  animation-name: shake; }

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.bounceIn {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.bounceOut {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

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

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

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

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

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

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

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

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

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

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

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

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

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

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

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

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

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

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

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

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

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

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

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

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

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

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

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-name: hinge;
  animation-name: hinge; }

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

.jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp; }

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiY29tcGFzcy9fY29tcGFzcy5zY3NzIiwiY29tcGFzcy9jb21wYXNzL19mdW5jdGlvbnMuc2NzcyIsImNvbXBhc3MvY29tcGFzcy9mdW5jdGlvbnMvX2xpc3RzLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvZnVuY3Rpb25zL19jcm9zc19icm93c2VyX3N1cHBvcnQuc2NzcyIsImNvbXBhc3MvY29tcGFzcy9mdW5jdGlvbnMvX2dyYWRpZW50X3N1cHBvcnQuc2NzcyIsImNvbXBhc3MvY29tcGFzcy9mdW5jdGlvbnMvX2NvbnN0YW50cy5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2Z1bmN0aW9ucy9fZGlzcGxheS5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2Z1bmN0aW9ucy9fY29sb3JzLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvX3V0aWxpdGllcy5zY3NzIiwiY29tcGFzcy9jb21wYXNzL3V0aWxpdGllcy9fY29sb3Iuc2NzcyIsImNvbXBhc3MvY29tcGFzcy91dGlsaXRpZXMvY29sb3IvX2NvbnRyYXN0LnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdXRpbGl0aWVzL19nZW5lcmFsLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX3Jlc2V0LnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvcmVzZXQvX3V0aWxpdGllcy5zY3NzIiwiY29tcGFzcy9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19jbGVhcmZpeC5zY3NzIiwiY29tcGFzcy9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19oYWNrcy5zY3NzIiwiY29tcGFzcy9jb21wYXNzL19zdXBwb3J0LnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX2Zsb2F0LnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX3RhZy1jbG91ZC5zY3NzIiwiY29tcGFzcy9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19taW4uc2NzcyIsImNvbXBhc3MvY29tcGFzcy91dGlsaXRpZXMvX3Nwcml0ZXMuc2NzcyIsImNvbXBhc3MvY29tcGFzcy91dGlsaXRpZXMvc3ByaXRlcy9fYmFzZS5zY3NzIiwiY29tcGFzcy9jb21wYXNzL3V0aWxpdGllcy9zcHJpdGVzL19zcHJpdGUtaW1nLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdXRpbGl0aWVzL190YWJsZXMuc2NzcyIsImNvbXBhc3MvY29tcGFzcy91dGlsaXRpZXMvdGFibGVzL19hbHRlcm5hdGluZy1yb3dzLWFuZC1jb2x1bW5zLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdXRpbGl0aWVzL3RhYmxlcy9fYm9yZGVycy5zY3NzIiwiY29tcGFzcy9jb21wYXNzL3V0aWxpdGllcy90YWJsZXMvX3NjYWZmb2xkaW5nLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdHlwb2dyYXBoeS9fbGlua3Muc2NzcyIsImNvbXBhc3MvY29tcGFzcy90eXBvZ3JhcGh5L2xpbmtzL19ob3Zlci1saW5rLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdHlwb2dyYXBoeS9saW5rcy9fbGluay1jb2xvcnMuc2NzcyIsImNvbXBhc3MvY29tcGFzcy90eXBvZ3JhcGh5L2xpbmtzL191bnN0eWxlZC1saW5rLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdHlwb2dyYXBoeS9fbGlzdHMuc2NzcyIsImNvbXBhc3MvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19ob3Jpem9udGFsLWxpc3Quc2NzcyIsImNvbXBhc3MvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19idWxsZXRzLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdHlwb2dyYXBoeS9saXN0cy9faW5saW5lLWxpc3Quc2NzcyIsImNvbXBhc3MvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19pbmxpbmUtYmxvY2stbGlzdC5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2NzczMvX2lubGluZS1ibG9jay5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2NzczMvX3NoYXJlZC5zY3NzIiwiY29tcGFzcy9jb21wYXNzL3R5cG9ncmFwaHkvX3RleHQuc2NzcyIsImNvbXBhc3MvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX2VsbGlwc2lzLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdHlwb2dyYXBoeS90ZXh0L19ub3dyYXAuc2NzcyIsImNvbXBhc3MvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX3JlcGxhY2VtZW50LnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvdHlwb2dyYXBoeS90ZXh0L19mb3JjZS13cmFwLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvX3R5cG9ncmFwaHkuc2NzcyIsImNvbXBhc3MvY29tcGFzcy90eXBvZ3JhcGh5L192ZXJ0aWNhbF9yaHl0aG0uc2NzcyIsImNvbXBhc3MvY29tcGFzcy9sYXlvdXQvX2dyaWQtYmFja2dyb3VuZC5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2NzczMvX2ltYWdlcy5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtc2l6ZS5zY3NzIiwiY29tcGFzcy9jb21wYXNzL19jc3MzLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2NzczMvX29wYWNpdHkuc2NzcyIsImNvbXBhc3MvY29tcGFzcy9jc3MzL19ib3gtc2hhZG93LnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvY3NzMy9fdGV4dC1zaGFkb3cuc2NzcyIsImNvbXBhc3MvY29tcGFzcy9jc3MzL19jb2x1bW5zLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvY3NzMy9fYm94LXNpemluZy5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2NzczMvX2JveC5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtY2xpcC5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtb3JpZ2luLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsImNvbXBhc3MvY29tcGFzcy9jc3MzL19yZWdpb25zLnNjc3MiLCJjb21wYXNzL2NvbXBhc3MvY3NzMy9faHlwaGVuYXRpb24uc2NzcyIsImNvbXBhc3MvY29tcGFzcy9jc3MzL19maWx0ZXIuc2NzcyIsImNvbXBhc3MvY29tcGFzcy9jc3MzL19waWUuc2NzcyIsImNvbXBhc3MvY29tcGFzcy9jc3MzL191c2VyLWludGVyZmFjZS5zY3NzIiwiY29tcGFzcy9jb21wYXNzL2NzczMvX2ZsZXhib3guc2NzcyIsIl9taXhpbi5zY3NzIiwiZmxleHNsaWRlci5zY3NzIiwiX2FuaW1hdGUuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcInV0Zi04XCI7XG5AaW1wb3J0IFwiY29tcGFzcy9jb21wYXNzXCI7XG5AaW1wb3J0IFwibWl4aW5cIjtcblxuXG4vKuODquOCu+ODg+ODiFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGluY2x1ZGUgZ2xvYmFsLXJlc2V0O1xuXG4vKuODleOCqeODs+ODiFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gQGluY2x1ZGUgZm9udC1mYWNlKCdub3RvLXNhbnMnLCcuLi9mb250cy9Ob3RvU2Fuc0NKS2pwLURlbWlMaWdodCcsMzUwKTtcbi8vIEBpbmNsdWRlIGZvbnQtZmFjZSgnbm90by1zYW5zJywnLi4vZm9udHMvTm90b1NhbnNDSktqcC1Cb2xkJyw3MDApO1xuXG4vKuODoeODh+OCo+OCouOCr+OCqOODquODvFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiRicmVha3BvaW50czogKFxuICAneHMnOiAnc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCknLFxuICAnc3AnOiAnc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCknLFxuICAncGMnOiAnc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTFweCknLFxuICAneGwnOiAnc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpJyxcbikgIWRlZmF1bHQ7XG5cbi8q5aSJ5pWwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuJHBjRm9udFhzOiAxMHB4O1xuJHBjRm9udFM6IDEycHg7XG4kcGNGb250TTogMTRweDtcbiRwY0ZvbnRMOiAyMnB4O1xuJHBjU3BhY2UxOiAxOXB4O1xuJHBjU3BhY2UyOiAzOHB4O1xuJHBjU3BhY2UzOiA1N3B4O1xuJHJlZDogI2Q0NTY1NztcbiRzcEZvbnRTOiAxMHB4O1xuJHNwRm9udE06IDE0cHg7XG4kc3BGb250TDogMTZweDtcblxuXG4vKiDjgrPjg7Pjg4bjg7Pjg4Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5odG1se1xuICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIixcIuODkuODqeOCruODjuaYjuacnSBQcm9OIFczXCIsIFwiSGlyYU1pblByb04tVzNcIiwgXCJIR+aYjuacnUVcIiwgXCLvvK3vvLMg77yw5piO5pydXCIsIFwiTVMgUE1pbmNob1wiLCBcIk1TIOaYjuacnVwiLCBzZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbmJvZHl7XG4gIGZvbnQtZmFtaWx5OiBcIlRpbWVzIE5ldyBSb21hblwiLFwi44OS44Op44Ku44OO5piO5pydIFByb04gVzNcIiwgXCJIaXJhTWluUHJvTi1XM1wiLCBcIkhH5piO5pydRVwiLCBcIu+8re+8syDvvLDmmI7mnJ1cIiwgXCJNUyBQTWluY2hvXCIsIFwiTVMg5piO5pydXCIsIHNlcmlmO1xuICBsaW5lLWhlaWdodDogMS44O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICMyMzE4MTU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgQGluY2x1ZGUgbXEocGMpe1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuICBAaW5jbHVkZSBtcShzcCl7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5cbmltZ3tcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucGNOb25le1xuICBAaW5jbHVkZSBtcShwYyl7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIEBpbmNsdWRlIG1xKHNwKXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLnNwTm9uZXtcbiAgQGluY2x1ZGUgbXEocGMpe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBpbmNsdWRlIG1xKHNwKXtcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgfVxufVxuLyogQ09OVEVOVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuZGl2I2luZGV4e1xuICBcbiAgZGl2I21haW5BcmVhe1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXZoLCAxdmgpICogMTAwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogYmx1ZTtcbiAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NvdmVyLmpwZykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY292ZXJfc3AuanBnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICB9XG5cbiAgICBkaXYuZGVzY3JpcHRpb257XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgd2lkdGg6IGNhbGMoNjAzIC8gMTM1NiAqIDEwMCUpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNTU3IC8gOTEwICogMTAwJSk7XG4gICAgICAgIHRvcDogY2FsYyg1OSAvIDkxMCAqIDEwMCUpO1xuICAgICAgICBsZWZ0OiBjYWxjKDU5IC8xMzU2ICogMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICB0b3A6IDUwJTtcbiAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICAgIGgxe1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcHtcbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgfVxuICBkaXYucGlja3Vwe1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgIGhlaWdodDogNTgwcHg7XG4gICAgfVxuICAgIGRpdntcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgd2lkdGg6IDY0MHB4O1xuICAgICAgICBcbiAgICAgIH1cbiAgICAgIGRpdi5kZXNjcmlwdGlvbntcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDYwcHggMDtcbiAgICAgICAgXG4gICAgICAgIHB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcHtcbiAgICAgICAgJi5jb2xvcnN7XG4gICAgICAgICAgd2lkdGg6IDIxOHB4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDI0cHg7XG4gICAgICAgICAgXG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgd2lkdGg6IDQzJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5udW1iZXJ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIGgye1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGF7XG4gICAgICAgIGRpc3BsYXk6ICBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiA0NyU7XG4gICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBkaXYuZXRjY29sb3J7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgIG1hcmdpbjogMTQwcHggMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgbWFyZ2luOiA3MHB4IDA7XG4gICAgfVxuICAgICY6OmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgIFxuICAgICAgICB0b3A6IC0xNDBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICB0b3A6IC03MHB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICB9XG4gICAgfVxuICAgICY6OmFmdGVye1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgXG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgIFxuICAgICAgICBib3R0b206IC0xNDBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgIGJvdHRvbTogLTcwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgdWx7XG4gICAgICBsaXtcbiAgICAgICAgXG4gICAgICAgIGF7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZGl2LmRlZXB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGl2e1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcC5udW1iZXJ7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICAgICAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgZGl2LnNoYXJyb3d7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogODdweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjYpO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgZGl2e1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ5MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNDJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgcC5jb2xvcntcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBwLmNze1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmI2JsdWV7XG4gICAgICAgICAgYXtcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYzhkN2U0O1xuICAgICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmI2JsYWNre1xuICAgICAgICAgIGF7XG4gICAgICAgICAgICAgYmFja2dyb3VuZDogI2I5YmNiZDtcbiAgICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiNicm93bntcbiAgICAgICAgICBhe1xuICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNjMmE3OWI7XG4gICAgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG4gIGRpdiNpbnRyb3tcbiAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICBwYWRkaW5nOiAzNXB4IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjVweDtcbiAgICB9XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHB7XG4gICAgICAmOm50aC1jaGlsZCgxKXtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMil7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbntcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMyl7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBhe1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBkaXYjZm9vdGVye1xuICAgIGEubG9nb3tcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTVweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMycHg7O1xuICAgICAgfVxuICAgIH1cbiAgICB1bHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgd2lkdGg6IDEzOHB4O1xuICAgICAgICBcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgICAgbGl7XG4gICAgICAgIGF7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcC5jb3B5e1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgIG1xKHNwKXtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLypCTEFDSyovXG5kaXYjYmxhY2t7XG4gIGRpdi5oZWFkZXJ7XG4gICAgXG4gICAgaDF7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgcGFkZGluZzogMXB4IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB3aWR0aDogNDgwcHg7XG4gICAgICAgIG1hcmdpbjogNjBweCBhdXRvIDY1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbjogNzBweCBhdXRvIDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmNvdmVye1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogY2FsYyg0ODcgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygyOTAgLyA0ODcgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoMjE0IC8gMzIwICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgIH1cbiAgICAgIGRpdi5jb2xvcmJveHtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEyMCAvIDQ4NyAqIDEwMCUpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IGNhbGMoMTQ4IC8gMjkwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDc3IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDg3IC8gMjE0ICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogY2FsYygxNiAvIDMyMCAqIDEwMCUpO1xuICAgIFxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgaDJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgdG9wOiBjYWxjKDIwIC8gNTU1ICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMTIlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgdG9wOiBjYWxjKDEyIC8gMjE0ICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMTIlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgcC5udW1iZXJ7XG4gICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBmb250LWZhbWlseTpmdXR1cmEtcHQsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgbGVmdDogNC42JTtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgZGl2Lm1haW5pbWd7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYyg0MzMgLyA0ODcgKiAxMDAlKTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiA4Mi44JTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmV4cGxhaW57XG4gICAgICBiYWNrZ3JvdW5kOiAjZThlM2UxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogY2FsYyg0MzMgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgaGVpZ2h0OiA1MjJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDE0MHB4IGF1dG87XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIHRvcDogLTI1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICBcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBoZWlnaHQ6IDEyNHB4O1xuICAgICAgICAgIGJvdHRvbTogLTEyNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICBib3R0b206IC04MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHB7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgZGl2LmNvbnRlbnR7XG4gICAgaDN7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzU5NTc1NztcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgXG4gICAgICB9XG4gICAgIFxuICAgIH1cbiAgICBkaXYuYmxvY2t7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2ODBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgcGFkZGluZy10b3A6IDM4OHB4O1xuICAgICAgfVxuICAgICAgJjo6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICBcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgIGhlaWdodDogNTUwcHg7XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5kZXRhaWxfaW57XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICBoNXtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgIHdpZHRoOiA0NDZweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgICAgd2lkdGg6IDI2MHB4O1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHB7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgd2lkdGg6IDQ0NnB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5ibG9jazAxe1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICBcbiAgICAgIFxuICAgICAgXG4gICAgICBkaXYuaW5ibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoNTExIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAgY2FsYyg1MjAgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbWcxe1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYyg0MjQgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdG9wOiBjYWxjKDg5IC8gNTIwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmRldGFpbHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDQzNCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMzYgLyA1MTEgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoMjU0IC8gNTExICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjc3IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDIxNyAvIDUyMCAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygzMDIgLyA1MjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIHAubnVtYmVye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDcgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNDM3IC8gNTExICogMTAwJSk7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoMTA3IC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDgzIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMjIvIDMyMCAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2LmJsb2NrMDJ7XG4gICAgICBcbiAgICAgIFxuICAgICAgXG4gICAgICBkaXYuaW5ibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoNzUwIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDU3OCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzF7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDI0NCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygxMjggLyA3NTAgKiAxMDAlKTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDc0IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTY4IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDEyNyAvIDU3OCAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDI0NCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogY2FsYyg3MSAvIDYxMiAqIDEwMCUpOyAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDE2OCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmRldGFpbHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDQzNCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMzYgLyA3NTAgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNDc4IC8gNzUwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjkwLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMjQ5IC8gNTc4ICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDMyOCAvIDU3OCAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgZGl2LmRldGFpbF9pbntcbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIHAubnVtYmVye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYyg5OCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICByaWdodDogY2FsYygxMzYgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNzYgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogY2FsYygyNiAvIDMyMCAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2LmJsb2NrMDN7XG4gICAgICBcbiAgICAgIFxuICAgICAgXG4gICAgICBcbiAgICAgIGRpdi5pbmJsb2Nre1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg4OTAgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoOTk1IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW1nMXtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNDUzIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbWcye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygyMjEgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoMzI1IC8gODkwICogMTAwJSk7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoMTAyIC8gNjEyICogMTAwJSk7ICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjY2IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoMzg4IC8gOTk1ICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5kZXRhaWx7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGUzZTE7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygzNzAgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMjU3IC8gODkwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDU3MiAvIDg5MCAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjczIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDI0OSAvIDk5NSAqIDEwMCUpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGRpdi5kZXRhaWxfaW57XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcC5udW1iZXJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDIyMyAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICByaWdodDogY2FsYygxMDIgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTc0IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDI1NyAvIDk5NSAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMjQgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5ibG9jazA0e1xuICAgICAgXG4gICAgICBcbiAgICAgIFxuICAgICAgZGl2LmluYmxvY2t7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDExNTQgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoMTAxMCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzF7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDM1NCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW1nMntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNDQ5IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygyNTAgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICB9XG4gICAgICBkaXYuZGV0YWlse1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZThlM2UxO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNDM0IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDIzNiAvIDExNTQgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNTA0IC8gMTE1NCAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDI2NCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMDEgLyAxMDEwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDU4NSAvIDEwMTAgKiAxMDAlKTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwLm51bWJlcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTI3IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDY3NCAvIDExNTQgKiAxMDAlKTtcbiAgICAgICAgICByaWdodDogY2FsYygxMzYgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDUyNCAvIDEwMTAgKiAxMDAlKTtcbiAgICAgICAgICByaWdodDogY2FsYygyNiAvIDMyMCAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIGRpdi5ibG9jazA1e1xuICAgICAgXG4gICAgIFxuICAgICAgXG4gICAgICBkaXYuaW5ibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoNjA2IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDE0OTIgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbWcxe1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygxODggLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogY2FsYyg0NiAvIDYxMiAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygyMTcgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNTEzIC8gMTQ5MiAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMjkgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDE4OCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygyNiAvIDYwNiAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMjI1IC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDIxNyAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYyg4MTIgLyAxNDkyICogMTAwJSk7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoMTIgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzN7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDE4OCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDM3NiAvIDYxMiAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmRldGFpbHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDM3MCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMTEgLyA2MDYgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoMzk0IC8gNjA2ICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZThlM2UxO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygyNTggLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMjAxIC8gMTQ5NSAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygxMjkxIC8gMTQ5NSAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcHtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogNDQ2cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwLm51bWJlcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjM1IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDM0NCAvIDYwNiAqIDEwMCUpO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDcyIC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDE4NCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygxMTc2IC8gMTQ5MiAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMzMgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIFxuXG4gICAgZGl2LmJsb2NrMDZ7XG4gICAgICBcbiAgICAgIFxuICAgICAgXG4gICAgICBkaXYuaW5ibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoOTM4IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDg4NSAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzF7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDIwOCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygxMTAgLyA5MzggKiAxMDAlKTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDk0IC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOjUwJTtcbiAgICAgICAgICB0b3A6IGNhbGMoNzEgLyA4ODUgKiAxMDAlKTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW1nMntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjA4IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDk0IC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW1nM3tcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMzUzIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuZGV0YWlse1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMzM1IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDIzNiAvIDkzOCAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygzOTYgLyA5MzggKiAxMDAlKTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlOGUzZTE7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDI1OCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMzggLyA4ODUgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNDA3IC8gODg1ICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZThlM2UxO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgcC5udW1iZXJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEyNCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygzOTYgLyA5MzggKiAxMDAlKTtcbiAgICAgICAgICByaWdodDogY2FsYygxMjEgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoOTcgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoMzU2IC8gODg1ICogMTAwJSk7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoNjQgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5ibG9jazA3e1xuICAgICAgXG4gICAgICBcbiAgICAgIFxuICAgICAgZGl2LmluYmxvY2t7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDc3MCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg4NDggLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbWcxe1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygzMTQgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMCU7XG4gICAgICAgIH0gICBcbiAgICAgIH1cbiAgICAgIFxuICAgICAgZGl2LmRldGFpbHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDQzNCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMzYgLyA3NzAgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNDQzIC8gNzcwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZThlM2UxO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygyODcgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMjQyIC8gODQ4ICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDUzNSAvIDg0OCAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcHtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogNDQ2cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwLm51bWJlcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjIzIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDgwIC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDE3NSAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICByaWdodDogY2FsYygxMiAvIDMyMCAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG4gIFxuICBcbiAgZGl2LmltZzEsZGl2LmltZzIsZGl2LmltZzN7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBpbWd7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAvLyB0cmFuc2l0aW9uOiAxcztcbiAgICAgIFxuICAgIH1cbiAgfVxufVxuLnpvb21PdXRJbWd7XG4gIGFuaW1hdGlvbjogem9vbU91dEltZyAxcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSBmb3J3YXJkcztcbn1cbkBrZXlmcmFtZXMgIHpvb21PdXRJbWd7XG4gIGZyb217XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG4gIDEwMCV7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xuICB9XG59XG4vKkJST1dOKi9cbmRpdiNicm93bntcbiAgXG4gIGRpdi5oZWFkZXJ7XG4gICAgXG4gICAgaDF7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgcGFkZGluZzogMXB4IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB3aWR0aDogNDgwcHg7XG4gICAgICAgIG1hcmdpbjogNjBweCBhdXRvIDY1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbjogNzBweCBhdXRvIDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmNvdmVye1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogY2FsYyg0ODcgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygyOTAgLyA1MjEgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoMjMyIC8gMzIwICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgIH1cbiAgICAgIGRpdi5jb2xvcmJveHtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEyMCAvIDQ4NyAqIDEwMCUpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IGNhbGMoMjEgLyAyOTAgKiAxMDAlKTtcbiAgICAgICAgICByaWdodDogY2FsYyg3NiAvIDUyMSAqIDEwMCUpO1xuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNzcgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICBib3R0b206IGNhbGMoNTMgLyAyMzIgKiAxMDAlKTtcbiAgICAgICAgICByaWdodDogY2FsYyg0NSAvIDMyMCAqIDEwMCUpO1xuICAgIFxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgaDJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgdG9wOiBjYWxjKDcwIC8gMjkwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDE1IC8gMzIwICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICB9XG4gICAgICBwLm51bWJlcntcbiAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OmZ1dHVyYS1wdCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDIwIC8gNTIxICogMTAwJSk7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBsZWZ0OiA0LjYlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICB9XG4gICAgICBkaXYubWFpbmltZ3tcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDQzNCAvIDUyMSAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IDgyLjglO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIHRvcDogY2FsYygxOCAvIDIzMiAqIDEwMCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmV4cGxhaW57XG4gICAgICBiYWNrZ3JvdW5kOiAjY2NiZGIzO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogY2FsYyg0MzMgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgaGVpZ2h0OiA1MjJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDE0MHB4IGF1dG87XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIHRvcDogLTI1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICBcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBoZWlnaHQ6IDEyNHB4O1xuICAgICAgICAgIGJvdHRvbTogLTEyNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICBib3R0b206IC04MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHB7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgZGl2LmNvbnRlbnR7XG4gICAgaDN7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzU5NTc1NztcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDAwcHg7XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNTBweDtcbiAgICAgIH1cbiAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICBoZWlnaHQ6IDMzNnB4O1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgIGJvdHRvbTogY2FsYyg0MDBweCAtIDMzNnB4KTtcbiAgICAgICB9XG4gICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgXG4gICAgICB9XG4gICAgIH1cbiAgICB9XG4gICAgXG4gICAgZGl2LmJsb2NrMDF7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgfVxuICAgICAgcC5udW17XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIFxuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGhlaWdodDogNDg4cHg7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDU2cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgICAgICAgICAgdG9wIDoxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICBkaXYuaW5ibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9icm93bi9iYWNrMDEuanBnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogODBweCAwIDkycHg7IFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBkaXYuaW5ibG9ja2lue1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NiZGIzO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUyMCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDM0NHB4IDAgMTcwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNjY2JkYjM7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMDVweCAwIDY1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW1nMXtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZ0FyZWF7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDMxMCAvIDUyMSAqIDEwMCUpO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDE2MHB4O1xuICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgZGl2LmNhcHtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxNCAvIDMxMCAqIDEwMCUpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGl2LmltZzJ7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjM1IC8gMzEwICogMTAwJSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjUwIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byA3M3B4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoNHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwLmV4cGxhaW57XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBkaXYuYmxvY2swMntcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjM1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgfVxuICAgICAgcC5udW17XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICAgICAgfVxuICAgICAgIFxuICAgICAgfVxuICAgICAgZGl2LmluYmxvY2t7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Jyb3duL2JhY2swMi5qcGcpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAyMjhweCAwIDE4MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Jyb3duL2JhY2swMi5qcGcpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDQ4cHggMCA1OXB4OyBcbiAgICAgICAgfVxuICAgICAgICBkaXYuaW5ibG9ja2lue1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMCU7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDMyOHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA5NCU7XG4gICAgICAgICAgICAgIHRvcDogLTEwM3B4O1xuICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYuaW1nQXJlYXtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MjIgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEyNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBkaXYuY2Fwe1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygxNCAvIDUyMiAqIDEwMCUpO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgbGVmdDogY2FsYyg5IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgdWx7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQzNyAvIDUyMiAqIDEwMCUpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDY4cHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHhcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjcwIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTJweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSl7XG4gICAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMil7XG4gICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMyl7XG4gICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGl2LmRldGFpbHtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQzNyAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTI1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBoNHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwe1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2MHB4O1xuICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICBcbiAgICB9XG5cbiAgICBkaXYuYmxvY2swM3tcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTAwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgfVxuICAgICAgZGl2Lm51bXtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDE4MHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbmJsb2Nre1xuICAgICAgICBiYWNrZ3JvdW5kOiAjY2NiZGIzO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTIxIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgXG4gICAgICAgICAgcGFkZGluZzogMTkwcHggMCAxNzBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgcGFkZGluZzogNjBweCAwO1xuICAgICAgICB9XG4gICAgICAgIGRpdi5pbWdBcmVhe1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMTAgLyA1MjEgKiAxMDAlKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDExNHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBkaXYuY2Fwe1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTggLyAzMTAgKiAxMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IGNhbGMoNSAvIDMyMCAqIDEwMCUpOztcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTQgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgZGl2LmltZzAxe1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygyNjAgLyAzMTAgKiAxMDAlKTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDI3NCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byA0NHB4OztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgaDR7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGl2LmltZzAye1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwe1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxODBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgXG4gICAgICBcbiAgICAgIFxuICAgIH1cblxuICAgIGRpdi5ibG9jazA0e1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0ODBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICB9XG4gICAgICBkaXYubnVte1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICBkaXYuaW5ibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTgwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDY1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoMTM5NSAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg5OTIgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMTAgLyAxMzk1ICogMTAwJSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoNjI1IC8gOTkyICogMTAwJSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRpdi5jYXB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDUwOSAvIDEzOTUgKiAxMDAlKTtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoODIgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDE0IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMzU2IC8gOTkyICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDI0IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRpdi5pbWcwMXtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNzEgLyAxMzk1ICogMTAwJSk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzc1IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDQzIC8gOTkyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRpdi5pbWcwMntcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzODcgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MDkgLyAxMzk1ICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDIzNyAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDM1NiAvIDk5MiAqIDEwMCUpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYuYm9yZGVyMDF7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2NjYmRiMztcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7ICBcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQwNCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDUwNiAvIDEzOTUgKiAxMDAlKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogY2FsYygzMjAgLyAxMzk1ICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDIzIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3ApeyAgXG4gICAgICAgICAgICB3aWR0aDogY2FsYygyNDggLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygzODAgLyA5OTIgKiAxMDAlKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogY2FsYygyNDEgLyA5OTIgKiAxMDAlKTtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgZGl2LmJvcmRlcjAye1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNjY2JkYjM7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpeyAgXG4gICAgICAgICAgICB3aWR0aDogY2FsYygyMzIgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyg1MzYgLyAxMzk1ICogMTAwJSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNzg4IC8gMTM5NSAqIDEwMCUpO1xuICAgICAgICAgICAgcmlnaHQ6IGNhbGMoNDMgICAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXsgIFxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTQyIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMzI4IC8gOTkyICogMTAwJSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNDM2LyA5OTIgKiAxMDAlKTtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDEyIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIGRpdi5kZXRhaWx7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDExNTAgLyAxMzk1ICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDgyIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBoNHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgIG1hcmdpbjogMzZweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwe1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBkaXYuYmxvY2swNXtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDIwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgfVxuICAgICAgZGl2Lm51bXtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzlweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICBcbiAgICAgIFxuICAgICAgZGl2LmluYmxvY2t7XG4gICAgICAgIGJhY2tncm91bmQ6ICNjY2JkYjM7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjo6YmVmb3Jle1xuXG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygxMjc3IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDEwMDAgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDIwIC8gMTI3NyAqIDEwMCUpO1xuICAgICAgICAgICAgdG9wOiBjYWxjKC02MyAvIDEyNzcgKiAxMDAlKTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDUyMCAvIDEwMDAgKiAxMDAlKTtcbiAgICAgICAgICAgIHRvcDogLTM5cHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgIFxuICAgICAgICAgIFxuICAgICAgICBkaXYuaW1nMDF7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzg3IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoOTEgLyAxMjc3ICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDI0NiAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDU2IC8gMTAwMCAqIDEwMCUpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYuY2Fwe1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDE0IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgICB0b3A6IGNhbGMoOTEgLyAxMjc3ICogMTAwJSk7O1xuICAgICAgICAgICAgbGVmdDogY2FsYyg3MyAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDU2IC8gMTAwMCAqIDEwMCUpOztcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTUgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGl2LmltZzAye1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaDR7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDc5NyAvIDEyNzcgKiAxMDAlKTtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTA1IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MDAgLyAxMDAwICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDg2NSAvIDEyNzcgKiAxMDAlKTtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDg1IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogY2FsYyggNjAwIC8gMTAwMCAqIDEwMCUpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgIHVsLmNyZWRpdHtcbiAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICB0b3A6IGNhbGMoMTAzNiAvIDEyNzcgKiAxMDAlKTtcbiAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICB9XG4gICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogY2FsYyg3NTggLyAxMDAwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgIH1cblxuICAgIFxuXG4gICAgZGl2LmJsb2NrMDZ7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQyMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMDBweDtcbiAgICAgIH1cbiAgICAgIGRpdi5udW17XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW5ibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTYwcHhcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygxMDIwIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDczMyAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyg4MTQgLyAxMDIwICogMTAwJSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDUzMCAvIDczMyAqIDEwMCUpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGl2LmltZzAxe1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDM4NyAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDE5MiAvIDEwMjAgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjM3IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMTE4IC8gNzMzICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRpdi5ib3JkZXJ7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjY5IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoNDcxIC8gMTAyMCAqIDEwMCUpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNjY2JkYjM7XG4gICAgICAgICAgICB0b3A6IGNhbGMoOTQgLyAxMDIwICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDgzIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTY0IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMjg4IC8gNzMzICogMTAwJSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2NjYmRiMztcbiAgICAgICAgICAgIHRvcDogY2FsYyg1OCAvIDczMyAqIDEwMCUpO1xuICAgICAgICAgICAgbGVmdDogY2FsYygyNiAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRpdi5jYXB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDk0IC8gMTAyMCAqIDEwMCUpO1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MyAvIDYxNCAqIDEwMCUpO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTQgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDYyIC8gNzMzICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEyIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBoNHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDg1MCAvIDEwMjAgKiAxMDAlKTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDU0MCAvIDczMyAqIDEwMCUpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwe1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IGNhbGMoOTQwIC8gMTAyMCAqIDEwMCUpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNjIwIC8gNzMzICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgICBkaXYubnVtN3tcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcxcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDcxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRybnNsYXRlWCgtNTAlKTsgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmJsb2NrMDd7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYnJvd24vYmFjazA0LmpwZyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIHBhZGRpbmc6IDg4cHggMDtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDQwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgfVxuICAgICAgXG4gICAgICBcbiAgICAgIGRpdi5pbmJsb2Nre1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogI2NjYmRiMztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTIxIC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoMTQ1MiAvIDUyMSAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygxNDAwIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiAtMTYwcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIGRpdi5jYXB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTQgLyA1MjEgKiAxMDAlKTtcbiAgICAgICAgICAgIHRvcDogY2FsYyg3NyAvIDE0NTIgKiAxMDAlKTtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoODUgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICAgIHRvcDogY2FsYygyNiAvIDE0MDAgKiAxMDAlKTtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoOSAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYuaW1nMDF7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjc4IC8gNTIxICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNzcgLyAxNDUyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDI2MCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDI2IC8gMTQwMCAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYuaW1nMDJ7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjc4IC8gNTIxICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNTEwIC8gMTQ1MiAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygyNjAgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHRvcDogY2FsYyg0MzAgLyAxNDAwICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmFmdGVye1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDIwMCAvIDQxOCAqIDEwMCUpO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA5OHB4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaDR7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDk4MCAvIDE0NTIgKiAxMDAlKTtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDI3OSAvIDUyMSAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoOTUwIC8gMTQwMCAqIDEwMCUpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwe1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogY2FsYygxMDU0IC8gMTQ1MiAqIDEwMCUpO1xuICAgICAgICAgICAgbGVmdDogY2FsYygyODQgLyA1MjEgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDEwMzIgLyAxNDAwICogMTAwJSk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwuY3JlZGl0e1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogY2FsYygxMjEwIC8gMTQ1MiAqIDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMTE1MCAvIDE0MDAgKiAxMDAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgICBcbiAgfVxuICBcbiAgXG4gIFxufVxuLypCTEFDSyovXG5kaXYjYmxhY2t7XG4gIGRpdi5oZWFkZXJ7XG4gICAgXG4gICAgaDF7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgcGFkZGluZzogMXB4IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB3aWR0aDogNDgwcHg7XG4gICAgICAgIG1hcmdpbjogNjBweCBhdXRvIDY1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbjogNzBweCBhdXRvIDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmNvdmVye1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogY2FsYyg0ODcgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygyOTAgLyA0ODcgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoMjE0IC8gMzIwICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgIH1cbiAgICAgIGRpdi5jb2xvcmJveHtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEyMCAvIDQ4NyAqIDEwMCUpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IGNhbGMoMTQ4IC8gMjkwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDc3IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDg3IC8gMjE0ICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogY2FsYygxNiAvIDMyMCAqIDEwMCUpO1xuICAgIFxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgaDJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgdG9wOiBjYWxjKDIwIC8gNTU1ICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMTIlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgdG9wOiBjYWxjKDEyIC8gMjE0ICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMTIlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgcC5udW1iZXJ7XG4gICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBmb250LWZhbWlseTpmdXR1cmEtcHQsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgbGVmdDogNC42JTtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgZGl2Lm1haW5pbWd7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYyg0MzMgLyA0ODcgKiAxMDAlKTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiA4Mi44JTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmV4cGxhaW57XG4gICAgICBiYWNrZ3JvdW5kOiAjZThlM2UxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogY2FsYyg0MzMgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgaGVpZ2h0OiA1MjJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDE0MHB4IGF1dG87XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIHRvcDogLTI1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICBcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBoZWlnaHQ6IDEyNHB4O1xuICAgICAgICAgIGJvdHRvbTogLTEyNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICBib3R0b206IC04MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHB7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgZGl2LmNvbnRlbnR7XG4gICAgaDN7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzU5NTc1NztcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgXG4gICAgICB9XG4gICAgIFxuICAgIH1cbiAgICBkaXYuYmxvY2t7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2ODBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgcGFkZGluZy10b3A6IDM4OHB4O1xuICAgICAgfVxuICAgICAgJjo6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICBcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgIGhlaWdodDogNTUwcHg7XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5kZXRhaWxfaW57XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICBoNXtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgIHdpZHRoOiA0NDZweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgICAgd2lkdGg6IDI2MHB4O1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHB7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgd2lkdGg6IDQ0NnB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5ibG9jazAxe1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICBcbiAgICAgIFxuICAgICAgXG4gICAgICBkaXYuaW5ibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoNTExIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAgY2FsYyg1MjAgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbWcxe1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYyg0MjQgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdG9wOiBjYWxjKDg5IC8gNTIwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmRldGFpbHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDQzNCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMzYgLyA1MTEgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoMjU0IC8gNTExICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjc3IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDIxNyAvIDUyMCAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygzMDIgLyA1MjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIHAubnVtYmVye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDcgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNDM3IC8gNTExICogMTAwJSk7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoMTA3IC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDgzIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMjIvIDMyMCAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2LmJsb2NrMDJ7XG4gICAgICBcbiAgICAgIFxuICAgICAgXG4gICAgICBkaXYuaW5ibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoNzUwIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDU3OCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzF7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDI0NCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygxMjggLyA3NTAgKiAxMDAlKTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDc0IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTY4IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDEyNyAvIDU3OCAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDI0NCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogY2FsYyg3MSAvIDYxMiAqIDEwMCUpOyAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDE2OCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmRldGFpbHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDQzNCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMzYgLyA3NTAgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNDc4IC8gNzUwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjkwLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMjQ5IC8gNTc4ICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDMyOCAvIDU3OCAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgZGl2LmRldGFpbF9pbntcbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIHAubnVtYmVye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYyg5OCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICByaWdodDogY2FsYygxMzYgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNzYgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogY2FsYygyNiAvIDMyMCAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2LmJsb2NrMDN7XG4gICAgICBcbiAgICAgIFxuICAgICAgXG4gICAgICBcbiAgICAgIGRpdi5pbmJsb2Nre1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg4OTAgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoOTk1IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW1nMXtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNDUzIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbWcye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygyMjEgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoMzI1IC8gODkwICogMTAwJSk7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoMTAyIC8gNjEyICogMTAwJSk7ICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjY2IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoMzg4IC8gOTk1ICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5kZXRhaWx7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGUzZTE7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygzNzAgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMjU3IC8gODkwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDU3MiAvIDg5MCAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjczIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDI0OSAvIDk5NSAqIDEwMCUpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGRpdi5kZXRhaWxfaW57XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcC5udW1iZXJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDIyMyAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICByaWdodDogY2FsYygxMDIgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTc0IC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDI1NyAvIDk5NSAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMjQgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5ibG9jazA0e1xuICAgICAgXG4gICAgICBcbiAgICAgIFxuICAgICAgZGl2LmluYmxvY2t7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDExNTQgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoMTAxMCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzF7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDM1NCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW1nMntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNDQ5IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygyNTAgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICB9XG4gICAgICBkaXYuZGV0YWlse1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZThlM2UxO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNDM0IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDIzNiAvIDExNTQgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNTA0IC8gMTE1NCAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDI2NCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMDEgLyAxMDEwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDU4NSAvIDEwMTAgKiAxMDAlKTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwLm51bWJlcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTI3IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDY3NCAvIDExNTQgKiAxMDAlKTtcbiAgICAgICAgICByaWdodDogY2FsYygxMzYgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwIC8gMzIwICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDUyNCAvIDEwMTAgKiAxMDAlKTtcbiAgICAgICAgICByaWdodDogY2FsYygyNiAvIDMyMCAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIGRpdi5ibG9jazA1e1xuICAgICAgXG4gICAgIFxuICAgICAgXG4gICAgICBkaXYuaW5ibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoNjA2IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDE0OTIgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbWcxe1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygxODggLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogY2FsYyg0NiAvIDYxMiAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygyMTcgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNTEzIC8gMTQ5MiAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMjkgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDE4OCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygyNiAvIDYwNiAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMjI1IC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDIxNyAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYyg4MTIgLyAxNDkyICogMTAwJSk7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoMTIgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzN7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDE4OCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDM3NiAvIDYxMiAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmRldGFpbHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDM3MCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMTEgLyA2MDYgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoMzk0IC8gNjA2ICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZThlM2UxO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygyNTggLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMjAxIC8gMTQ5NSAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygxMjkxIC8gMTQ5NSAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcHtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogNDQ2cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwLm51bWJlcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjM1IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDM0NCAvIDYwNiAqIDEwMCUpO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDcyIC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDE4NCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygxMTc2IC8gMTQ5MiAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMzMgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIFxuXG4gICAgZGl2LmJsb2NrMDZ7XG4gICAgICBcbiAgICAgIFxuICAgICAgXG4gICAgICBkaXYuaW5ibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoOTM4IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDg4NSAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzF7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDIwOCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygxMTAgLyA5MzggKiAxMDAlKTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDk0IC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOjUwJTtcbiAgICAgICAgICB0b3A6IGNhbGMoNzEgLyA4ODUgKiAxMDAlKTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW1nMntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjA4IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDk0IC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW1nM3tcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMzUzIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuZGV0YWlse1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMzM1IC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDIzNiAvIDkzOCAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygzOTYgLyA5MzggKiAxMDAlKTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlOGUzZTE7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDI1OCAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMzggLyA4ODUgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNDA3IC8gODg1ICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZThlM2UxO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgcC5udW1iZXJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEyNCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIHRvcDogY2FsYygzOTYgLyA5MzggKiAxMDAlKTtcbiAgICAgICAgICByaWdodDogY2FsYygxMjEgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoOTcgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoMzU2IC8gODg1ICogMTAwJSk7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoNjQgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5ibG9jazA3e1xuICAgICAgXG4gICAgICBcbiAgICAgIFxuICAgICAgZGl2LmluYmxvY2t7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDc3MCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg4NDggLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbWcxe1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygzMTQgLyA2MTIgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMCU7XG4gICAgICAgIH0gICBcbiAgICAgIH1cbiAgICAgIFxuICAgICAgZGl2LmRldGFpbHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDQzNCAvIDYxMiAqIDEwMCUpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygyMzYgLyA3NzAgKiAxMDAlKTtcbiAgICAgICAgICB0b3A6IGNhbGMoNDQzIC8gNzcwICogMTAwJSk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZThlM2UxO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogY2FsYygyODcgLyAzMjAgKiAxMDAlKTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMjQyIC8gODQ4ICogMTAwJSk7XG4gICAgICAgICAgdG9wOiBjYWxjKDUzNSAvIDg0OCAqIDEwMCUpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U4ZTNlMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcHtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogNDQ2cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwLm51bWJlcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjIzIC8gNjEyICogMTAwJSk7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDgwIC8gNjEyICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDE3NSAvIDMyMCAqIDEwMCUpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICByaWdodDogY2FsYygxMiAvIDMyMCAqIDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG4gIFxuICBcbiAgZGl2LmltZzEsZGl2LmltZzIsZGl2LmltZzN7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBpbWd7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAvLyB0cmFuc2l0aW9uOiAxcztcbiAgICAgIFxuICAgIH1cbiAgfVxufVxuLnpvb21PdXRJbWd7XG4gIGFuaW1hdGlvbjogem9vbU91dEltZyAxcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSBmb3J3YXJkcztcbn1cbkBrZXlmcmFtZXMgIHpvb21PdXRJbWd7XG4gIGZyb217XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG4gIDEwMCV7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xuICB9XG59XG4vKkJMVUUqL1xuZGl2I2JsdWV7XG4gIGRpdi5oZWFkZXJ7XG4gICAgXG4gICAgaDF7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgcGFkZGluZzogMXB4IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB3aWR0aDogNDgwcHg7XG4gICAgICAgIG1hcmdpbjogNjBweCBhdXRvIDY1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbjogNzBweCBhdXRvIDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmNvdmVye1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogMTA4OHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJjo6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDU1NSAvIDEwMzUgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoMjEzIC8gMzIwICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgIH1cbiAgICAgIGRpdi5jb2xvcmJveHtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiAyMi43JTtcbiAgICAgICAgICBoZWlnaHQ6IDI4JTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjYzhkN2U0O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDEyJTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgIGhlaWdodDogMjIuNSU7XG4gICAgICAgICAgLy8gYmFja2dyb3VuZDogI2M4ZDdlNDtcbiAgICAgICAgICBib3R0b206IDUlO1xuICAgICAgICAgIHJpZ2h0OiA0LjclO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNjOGQ3ZTQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHAuY29sb3J7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IDc3JTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIGgye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICAgIHRvcDogMjUlO1xuICAgICAgICAgIGxlZnQ6IDEyJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIHRvcDogMjUlO1xuICAgICAgICAgIGxlZnQ6IDEyJTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIHAubnVtYmVye1xuICAgICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGxlZnQ6IDQuNiU7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIGRpdi5tYWluaW1ne1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IDkxMXB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IDgyLjglO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgIH1cbiAgICBkaXYuZXhwbGFpbntcbiAgICAgIGJhY2tncm91bmQ6ICNjOGQ3ZTQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIHdpZHRoOiA5NTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MjJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDE0MHB4IGF1dG87XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIHRvcDogLTI1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICBcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBoZWlnaHQ6IDEyNHB4O1xuICAgICAgICAgIGJvdHRvbTogLTEyNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICBib3R0b206IC04MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHB7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgZGl2LmNvbnRlbnR7XG4gICAgaDN7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzMyNzFhZTtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTAwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICB9XG4gICAgICAmOjphZnRlcntcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgXG4gICAgICBcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGJvdHRvbTogLTI3NnB4O1xuICAgICAgICAgIGhlaWdodDogMjc2cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgYm90dG9tOiAtOTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBkaXYuYmxvY2swMXtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzYwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1NXB4O1xuICAgICAgfVxuICAgICAgcC5udW1iZXJ7XG4gICAgICAgIGZvbnQtZmFtaWx5OmZ1dHVyYS1wdCwgc2Fucy1zZXJpZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzMyNzFhZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDczcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICBib3R0b206IC0yMDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICAgIGhlaWdodDogNThweDtcbiAgICAgICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzF7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgICAgICBtYXJnaW46MCBhdXRvIDEzMnB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogODMlO1xuICAgICAgICAgIG1hcmdpbjowIGF1dG87XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDY0cHhcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgaGVpZ2h0OiAxMzJweDtcbiAgICAgICAgICAgIGJvdHRvbTogLTEzMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzJ7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogODkycHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTQ2cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5kZXRhaWx7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogOTcycHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaDR7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGNvbG9yOiAjMzI3MWFlO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMjcxYWU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYuZGV0YWlsX2lue1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGg1e1xuICAgICAgICAgICAgY29sb3I6ICMzMjcxYWU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDUyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcHtcbiAgICAgICAgICAgIGNvbG9yOiAjMzI3MWFlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDg1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5ibG9jazAye1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzYwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICAgICAgfVxuICAgICAgcC5udW1iZXJ7XG4gICAgICAgIGZvbnQtZmFtaWx5OmZ1dHVyYS1wdCwgc2Fucy1zZXJpZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzMyNzFhZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDU1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICBib3R0b206IC0yMDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmJsb2NrX2lubmVye1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBjb2xvcjogIzMyNzFhZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgYm90dG9tOiAtMjAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRpdi5pbWd7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjJweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmFmdGVye1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgZGl2LmRldGFpbHtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICAgIGg0e1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzI3MWFlO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgY29sb3I6IzMyNzFhZTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgZGl2LmRldGFpbF9pbntcbiAgICAgICAgICAgIGNvbG9yOiMzMjcxYWU7XG4gICAgICAgICAgICBoNXtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmJsb2NrMDN7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM2MHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNzBweDtcbiAgICAgIH1cbiAgICAgIHAubnVtYmVye1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjMzI3MWFlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OmZ1dHVyYS1wdCwgc2Fucy1zZXJpZjtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgXG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgYm90dG9tOiAtMjAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQxcHg7XG4gICAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbWdBcmVhe1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDU1cHg7O1xuICAgICAgICB9XG4gICAgICAgIGRpdi5pbWd7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5kZXRhaWx7XG4gICAgICAgIGNvbG9yOiAjMzI3MWFlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaDR7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzI3MWFlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMDBweDs7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaDV7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4OyAgXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwe1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcblxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzJ7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDE1MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46MCAgYXV0byA4MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5ibG9jazA0e1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNjBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTcwcHg7XG4gICAgICB9XG4gICAgICBwLm51bWJlcntcbiAgICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjMzI3MWFlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIFxuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgIGJvdHRvbTogLTIwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZ0FyZWF7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEwMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzVweDs7XG4gICAgICAgIH1cbiAgICAgICAgZGl2LmltZ3tcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5kZXRhaWx7XG4gICAgICAgIGNvbG9yOiAjMzI3MWFlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICBcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAyMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0e1xuICAgICAgICAgIGZvbnQtZmFtaWx5OmZ1dHVyYS1wdCwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMyNzFhZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRpdi5kZXRhaWxfaW57XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaDV7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDQ3JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBkaXYuYmxvY2swNXtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzYwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE3MHB4O1xuICAgICAgfVxuICAgICAgcC5udW1iZXJ7XG4gICAgICAgIGZvbnQtZmFtaWx5OmZ1dHVyYS1wdCwgc2Fucy1zZXJpZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzMyNzFhZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDgycHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICBib3R0b206IC0yMDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZ3tcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiA1OCU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTcwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNThweDtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5kZXRhaWx7XG4gICAgICAgIGNvbG9yOiAjMzI3MWFlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IDU4JTtcbiAgICAgICAgICBcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAzMDBweDtcbiAgICAgICAgfVxuICAgICAgICBoNHtcbiAgICAgICAgICBmb250LWZhbWlseTpmdXR1cmEtcHQsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMjcxYWU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBoNXtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwe1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBkaXYuYmxvY2swNntcbiAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNjBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTcwcHg7XG4gICAgfVxuICAgIHAubnVtYmVye1xuICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICMzMjcxYWU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDc1cHg7XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIFxuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgYm90dG9tOiAtMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgIH1cbiAgICBkaXYuaW1nQXJlYXtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgd2lkdGg6IDczJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjU2cHg7XG4gICAgICB9XG4gICAgICBkaXYuaW1nMSxkaXYuaW1nMixkaXYuaW1nM3tcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIGltZ3tcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICB3aWR0aDogODQlO1xuICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbWcxe1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIFxuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIFxuICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW1nMntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBpbWd7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiA3NyU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzN7XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgfVxuICAgIGRpdi5pbWc0e1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogNDQlO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxNjBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmRldGFpbHtcbiAgICAgIGNvbG9yOiAjMzI3MWFlO1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAyNDBweDsgXG4gICAgICB9XG4gICAgICBcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzMyNzFhZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzAwcHg7XG4gICAgICB9XG4gICAgICBoNHtcbiAgICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzI3MWFlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgIFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoNXtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHB7XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDk1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgICBcbiAgfVxuICBkaXYuYmxvY2swN3tcbiAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNjBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTcwcHg7XG4gICAgfVxuICAgIHAubnVtYmVye1xuICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICMzMjcxYWU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwOHB4O1xuICAgICAgfVxuICAgICAgJjo6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgIGJvdHRvbTogLTIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBoZWlnaHQ6IDg4cHg7XG4gICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmltZ0FyZWF7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIHdpZHRoOiA4MiU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDExMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuICAgICAgZGl2LmltZzF7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI2MHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmltZzJ7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBkaXYuZGV0YWlse1xuICAgICAgY29sb3I6ICMzMjcxYWU7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwMHB4O1xuICAgICAgfVxuICAgICAgaDR7XG4gICAgICAgIGZvbnQtZmFtaWx5OmZ1dHVyYS1wdCwgc2Fucy1zZXJpZjtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMyNzFhZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5kZXRhaWxfaW57XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBoNXtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICB3aWR0aDogNDclO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwe1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogODVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG59XG5kaXYjYmVpZ2V7XG4gIGRpdi5oZWFkZXJ7XG4gICAgaDF7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgcGFkZGluZzogMXB4IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB3aWR0aDogNDgwcHg7XG4gICAgICAgIG1hcmdpbjogNjBweCBhdXRvIDY1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbjogNzBweCBhdXRvIDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmNvdmVye1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogMTA4OHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEzNXB4O1xuICAgICAgfVxuICAgICAgJjo6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDYyNCAvIDEwODggKiAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoNTAwIC8gNzUwICogMTAwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5jb2xvcmJveHtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiAyODhweDtcbiAgICAgICAgICBoZWlnaHQ6IDE3MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmMGViZTI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgIGhlaWdodDogMjIuNiU7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2YwZWJlMjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1JTtcbiAgICAgICAgICBsZWZ0OiA1JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcC5jb2xvcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IDMwNXB4O1xuICAgICAgICAgIFxuICAgICAgICAgIHRvcDogMzhweDtcbiAgICAgICAgICBsZWZ0OiAyNnB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICB3aWR0aDogMjclO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB0b3A6IDEwJTtcbiAgICAgICAgICBsZWZ0OiA3JTtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICBsZWZ0OiA1JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcC5udW1iZXJ7XG4gICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBmb250LWZhbWlseTpmdXR1cmEtcHQsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIGxlZnQ6IDUlO1xuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYubWFpbmltZ3tcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiA5MTFweDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiA4Mi40JTtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGRpdi5leHBsYWlue1xuICAgIGJhY2tncm91bmQ6ICNmMGViZTI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgIHdpZHRoOiA5NTBweDtcbiAgICAgIGhlaWdodDogNTIycHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDE2MHB4IGF1dG87XG4gICAgICBcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgcGFkZGluZzogNjBweCAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICB9XG4gICAgJjo6YmVmb3Jle1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgXG4gICAgICBcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICB0b3A6IC00NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIHRvcDogLTI1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICB9XG4gICAgfVxuICAgICY6OmFmdGVye1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICBcbiAgICAgIFxuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICBoZWlnaHQ6IDE0NXB4O1xuICAgICAgICBib3R0b206IC0xNDVweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICBib3R0b206IC04MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgfVxuICAgIH1cbiAgICBwe1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBkaXYuY29udGVudHtcbiAgICBoM3tcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODVweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgIH1cbiAgICAgICY6OmFmdGVye1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBcbiAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgYm90dG9tOiAtMTQ1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBib3R0b206IC05MHB4O1xuICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5ibG9jazAxe1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI2NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JlaWdlL2Jsb2NrMDFfY292ZXIuanBnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoMzAwMCAvIDEyODMgKiAxMDAlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JlaWdlL2Jsb2NrMDFfY292ZXIuanBnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbm5lcntcbiAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiAxMTQycHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmMGViZTI7XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgZGl2LmluYmxvY2t7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQ3cHggMCA1M3B4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaDR7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogNzRweDtcbiAgICAgICAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDtcbiAgICAgICAgICAgICAgY29sb3I6ICNkN2NkYmE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDcwcHg7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcC5udW17XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTpmdXR1cmEtcHQsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDExMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGRpdi5zdHlsaW5ne1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgICAgICAgICB0b3A6IC01NXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICB0b3A6IC00MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgZGl2e1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4OztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLnN0eWxpbmctbGVmdHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogNDclO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNzY4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLnN0eWxpbmctcmlnaHR7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDUzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgICAgZGl2LnRoZW1le1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMTEzcHg7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDE2NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGl2e1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgYm94LXNpemluZzpib3JkZXItYm94O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYubGVmdHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5yaWdodHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5ibG9jazAye1xuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgfVxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA3MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlNGQ2YzI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcC5udW17XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTpmdXR1cmEtcHQsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNTVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOTBweDtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogOTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHRvcDogLTk1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4NXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgYm90dG9tOiAtODVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgXG4gICAgICBkaXYuaW5uZXJ7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgcGFkZGluZzogMjMwcHggMCAyMzVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjJlY2U5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuaW5uZXJibG9ja3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IDExNDBweDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDR7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDc0cHg7XG4gICAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtMTUwcHg7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4wO1xuICAgICAgICAgIGNvbG9yOiAjZTNkY2NmO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4wO1xuICAgICAgICAgIGNvbG9yOiAjZTNkY2NmO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuc3R5bGluZ3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMzU1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0b3A6IC0zNTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgYm90dG9tOiAtMTkwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgXG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzAwcHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIGRpdi5zdHlsaW5nLWxlZnR7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgd2lkdGg6IDUzJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGl2LnN0eWxpbmctcmlnaHR7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHdpZHRoOjQ3JTtcbiAgICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgICBwe1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBkaXYuYmxvY2swM3tcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgcGFkZGluZzogMzc1cHggMCAxNzVweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2RhYzdhYzsgIFxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBwYWRkaW5nOiAyNTBweCAwIDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmMmVjZTk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICAgICAgfVxuICAgICAgcC5udW17XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTI1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBib3R0b206IC04NXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5pbm5lcntcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiAxMTQycHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBwYWRkaW5nOiA4MHB4IDAgMTA1cHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgZGl2LnN0eWxpbmd7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgd2lkdGg6IDY3M3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTI2cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTk3cHg7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgIHRvcDogLTE5N3B4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIGg0e1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzRweDtcbiAgICAgICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wO1xuICAgICAgICAgICAgY29sb3I6ICNlM2RjY2Y7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwLmV4cGxhaW57XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbntcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGl2LnN0eWxpbmcwMntcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICB3aWR0aDogODMwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxODVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmJsb2NrMDR7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIHBhZGRpbmc6IDM1MHB4IDAgMTIwcHg7XG4gICAgICAgXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgICB9XG4gICAgICBoNHtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogNzRweDtcbiAgICAgICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUyNXB4O1xuICAgICAgICAgIHJpZ2h0OiA1JTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA7XG4gICAgICAgICAgY29sb3I6ICNlM2RjY2Y7XG4gICAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDExMHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4wO1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwLm51bXtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTpmdXR1cmEtcHQsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogODVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGJvdHRvbTogLTg1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuc3R5bGluZzAxe1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IDY3NnB4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDExMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0b3A6IC0xNDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBib3R0b206IC0xMTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LnN0eWxpbmcwMntcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgd2lkdGg6IDExMTNweDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMDBweDs7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDQyM3B4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIGJvdHRvbTogLTQyM3B4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYudGhlbWV7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHdpZHRoOiAxMTEzcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTY1cHg7XG4gICAgICAgIH1cbiAgICAgICAgZGl2e1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgICAgICAgfVxuICAgICAgICAgICYubGVmdHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDcycHg7XG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICAgICYucmlnaHR7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTYwcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBkaXYuYmxvY2swNXtcbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gICAgICB9XG4gICAgICBwLm51bXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OmZ1dHVyYS1wdCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2MnB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBib3R0b206IC04NXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogMjY3cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgYm90dG9tOiAtMjk4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmlubmVyMDF7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMzVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWJlMmRkO1xuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIGg0e1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzRweDtcbiAgICAgICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEzNXB4O1xuICAgICAgICAgICAgbGVmdDogNSU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZDdjZGJhO1xuICAgICAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmOztcbiAgICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYuc3R5bGluZ3tcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICB3aWR0aDogOTI3cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICBcbiAgICAgICAgICBcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGl2LmlubmVyMDJ7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmVpZ2UvYmxvY2swNV9jb3Zlci5qcGcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZWlnZS9ibG9jazA1X2NvdmVyLmpwZyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTY1cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDE2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBwYWRkaW5nOiAxMTBweCAwIDE1MHB4O1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYudGhlbWV7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMTEzcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxODBweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgICBkaXZ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubGVmdHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDcycHg7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5yaWdodHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LmJsb2NrMDZ7XG4gICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgIG1hcmdpbi10b3A6IDQ1MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNjBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICB9XG4gICAgICBwLm51bXtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTpmdXR1cmEtcHQsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOTBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogODVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGJvdHRvbTogLTg1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuc3R5bGluZ3tcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTgwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDExMHB4O1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0b3A6IC0xMDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1MzZweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGJvdHRvbTogLTUzNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaDR7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgZm9udC1zaXplOiA3NHB4O1xuICAgICAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgICAgIHJpZ2h0OiA1JTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wO1xuICAgICAgICAgICAgY29sb3I6ICNlNmUwZDQ7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wO1xuICAgICAgICAgICAgY29sb3I6ICNlNmUwZDQ7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi50aGVtZXtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgd2lkdGg6IDExMTNweDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAxODBweDtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBkaXZ7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5sZWZ0e1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNzJweDtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYucmlnaHR7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTYwcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5ibG9jazA3e1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JlaWdlL2Jsb2NrMDdfY292ZXIuanBnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTMycHggMCA1MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyODBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgYmFja2dyb3VuZDogI2U0ZDljNjtcbiAgICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEyNXB4O1xuICAgICAgfVxuICAgICAgcC5udW17XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ZnV0dXJhLXB0LCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTkwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBib3R0b206IC04NXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoNHtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogNzRweDtcbiAgICAgICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDQwMHB4O1xuICAgICAgICAgIGxlZnQ6IDUlO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTgwcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpdi5zdHlsaW5ne1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgd2lkdGg6IDY1M3B4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEzMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDFweDtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdG9wOiAtMTYwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogNDgwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBib3R0b206IC00ODBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYudGhlbWV7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHdpZHRoOiAxMTEzcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTgwcHg7XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgZGl2e1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgICAgICAgfVxuICAgICAgICAgICYubGVmdHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDcycHg7XG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYucmlnaHR7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTYwcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbn1cbmRpdi5maXhlZG1lbnV7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgQGluY2x1ZGUgbXEocGMpe1xuICAgIHRvcDogNSU7XG4gICAgbGVmdDogMiU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG4gIEBpbmNsdWRlIG1xKHNwKXtcbiAgICB0b3A6IDUlO1xuICAgIGxlZnQ6IDQlO1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICB9XG4gXG4gIHotaW5kZXg6IDk5O1xuICBzcGFue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgIHdpZHRoOiA0NnB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjMxODE1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZDogIzIzMTgxNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxke1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gIH1cbiAgXG59XG5kaXYuZml4ZWRzaG9we1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMzBweDtcbiAgcmlnaHQ6IDUuMyU7XG4gIGF7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgfVxufVxuZGl2LmZpeGVkaW5zdGF7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk7XG4gIEBpbmNsdWRlIG1xKHBjKXtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIlO1xuICB9XG4gIEBpbmNsdWRlIG1xKHNwKXtcbiAgICB0b3A6IDE0cHg7XG4gICAgcmlnaHQ6IDMuMyU7XG4gIH1cbiAgYXtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICB9XG59XG5cbmRpdi5hcmNoaXZle1xuICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICB9XG4gICAgaDR7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNjY2MgIDtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogODVweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBib3R0b206IC04NXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMzE4MTU7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdWx7XG4gICAgICBsaXtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTcwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMSl7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U2ZGRjZDtcbiAgICAgICAgICBkaXYuaW1ne1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JlaWdlL21haW5fc3AuanBnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JlaWdlL21haW4uanBnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIpe1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNjOGQ3ZTQ7XG4gICAgICAgICAgZGl2LmltZ3tcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9ibHVlL21haW5fc3AuanBnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JsdWUvbWFpbi5qcGcpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMyl7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2I5YmNiZDtcbiAgICAgICAgICBkaXYuaW1ne1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JsYWNrL21haW5fc3AuanBnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JsYWNrL21haW5fcGMuanBnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vICY6bnRoLWNoaWxkKDMpe1xuICAgICAgICAvLyAgIGJhY2tncm91bmQ6ICNiOWJjYmQ7XG4gICAgICAgIC8vIH1cbiAgICAgICAgJjpudGgtY2hpbGQoNCl7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2MyYTc5YjtcbiAgICAgICAgICBkaXYuaW1ne1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Jyb3duL21haW5fc3AuanBnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Jyb3duL21haW5fcGMuanBnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgJi5jb21pbmd7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZGl2LmltZ3tcbiAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpdi5saW5re1xuICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgcC5udW1iZXJ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICAgICAgbGVmdDogNjAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBkaXYub2Jpe1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuNik7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpdi5vYmlfaW57XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgZGl2LmNvbG9ye1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDMwJTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxN3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHAudGV4dHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNzBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGl2Lmxpbmt7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgZGl2LmNvbG9ye1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICB3aWR0aDogMjkwcHg7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3N3B4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcC5udW1iZXJ7XG4gICAgICAgICAgICBmb250LWZhbWlseTpmdXR1cmEtcHQsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBmb250LXNpemU6IDNweDtcbiAgICAgICAgICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICAgIGxlZnQ6IDMwJTtcbiAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcC50ZXh0e1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICB3aWR0aDogNDEwcHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwLmNvbWluZ3Nvb257XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGRpdiNpbnRyb3tcbiAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICBtYXJnaW4tdG9wOiAxOTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEzMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2NXB4O1xuICAgIH1cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcHtcbiAgICAgICY6bnRoLWNoaWxkKDEpe1xuICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgyKXtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgICAgICBzcGFue1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgzKXtcbiAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIGF7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGRpdi5zdGFmZntcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzQwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xuICAgIH1cbiAgfVxuICBkaXYjZm9vdGVye1xuICAgIGEubG9nb3tcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTVweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMycHg7O1xuICAgICAgfVxuICAgIH1cbiAgICB1bHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgd2lkdGg6IDEzOHB4O1xuICAgICAgICBcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgICAgbGl7XG4gICAgICAgIGF7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcC5jb3B5e1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgIG1xKHBjKXtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgIG1xKHNwKXtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB1bC5jcmVkaXR7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICB3aWR0aCA6NjUwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIFxuICAgIH1cbiAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuICAgIFxuICAgIGxpe1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICB3aWR0aDogMTcycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBcbiAgICAgIH1cbiAgICAgIGF7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgc3BhbntcbiAgICAgICAgICAmLmJ0bntcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLnNtYWxse1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5kaXYjbW9kYWx7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjgpO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IDFzO1xuICB6LWluZGV4OiA5OTk5O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICBjb2xvcjogIzAwMDtcbiAgZGl2LmlubmVybW9kYWx7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICB1bHtcbiAgICBsaXtcbiAgICAgIGF7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3IgOiMwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjs7XG4gICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICBcbiAgICAgICAgICB3aWR0aDogNzMwcHg7XG4gICAgICAgICAgbWFyZ2luOjAgYXV0byA2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cbiAgICAgICAgZGl2e1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OmZ1dHVyYS1wdCwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHBjKXtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNwKXtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEocGMpe1xuICAgICAgICAgICAgICB3aWR0aDogNjEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwe1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgICBAaW5jbHVkZSBtcShzcCl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyAgXG4gICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGEucGFnZXRvcHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBAaW5jbHVkZSBtcShwYyl7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB3aWR0aDogNzMwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoc3Ape1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuLmludmlld2ltZy13cmFwTCwuaW52aWV3aW1nLXdyYXBSLC5pbnZpZXdpbWctd3JhcEJ7XG4gIG9wYWNpdHk6IDA7XG59XG5kaXYuY2xvc2V7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLyogQU5JTUFUSU9OXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5Aa2V5ZnJhbWVzIG9wYWNpdHkge1xuICAwJSB7IG9wYWNpdHk6IDAgfVxuICBcbiAgMTAwJSB7IG9wYWNpdHk6IDEgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIG9wYWNpdHkge1xuICAwJSB7IG9wYWNpdHk6IDAgfVxuXG4gIDEwMCUgeyBvcGFjaXR5OiAxIH1cblxufVxuQGluY2x1ZGUgc2xpZGUtaW4taW1nLUw7XG5AaW5jbHVkZSBzbGlkZS1pbi1pbWctUjtcbkBpbmNsdWRlIHNsaWRlLWluLWltZy1CO1xuLyogc2Nzc+iqreOBv+i+vOOBv1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCAnZmxleHNsaWRlcic7XG5AaW1wb3J0ICdhbmltYXRlJztcbiIsIkBpbXBvcnQgXCJjb21wYXNzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImNvbXBhc3MvdXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwiY29tcGFzcy90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiY29tcGFzcy9jc3MzXCI7XG4iLCJAaW1wb3J0IFwiZnVuY3Rpb25zL2xpc3RzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Nyb3NzX2Jyb3dzZXJfc3VwcG9ydFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9ncmFkaWVudF9zdXBwb3J0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnN0YW50c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbG9yc1wiO1xuIiwiLy9cbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBsaXN0IGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2xpYi9jb21wYXNzL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvbGlzdHMucmJcbi8vXG5cblxuLy8gY29tcGFjdCBpcyBwYXJ0IG9mIGxpYnNhc3NcblxuQGZ1bmN0aW9uIC1jb21wYXNzLW50aCgkbGlzdCwgJHBsYWNlKSB7XG4gIC8vIFllcCwgU2Fzcy1saXN0cyBhcmUgMS1pbmRleGVkLlxuICBAaWYgJHBsYWNlID09IFwiZmlyc3RcIiB7XG4gICAgJHBsYWNlOiAxO1xuICB9XG4gIEBpZiAkcGxhY2UgPT0gXCJsYXN0XCIge1xuICAgICRwbGFjZTogbGVuZ3RoKCRsaXN0KTtcbiAgfVxuICBAcmV0dXJuIG50aCgkbGlzdCwgJHBsYWNlKTtcbn1cblxuLy8gY29tcGFzc19saXN0IGNhbid0IGJlIGltcGxlbWVudGVkIGluIHNhc3Mgc2NyaXB0XG5cbkBmdW5jdGlvbiAtY29tcGFzcy1zcGFjZS1saXN0KCRpdGVtMSwgJGl0ZW0yOm51bGwsICRpdGVtMzpudWxsLCAkaXRlbTQ6bnVsbCwgJGl0ZW01Om51bGwsICRpdGVtNjpudWxsLCAkaXRlbTc6bnVsbCwgJGl0ZW04Om51bGwsICRpdGVtOTpudWxsKSB7XG4gICRpdGVtczogKCk7XG4gIC8vIFN1cHBvcnQgZm9yIHBvbHltb3JwaGlzbS5cbiAgQGlmIHR5cGUtb2YoJGl0ZW0xKSA9PSAnbGlzdCcge1xuICAgIC8vIFBhc3NpbmcgYSBzaW5nbGUgYXJyYXkgb2YgcHJvcGVydGllcy5cbiAgICAkaXRlbXM6ICRpdGVtMTtcbiAgfSBAZWxzZSB7XG4gICAgJGl0ZW1zOiAkaXRlbTEgJGl0ZW0yICRpdGVtMyAkaXRlbTQgJGl0ZW01ICRpdGVtNiAkaXRlbTcgJGl0ZW04ICRpdGVtOTtcbiAgfVxuXG4gICRmdWxsOiBmaXJzdC12YWx1ZS1vZigkaXRlbXMpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRpdGVtcykge1xuICAgICRpdGVtOiBudGgoJGl0ZW1zLCAkaSk7XG4gICAgQGlmICRpdGVtICE9IG51bGwge1xuICAgICAgJGZ1bGw6ICRmdWxsICRpdGVtO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGZ1bGw7XG59XG5cbkBmdW5jdGlvbiAtY29tcGFzcy1saXN0LXNpemUoJGxpc3QpIHtcbiAgQHJldHVybiBsZW5ndGgoJGxpc3QpO1xufVxuXG5AZnVuY3Rpb24gLWNvbXBhc3Mtc2xpY2UoJGxpc3QsICRzdGFydCwgJGVuZDogZmFsc2UpIHtcbiAgQGlmICRlbmQgPT0gZmFsc2Uge1xuICAgICRlbmQ6IGxlbmd0aCgkbGlzdCk7XG4gIH1cbiAgJGZ1bGw6IG50aCgkbGlzdCwgJHN0YXJ0KTtcbiAgQGZvciAkaSBmcm9tICRzdGFydCArIDEgdGhyb3VnaCAkZW5kIHtcbiAgICAkZnVsbDogJGZ1bGwsIG50aCgkbGlzdCwgJGkpO1xuICB9XG4gIEByZXR1cm4gJGZ1bGw7XG59XG5cbkBmdW5jdGlvbiByZWplY3QoJGxpc3QsICRyZWplY3QxLCAkcmVqZWN0MjpudWxsLCAkcmVqZWN0MzpudWxsLCAkcmVqZWN0NDpudWxsLCAkcmVqZWN0NTpudWxsLCAkcmVqZWN0NjpudWxsLCAkcmVqZWN0NzpudWxsLCAkcmVqZWN0ODpudWxsLCAkcmVqZWN0OTpudWxsKSB7XG4gICRyZWplY3RzOiAkcmVqZWN0MSwgJHJlamVjdDIsICRyZWplY3QzLCAkcmVqZWN0NCwgJHJlamVjdDUsICRyZWplY3Q2LCAkcmVqZWN0NywgJHJlamVjdDgsICRyZWplY3Q5O1xuXG4gICRmdWxsOiBmYWxzZTtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBpbmRleCgkcmVqZWN0cywgJGl0ZW0pIHt9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICRmdWxsIHtcbiAgICAgICAgJGZ1bGw6ICRmdWxsLCAkaXRlbTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJGZ1bGw6ICRpdGVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRmdWxsO1xufVxuXG5AZnVuY3Rpb24gZmlyc3QtdmFsdWUtb2YoJGxpc3QpIHtcbiAgQHJldHVybiBudGgoJGxpc3QsIDEpO1xufVxuXG5AZnVuY3Rpb24gY29tcGFjdCgkdmFycy4uLikge1xuICAkc2VwYXJhdG9yOiBsaXN0LXNlcGFyYXRvcigkdmFycyk7XG4gICRsaXN0OiAoKTtcbiAgQGVhY2ggJHZhciBpbiAkdmFycyB7XG4gICAgICBAaWYgJHZhciB7XG4gICAgICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJHZhciwgJHNlcGFyYXRvcik7XG4gICAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cbiIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGNyb3NzIGJyb3dzZXIgc3VwcG9ydCBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2Nyb3NzX2Jyb3dzZXJfc3VwcG9ydC5yYlxuLy8gXG5cbkBmdW5jdGlvbiBwcmVmaXhlZCgkcHJlZml4LCAkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICAkcHJvcGVydGllczogJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OTtcbiAgJHByZWZpeGVkOiBmYWxzZTtcbiAgQGVhY2ggJGl0ZW0gaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkcHJlZml4ZWQ6ICRwcmVmaXhlZCBvciBzdHItaW5kZXgoJGl0ZW0sICd1cmwnKSAhPSAxIGFuZCBzdHItaW5kZXgoJGl0ZW0sICdyZ2InKSAhPSAxIGFuZCBzdHItaW5kZXgoJGl0ZW0sICcjJykgIT0gMTtcbiAgICB9IEBlbHNlaWYgdHlwZS1vZigkaXRlbSkgPT0gJ2NvbG9yJyB7XG4gICAgfSBAZWxzZWlmICRpdGVtICE9IG51bGwge1xuICAgICAgJHByZWZpeGVkOiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRwcmVmaXhlZDtcbn1cblxuQGZ1bmN0aW9uIHByZWZpeCgkcHJlZml4LCAkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICAkcHJvcGVydGllczogXCJcIjtcblxuICAvLyBTdXBwb3J0IGZvciBwb2x5bW9ycGhpc20uXG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eTEpID09ICdsaXN0JyB7XG4gICAgLy8gUGFzc2luZyBhIHNpbmdsZSBhcnJheSBvZiBwcm9wZXJ0aWVzLlxuICAgICRwcm9wZXJ0aWVzOiAkcHJvcGVydHkxO1xuICB9IEBlbHNlIHtcbiAgICAvLyBQYXNzaW5nIG11bHRpcGxlIHByb3BlcnRpZXMuXG4gICAgJHByb3BlcnRpZXM6ICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTk7XG4gIH1cblxuICAkcHJvcHM6IGZhbHNlO1xuICBAZWFjaCAkaXRlbSBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmICRpdGVtID09IG51bGwge31cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgcHJlZml4ZWQoJHByZWZpeCwgJGl0ZW0pIHtcbiAgICAgICAgJGl0ZW06ICN7JHByZWZpeH0tI3skaXRlbX07XG4gICAgICB9XG4gICAgICBAaWYgJHByb3BzIHtcbiAgICAgICAgJHByb3BzOiAkcHJvcHMsICRpdGVtO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcHJvcHM6ICRpdGVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRwcm9wcztcbn1cblxuQGZ1bmN0aW9uIC1zdmcoJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1zdmcnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1vd2coJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1vd2cnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC13ZWJraXQoJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy13ZWJraXQnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1tb3ooJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1tb3onLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1vKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctbycsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLXBpZSgkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLXBpZScsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuIiwiLy8gXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgZ3JhZGllbnQgc3VwcG9ydCBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3YwLjEyLjIvbGliL2NvbXBhc3Mvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9ncmFkaWVudF9zdXBwb3J0LnJiXG4vLyBcblxuQGZ1bmN0aW9uIGNvbG9yLXN0b3BzKCRpdGVtMSwgJGl0ZW0yOm51bGwsICRpdGVtMzpudWxsLCAkaXRlbTQ6bnVsbCwgJGl0ZW01Om51bGwsICRpdGVtNjpudWxsLCAkaXRlbTc6bnVsbCwgJGl0ZW04Om51bGwsICRpdGVtOTpudWxsKSB7XG4gICRpdGVtczogJGl0ZW0yLCAkaXRlbTMsICRpdGVtNCwgJGl0ZW01LCAkaXRlbTYsICRpdGVtNywgJGl0ZW04LCAkaXRlbTk7XG4gICRmdWxsOiAkaXRlbTE7XG4gIEBlYWNoICRpdGVtIGluICRpdGVtcyB7XG4gICAgQGlmICRpdGVtICE9IG51bGwge1xuICAgICAgJGZ1bGw6ICRmdWxsLCAkaXRlbTtcbiAgICB9ICAgIFxuICB9XG4gIEByZXR1cm4gJGZ1bGw7XG59IiwiLy8gXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgY29uc3RhbnRzIGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2xpYi9jb21wYXNzL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvY29uc3RhbnRzLnJiXG4vLyBcblxuQGZ1bmN0aW9uIG9wcG9zaXRlLXBvc2l0aW9uKCRmcm9tKSB7XG4gICAgQGlmICgkZnJvbSA9PSB0b3ApIHtcbiAgICAgICAgQHJldHVybiBib3R0b207XG4gICAgfSBAZWxzZSBpZiAoJGZyb20gPT0gYm90dG9tKSB7XG4gICAgICAgIEByZXR1cm4gdG9wO1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IGxlZnQpIHtcbiAgICAgICAgQHJldHVybiByaWdodDtcbiAgICB9IEBlbHNlIGlmICgkZnJvbSA9PSByaWdodCkge1xuICAgICAgICBAcmV0dXJuIGxlZnQ7XG4gICAgfSBAZWxzZSBpZiAoJGZyb20gPT0gY2VudGVyKSB7XG4gICAgICAgIEByZXR1cm4gY2VudGVyO1xuICAgIH1cbn1cbiIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGRpc3BsYXkgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvY29yZS9saWIvY29tcGFzcy9jb3JlL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvZGlzcGxheS5yYlxuLy8gXG5cbkBmdW5jdGlvbiBlbGVtZW50cy1vZi10eXBlKCR0eXBlKXtcbiAgICBAaWYgKCR0eXBlID09IGJsb2NrKXtcbiAgICAgICAgQHJldHVybiBhZGRyZXNzLCBhcnRpY2xlLCBhc2lkZSwgYmxvY2txdW90ZSwgY2VudGVyLCBkaXIsIGRpdiwgZGQsIGRldGFpbHMsIGRsLCBkdCwgZmllbGRzZXQsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9ybSwgZm9vdGVyLCBmcmFtZXNldCwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaHIsIGhlYWRlciwgaGdyb3VwLCBpc2luZGV4LCBtYWluLCBtZW51LCBuYXYsIG5vZnJhbWVzLCBub3NjcmlwdCwgb2wsIHAsIHByZSwgc2VjdGlvbiwgc3VtbWFyeSwgdWw7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaW5saW5lKXtcbiAgICAgICAgQHJldHVybiBhLCBhYmJyLCBhY3JvbnltLCBhdWRpbywgYiwgYmFzZWZvbnQsIGJkbywgYmlnLCBiciwgY2FudmFzLCBjaXRlLCBjb2RlLCBjb21tYW5kLCBkYXRhbGlzdCwgZGZuLCBlbSwgZW1iZWQsIGZvbnQsIGksIGltZywgaW5wdXQsIGtleWdlbiwga2JkLCBsYWJlbCwgbWFyaywgbWV0ZXIsIG91dHB1dCwgcHJvZ3Jlc3MsIHEsIHJwLCBydCwgcnVieSwgcywgc2FtcCwgc2VsZWN0LCBzbWFsbCwgc3Bhbiwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0ZXh0YXJlYSwgdGltZSwgdHQsIHUsIHZhciwgdmlkZW8sIHdicjtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBpbmxpbmUtYmxvY2spe1xuICAgICAgICBAcmV0dXJuIGltZztcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZSl7XG4gICAgICAgIEByZXR1cm4gdGFibGU7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gbGlzdC1pdGVtKXtcbiAgICAgICAgQHJldHVybiBsaTtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1yb3ctZ3JvdXApe1xuICAgICAgICBAcmV0dXJuIHRib2R5O1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLWhlYWRlci1ncm91cCl7XG4gICAgICAgIEByZXR1cm4gdGhlYWQ7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtZm9vdGVyLWdyb3VwKXtcbiAgICAgICAgQHJldHVybiB0Zm9vdDtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1yb3cpe1xuICAgICAgICBAcmV0dXJuIHRyO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLWNlbGwpe1xuICAgICAgICBAcmV0dXJuIHRoLCB0ZDtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBodG1sNS1ibG9jayl7XG4gICAgICAgIEByZXR1cm4gYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5O1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGh0bWw1LWlubGluZSl7XG4gICAgICAgIEByZXR1cm4gYXVkaW8sIGNhbnZhcywgY29tbWFuZCwgZGF0YWxpc3QsIGVtYmVkLCBrZXlnZW4sIG1hcmssIG1ldGVyLCBvdXRwdXQsIHByb2dyZXNzLCBycCwgcnQsIHJ1YnksIHRpbWUsIHZpZGVvLCB3YnI7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaHRtbDUpe1xuICAgICAgICBAcmV0dXJuIGFydGljbGUsIGFzaWRlLCBhdWRpbywgY2FudmFzLCBjb21tYW5kLCBkYXRhbGlzdCwgZGV0YWlscywgZW1iZWQsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwga2V5Z2VuLCBtYWluLCBtYXJrLCBtZW51LCBtZXRlciwgbmF2LCBvdXRwdXQsIHByb2dyZXNzLCBycCwgcnQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIHZpZGVvLCB3YnI7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGV4dC1pbnB1dCl7XG4gICAgICAgIEByZXR1cm4gaW5wdXQsIHRleHRhcmVhO1xuICAgIH1cbn1cbiIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGNvbG9ycyBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9jb3JlL2xpYi9jb21wYXNzL2NvcmUvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9jb2xvcnMucmJcbi8vXG5cbi8vIGEgZ2VuZXJpY2l6ZWQgdmVyc2lvbiBvZiBsaWdodGVuL2RhcmtlbiBzbyB0aGF0IG5lZ2F0aXZlIHZhbHVlcyBjYW4gYmUgdXNlZC5cbkBmdW5jdGlvbiBhZGp1c3QtbGlnaHRuZXNzKCRjb2xvciwgJGFtb3VudCkge1xuICAgIEByZXR1cm4gYWRqdXN0LWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGFtb3VudCk7XG59XG5cbi8vIFNjYWxlcyBhIGNvbG9yJ3MgbGlnaHRuZXNzIGJ5IHNvbWUgcGVyY2VudGFnZS5cbi8vIElmIHRoZSBhbW91bnQgaXMgbmVnYXRpdmUsIHRoZSBjb2xvciBpcyBzY2FsZWQgZGFya2VyLCBpZiBwb3NpdGl2ZSwgaXQgaXMgc2NhbGVkIGxpZ2h0ZXIuXG4vLyBUaGlzIHdpbGwgbmV2ZXIgcmV0dXJuIGEgcHVyZSBsaWdodCBvciBkYXJrIGNvbG9yIHVubGVzcyB0aGUgYW1vdW50IGlzIDEwMCUuXG5AZnVuY3Rpb24gc2NhbGUtbGlnaHRuZXNzKCRjb2xvciwgJGFtb3VudCkge1xuICAgIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkYW1vdW50KTtcbn1cblxuLy8gYSBnZW5lcmljaXplZCB2ZXJzaW9uIG9mIHNhdHVyYXRlL2Rlc2F0dXJhdGUgc28gdGhhdCBuZWdhdGl2ZSB2YWx1ZXMgY2FuIGJlIHVzZWQuXG5AZnVuY3Rpb24gYWRqdXN0LXNhdHVyYXRpb24oJGNvbG9yLCAkYW1vdW50KSB7XG4gICAgQHJldHVybiBhZGp1c3QtY29sb3IoJGNvbG9yLCAkc2F0dXJhdGlvbjogJGFtb3VudCk7XG59XG5cbi8vIFNjYWxlcyBhIGNvbG9yJ3Mgc2F0dXJhdGlvbiBieSBzb21lIHBlcmNlbnRhZ2UuXG4vLyBJZiB0aGUgYW1vdW50IGlzIG5lZ2F0aXZlLCB0aGUgY29sb3IgaXMgZGVzYXR1cmF0ZWQsIGlmIHBvc2l0aXZlLCBpdCBpcyBzYXR1cmF0ZWQuXG4vLyBUaGlzIHdpbGwgbmV2ZXIgcmV0dXJuIGEgcHVyZSBzYXR1cmF0ZWQgb3IgZGVzYXR1cmF0ZWQgY29sb3IgdW5sZXNzIHRoZSBhbW91bnQgaXMgMTAwJS5cbkBmdW5jdGlvbiBzY2FsZS1zYXR1cmF0aW9uKCRjb2xvciwgJGFtb3VudCkge1xuICAgIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkc2F0dXJhdGlvbjogJGFtb3VudCk7XG59XG5cbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50YWdlKSB7XG4gICAgQHJldHVybiBtaXgoIzAwMDAwMCwgJGNvbG9yLCAkcGVyY2VudGFnZSk7XG59XG5cbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnRhZ2UpIHtcbiAgICBAcmV0dXJuIG1peCgjZmZmZmZmLCAkY29sb3IsICRwZXJjZW50YWdlKTtcbn1cblxuIiwiQGltcG9ydCBcInV0aWxpdGllcy9jb2xvclwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9nZW5lcmFsXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Nwcml0ZXNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdGFibGVzXCI7XG5cbi8vIGRlcHJlY2F0ZWRcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L2xpbmtzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS9saXN0c1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvdGV4dFwiO1xuIiwiQGltcG9ydCBcImNvbG9yL2NvbnRyYXN0XCI7IiwiJGNvbnRyYXN0ZWQtZGFyay1kZWZhdWx0OiAgICMwMDAgIWRlZmF1bHQ7XG4kY29udHJhc3RlZC1saWdodC1kZWZhdWx0OiAgI2ZmZiAhZGVmYXVsdDtcbiRjb250cmFzdGVkLWxpZ2h0bmVzcy10aHJlc2hvbGQ6IDMwJSAhZGVmYXVsdDtcblxuLy8gUmV0dXJucyB0aGUgYCRsaWdodGAgY29sb3Igd2hlbiB0aGUgYCRjb2xvcmAgaXMgZGFya1xuLy8gYW5kIHRoZSBgJGRhcmtgIGNvbG9yIHdoZW4gdGhlIGAkY29sb3JgIGlzIGxpZ2h0LlxuLy8gVGhlIGAkdGhyZXNob2xkYCBpcyBhIHBlcmNlbnQgYmV0d2VlbiBgMCVgIGFuZCBgMTAwJWAgYW5kIGl0IGRldGVybWluZXNcbi8vIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBgJGNvbG9yYCBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLlxuQGZ1bmN0aW9uIGNvbnRyYXN0LWNvbG9yKFxuICAkY29sb3IsXG4gICRkYXJrOiAkY29udHJhc3RlZC1kYXJrLWRlZmF1bHQsXG4gICRsaWdodDogJGNvbnRyYXN0ZWQtbGlnaHQtZGVmYXVsdCxcbiAgJHRocmVzaG9sZDogJGNvbnRyYXN0ZWQtbGlnaHRuZXNzLXRocmVzaG9sZFxuKSB7XG4gIEByZXR1cm4gaWYobGlnaHRuZXNzKCRjb2xvcikgPCAkdGhyZXNob2xkLCAkbGlnaHQsICRkYXJrKVxufVxuXG4vLyBTZXRzIHRoZSBzcGVjaWZpZWQgYmFja2dyb3VuZCBjb2xvciBhbmQgY2FsY3VsYXRlcyBhIGRhcmsgb3IgbGlnaHQgY29udHJhc3RlZCB0ZXh0IGNvbG9yLlxuLy8gVGhlIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRocm91Z2ggdG8gdGhlIFtjb250cmFzdC1jb2xvciBmdW5jdGlvbl0oI2Z1bmN0aW9uLWNvbnRyYXN0LWNvbG9yKS5cbkBtaXhpbiBjb250cmFzdGVkKFxuICAkYmFja2dyb3VuZC1jb2xvcixcbiAgJGRhcms6ICRjb250cmFzdGVkLWRhcmstZGVmYXVsdCxcbiAgJGxpZ2h0OiAkY29udHJhc3RlZC1saWdodC1kZWZhdWx0LFxuICAkdGhyZXNob2xkOiAkY29udHJhc3RlZC1saWdodG5lc3MtdGhyZXNob2xkXG4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIGNvbG9yOiBjb250cmFzdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgJGRhcmssICRsaWdodCwgJHRocmVzaG9sZCk7XG59IiwiQGltcG9ydCBcImdlbmVyYWwvcmVzZXRcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC9mbG9hdFwiO1xuQGltcG9ydCBcImdlbmVyYWwvdGFnLWNsb3VkXCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC9oYWNrc1wiO1xuQGltcG9ydCBcImdlbmVyYWwvbWluXCI7XG4iLCIvLyBUaGlzIG1vZHVsZSBoYXMgbW92ZWQuXG5AaW1wb3J0IFwiLi4vLi4vcmVzZXQvdXRpbGl0aWVzXCI7XG4iLCIvLyBCYXNlZCBvbiBbRXJpYyBNZXllcidzIHJlc2V0IDIuMF0oaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9pbmRleC5odG1sKVxuLy8gR2xvYmFsIHJlc2V0IHJ1bGVzLlxuLy8gRm9yIG1vcmUgc3BlY2lmaWMgcmVzZXRzLCB1c2UgdGhlIHJlc2V0IG1peGlucyBwcm92aWRlZCBiZWxvd1xuQG1peGluIGdsb2JhbC1yZXNldCB7XG4gIGh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuICBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG4gIGRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbiAgc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbiAgYiwgdSwgaSwgY2VudGVyLFxuICBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuICBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbiAgdGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG4gIGFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLCBcbiAgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBcbiAgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG4gIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsO1xuICAgIEBpbmNsdWRlIHJlc2V0LWZvbnQ7IH1cbiAgLy8gVW5saWtlIEVyaWMncyBvcmlnaW5hbCByZXNldCwgd2UgcmVzZXQgdGhlIGh0bWwgZWxlbWVudCB0byBiZSBjb21wYXRpYmxlXG4gIC8vIHdpdGggdGhlIHZlcnRpY2FsIHJoeXRobSBtaXhpbnMuXG4gIGh0bWwge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJvZHk7IH1cbiAgb2wsIHVsIHtcbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlOyB9XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZTsgfVxuICBjYXB0aW9uLCB0aCwgdGQge1xuICAgIEBpbmNsdWRlIHJlc2V0LXRhYmxlLWNlbGw7IH1cbiAgcSwgYmxvY2txdW90ZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtcXVvdGF0aW9uOyB9XG4gIGEgaW1nIHtcbiAgICBAaW5jbHVkZSByZXNldC1pbWFnZS1hbmNob3ItYm9yZGVyOyB9XG4gIEBpbmNsdWRlIHJlc2V0LWh0bWw1OyB9XG5cbi8vIFJlc2V0IGFsbCBlbGVtZW50cyB3aXRoaW4gc29tZSBzZWxlY3RvciBzY29wZS4gVG8gcmVzZXQgdGhlIHNlbGVjdG9yIGl0c2VsZixcbi8vIG1peGluIHRoZSBhcHByb3ByaWF0ZSByZXNldCBtaXhpbiBmb3IgdGhhdCBlbGVtZW50IHR5cGUgYXMgd2VsbC4gVGhpcyBjb3VsZCBiZVxuLy8gdXNlZnVsIGlmIHlvdSB3YW50IHRvIHN0eWxlIGEgcGFydCBvZiB5b3VyIHBhZ2UgaW4gYSBkcmFtYXRpY2FsbHkgZGlmZmVyZW50IHdheS5cbkBtaXhpbiBuZXN0ZWQtcmVzZXQge1xuICBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbiAgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuICBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG4gIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG4gIGIsIHUsIGksIGNlbnRlcixcbiAgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbiAgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG4gIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuICBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG4gIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgXG4gIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxuICB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbDtcbiAgICBAaW5jbHVkZSByZXNldC1mb250OyB9XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZTsgfVxuICBjYXB0aW9uLCB0aCwgdGQge1xuICAgIEBpbmNsdWRlIHJlc2V0LXRhYmxlLWNlbGw7IH1cbiAgcSwgYmxvY2txdW90ZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtcXVvdGF0aW9uOyB9XG4gIGEgaW1nIHtcbiAgICBAaW5jbHVkZSByZXNldC1pbWFnZS1hbmNob3ItYm9yZGVyOyB9IH1cblxuLy8gUmVzZXQgdGhlIGJveCBtb2RlbCBtZWFzdXJlbWVudHMuXG5AbWl4aW4gcmVzZXQtYm94LW1vZGVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLy8gUmVzZXQgdGhlIGZvbnQgYW5kIHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiByZXNldC1mb250IHtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLy8gUmVzZXRzIHRoZSBvdXRsaW5lIHdoZW4gZm9jdXMuXG4vLyBGb3IgYWNjZXNzaWJpbGl0eSB5b3UgbmVlZCB0byBhcHBseSBzb21lIHN0eWxpbmcgaW4gaXRzIHBsYWNlLlxuQG1peGluIHJlc2V0LWZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vLyBSZXNldCBhIGJvZHkgZWxlbWVudC5cbkBtaXhpbiByZXNldC1ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLy8gUmVzZXQgdGhlIGxpc3Qgc3R5bGUgb2YgYW4gZWxlbWVudC5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vLyBSZXNldCBhIHRhYmxlXG5AbWl4aW4gcmVzZXQtdGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG4vLyBSZXNldCBhIHRhYmxlIGNlbGwgKGB0aGAsIGB0ZGApXG5AbWl4aW4gcmVzZXQtdGFibGUtY2VsbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLy8gUmVzZXQgYSBxdW90YXRpb24gKGBxYCwgYGJsb2NrcXVvdGVgKVxuQG1peGluIHJlc2V0LXF1b3RhdGlvbiB7XG4gIHF1b3Rlczogbm9uZTtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7IFxuICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG4vLyBSZXNldHMgdGhlIGJvcmRlci5cbkBtaXhpbiByZXNldC1pbWFnZS1hbmNob3ItYm9yZGVyIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8vIFVucmVjb2duaXplZCBlbGVtZW50cyBhcmUgZGlzcGxheWVkIGlubGluZS5cbi8vIFRoaXMgcmVzZXQgcHJvdmlkZXMgYSBiYXNpYyByZXNldCBmb3IgYmxvY2sgaHRtbDUgZWxlbWVudHNcbi8vIHNvIHRoZXkgYXJlIHJlbmRlcmVkIGNvcnJlY3RseSBpbiBicm93c2VycyB0aGF0IGRvbid0IHJlY29nbml6ZSB0aGVtXG4vLyBhbmQgcmVzZXQgaW4gYnJvd3NlcnMgdGhhdCBoYXZlIGRlZmF1bHQgc3R5bGVzIGZvciB0aGVtLlxuQG1peGluIHJlc2V0LWh0bWw1IHtcbiAgI3tlbGVtZW50cy1vZi10eXBlKGh0bWw1LWJsb2NrKX0ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLy8gUmVzZXRzIHRoZSBkaXNwbGF5IG9mIGlubGluZSBhbmQgYmxvY2sgZWxlbWVudHMgdG8gdGhlaXIgZGVmYXVsdCBkaXNwbGF5XG4vLyBhY2NvcmRpbmcgdG8gdGhlaXIgdGFnIHR5cGUuIEVsZW1lbnRzIHRoYXQgaGF2ZSBhIGRlZmF1bHQgZGlzcGxheSB0aGF0IHZhcmllcyBhY3Jvc3Ncbi8vIHZlcnNpb25zIG9mIGh0bWwgb3IgYnJvd3NlciBhcmUgbm90IGhhbmRsZWQgaGVyZSwgYnV0IHRoaXMgY292ZXJzIHRoZSA5MCUgdXNlIGNhc2UuXG4vLyBVc2FnZSBFeGFtcGxlOlxuLy9cbi8vICAgICAvLyBUdXJuIG9mZiB0aGUgZGlzcGxheSBmb3IgYm90aCBvZiB0aGVzZSBjbGFzc2VzXG4vLyAgICAgLnVucmVnaXN0ZXJlZC1vbmx5LCAucmVnaXN0ZXJlZC1vbmx5XG4vLyAgICAgICBkaXNwbGF5OiBub25lXG4vLyAgICAgLy8gTm93IHR1cm4gb25seSBvbmUgb2YgdGhlbSBiYWNrIG9uIGRlcGVuZGluZyBvbiBzb21lIG90aGVyIGNvbnRleHQuXG4vLyAgICAgYm9keS5yZWdpc3RlcmVkXG4vLyAgICAgICArcmVzZXQtZGlzcGxheShcIi5yZWdpc3RlcmVkLW9ubHlcIilcbi8vICAgICBib2R5LnVucmVnaXN0ZXJlZFxuLy8gICAgICAgK3Jlc2V0LWRpc3BsYXkoXCIudW5yZWdpc3RlcmVkLW9ubHlcIilcbkBtaXhpbiByZXNldC1kaXNwbGF5KCRzZWxlY3RvcjogXCJcIiwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgI3thcHBlbmQtc2VsZWN0b3IoZWxlbWVudHMtb2YtdHlwZShcImlubGluZVwiKSwgJHNlbGVjdG9yKX0ge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgI3thcHBlbmQtc2VsZWN0b3IoZWxlbWVudHMtb2YtdHlwZShcImJsb2NrXCIpLCAkc2VsZWN0b3IpfSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfVxuIiwiLy8gQGRvYyBvZmZcbi8vIEV4dGVuZHMgdGhlIGJvdHRvbSBvZiB0aGUgZWxlbWVudCB0byBlbmNsb3NlIGFueSBmbG9hdHMgaXQgY29udGFpbnMuXG4vLyBAZG9jIG9uXG5cbkBpbXBvcnQgXCJoYWNrc1wiO1xuXG4vLyBUaGlzIGJhc2ljIG1ldGhvZCBpcyBwcmVmZXJyZWQgZm9yIHRoZSB1c3VhbCBjYXNlLCB3aGVuIHBvc2l0aW9uZWRcbi8vIGNvbnRlbnQgd2lsbCBub3Qgc2hvdyBvdXRzaWRlIHRoZSBib3VuZHMgb2YgdGhlIGNvbnRhaW5lci5cbi8vXG4vLyBSZWNvbW1lbmRhdGlvbnMgaW5jbHVkZSB1c2luZyB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYSB3aWR0aC5cbi8vIENyZWRpdDogW3F1aXJrc21vZGUub3JnXShodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAwNS8wMy9jbGVhcmluZ19mbG9hdHMuaHRtbClcbkBtaXhpbiBjbGVhcmZpeCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG59XG5cbi8vIFRoaXMgb2xkZXIgbWV0aG9kIGZyb20gUG9zaXRpb24gSXMgRXZlcnl0aGluZyBjYWxsZWRcbi8vIFtFYXN5IENsZWFyaW5nXShodHRwOi8vd3d3LnBvc2l0aW9uaXNldmVyeXRoaW5nLm5ldC9lYXN5Y2xlYXJpbmcuaHRtbClcbi8vIGhhcyB0aGUgYWR2YW50YWdlIG9mIGFsbG93aW5nIHBvc2l0aW9uZWQgZWxlbWVudHMgdG8gaGFuZ1xuLy8gb3V0c2lkZSB0aGUgYm91bmRzIG9mIHRoZSBjb250YWluZXIgYXQgdGhlIGV4cGVuc2Ugb2YgbW9yZSB0cmlja3kgQ1NTLlxuQG1peGluIGxlZ2FjeS1waWUtY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50ICAgIDogXCJcXDAwMjBcIjtcbiAgICBkaXNwbGF5ICAgIDogYmxvY2s7XG4gICAgaGVpZ2h0ICAgICA6IDA7XG4gICAgY2xlYXIgICAgICA6IGJvdGg7XG4gICAgb3ZlcmZsb3cgICA6IGhpZGRlbjtcbiAgICB2aXNpYmlsaXR5IDogaGlkZGVuO1xuICB9XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG59XG5cbi8vIFRoaXMgaXMgYW4gdXBkYXRlZCB2ZXJzaW9uIG9mIHRoZSBQSUUgY2xlYXJmaXggbWV0aG9kIHRoYXQgcmVkdWNlcyB0aGUgYW1vdW50IG9mIENTUyBvdXRwdXQuXG4vLyBJZiB5b3UgbmVlZCB0byBzdXBwb3J0IEZpcmVmb3ggYmVmb3JlIDMuNSB5b3UgbmVlZCB0byB1c2UgYGxlZ2FjeS1waWUtY2xlYXJmaXhgIGluc3RlYWQuXG4vL1xuLy8gQWRhcHRlZCBmcm9tOiBbQSBuZXcgbWljcm8gY2xlYXJmaXggaGFja10oaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svKVxuQG1peGluIHBpZS1jbGVhcmZpeCB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgQGluY2x1ZGUgaGFzLWxheW91dDtcbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zdXBwb3J0XCI7XG5cbi8vIFRoZSBgem9vbWAgYXBwcm9hY2ggZ2VuZXJhdGVzIGxlc3MgQ1NTIGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZS5cbi8vIFNldCB0aGlzIHRvIGBibG9ja2AgdG8gdXNlIHRoZSBkaXNwbGF5LXByb3BlcnR5IHRvIGhhY2sgdGhlXG4vLyBlbGVtZW50IHRvIGdhaW4gbGF5b3V0LlxuJGRlZmF1bHQtaGFzLWxheW91dC1hcHByb2FjaDogem9vbSAhZGVmYXVsdDtcblxuLy8gVGhpcyBtaXhpbiBjYXVzZXMgYW4gZWxlbWVudCBtYXRjaGluZyB0aGUgc2VsZWN0b3Jcbi8vIHRvIGdhaW4gdGhlIFwiaGFzTGF5b3V0XCIgcHJvcGVydHkgaW4gaW50ZXJuZXQgZXhwbG9yZXIuXG4vLyBNb3JlIGluZm9ybWF0aW9uIG9uIFtoYXNMYXlvdXRdKGh0dHA6Ly9yZWZlcmVuY2Uuc2l0ZXBvaW50LmNvbS9jc3MvaGFzbGF5b3V0KS5cbkBtaXhpbiBoYXMtbGF5b3V0KCRhcHByb2FjaDogJGRlZmF1bHQtaGFzLWxheW91dC1hcHByb2FjaCkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgQGlmICRhcHByb2FjaCA9PSB6b29tIHtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtem9vbTtcbiAgICB9IEBlbHNlIGlmICRhcHByb2FjaCA9PSBibG9jayB7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LWJsb2NrO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHdhcm4gXCJVbmtub3duIGhhcy1sYXlvdXQgYXBwcm9hY2g6ICN7JGFwcHJvYWNofVwiO1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC16b29tO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaGFzLWxheW91dC16b29tIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IHtcbiAgICAqem9vbTogMTtcbiAgfVxufVxuXG5AbWl4aW4gaGFzLWxheW91dC1ibG9jayB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICAvLyBUaGlzIG1ha2VzIGllNiBnZXQgbGF5b3V0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8vIGFuZCB0aGlzIHB1dHMgaXQgYmFjayB0byBibG9ja1xuICAgICYgeyBkaXNwbGF5OiBibG9jazsgfVxuICB9XG59XG5cbi8vIEEgaGFjayB0byBzdXBwbHkgSUU2IChhbmQgYmVsb3cpIHdpdGggYSBkaWZmZXJlbnQgcHJvcGVydHkgdmFsdWUuXG4vLyBbUmVhZCBtb3JlXShodHRwOi8vd3d3LmNzc3BvcnRhbC5jb20vY3NzLWhhY2tzLyNpbl9jc3MtaW1wb3J0YW50KS5cbkBtaXhpbiBiYW5nLWhhY2soJHByb3BlcnR5LCAkdmFsdWUsICRpZTYtdmFsdWUpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgICN7JHByb3BlcnR5fTogI3skaWU2LXZhbHVlfTtcbiAgfVxufVxuIiwiLy8gVXN1YWxseSBjb21wYXNzIGhhY2tzIGFwcGx5IHRvIGJvdGggaWU2ICYgNyAtLSBzZXQgdGhpcyB0byBmYWxzZSB0byBkaXNhYmxlIHN1cHBvcnQgZm9yIGJvdGguXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBTZXR0aW5nIHRoaXMgdG8gZmFsc2Ugd2lsbCByZXN1bHQgaW4gc21hbGxlciBvdXRwdXQsIGJ1dCBubyBzdXBwb3J0IGZvciBpZTYgaGFja3NcbiRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2OiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllICFkZWZhdWx0O1xuXG4vLyBTZXR0aW5nIHRoaXMgdG8gZmFsc2Ugd2lsbCByZXN1bHQgaW4gc21hbGxlciBvdXRwdXQsIGJ1dCBubyBzdXBwb3J0IGZvciBpZTcgaGFja3NcbiRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3OiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllICFkZWZhdWx0O1xuXG4vLyBTZXR0aW5nIHRoaXMgdG8gZmFsc2Ugd2lsbCByZXN1bHQgaW4gc21hbGxlciBvdXRwdXQsIGJ1dCBubyBzdXBwb3J0IGZvciBsZWdhY3kgaWU4IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllODogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gQHByaXZhdGVcbi8vIFRoZSB1c2VyIGNhbiBzaW1wbHkgc2V0ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUgYW5kIDYsIDcsIGFuZCA4IHdpbGwgYmUgc2V0IGFjY29yZGluZ2x5LFxuLy8gQnV0IGluIGNhc2UgdGhlIHVzZXIgc2V0IGVhY2ggb2YgdGhvc2UgZXhwbGljaXRseSwgd2UgbmVlZCB0byBzeW5jIHRoZSB2YWx1ZSBvZlxuLy8gdGhpcyBjb21iaW5lZCB2YXJpYWJsZS5cbiRsZWdhY3ktc3VwcG9ydC1mb3ItaWU6ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4O1xuXG4vLyBXaGV0aGVyIHRvIG91dHB1dCBsZWdhY3kgc3VwcG9ydCBmb3IgbW96aWxsYS5cbi8vIFVzdWFsbHkgdGhpcyBtZWFucyBoYWNrcyB0byBzdXBwb3J0IEZpcmVmb3ggMy42IG9yIGVhcmxpZXIuXG4kbGVnYWN5LXN1cHBvcnQtZm9yLW1vemlsbGE6IHRydWU7XG5cbi8vIFN1cHBvcnQgZm9yIG1vemlsbGEgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLW1veikuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciB3ZWJraXQgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLXdlYmtpdCkuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciB3ZWJraXQncyBvcmlnaW5hbCAobm9uLXN0YW5kYXJkKSBncmFkaWVudCBzeW50YXguXG4kc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBvcGVyYSBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgtbykuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBtaWNyb3NvZnQgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLW1zKS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0ICAgIDogdHJ1ZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIGtodG1sIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1raHRtbCkuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igc3ZnIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMuXG4vLyBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSBtaWdodCBhZGQgc2lnbmlmaWNhbnQgc2l6ZSB0byB5b3VyXG4vLyBnZW5lcmF0ZWQgc3R5bGVzaGVldHMuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3IgQ1NTIFBJRSBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgtcGllKS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLyBJbXBsZW1lbnRhdGlvbiBvZiBmbG9hdDpsZWZ0IHdpdGggZml4IGZvciB0aGVcbi8vIFtkb3VibGUtbWFyZ2luIGJ1ZyBpbiBJRTUvNl0oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZXhwbG9yZXIvZG91YmxlZC1tYXJnaW4uaHRtbClcbkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgQGluY2x1ZGUgZmxvYXQobGVmdCk7IH1cblxuLy8gSW1wbGVtZW50YXRpb24gb2YgZmxvYXQ6cmlnaHQgd2l0aCBmaXggZm9yIHRoZVxuLy8gW2RvdWJsZS1tYXJnaW4gYnVnIGluIElFNS82XShodHRwOi8vd3d3LnBvc2l0aW9uaXNldmVyeXRoaW5nLm5ldC9leHBsb3Jlci9kb3VibGVkLW1hcmdpbi5odG1sKVxuQG1peGluIGZsb2F0LXJpZ2h0IHtcbiAgQGluY2x1ZGUgZmxvYXQocmlnaHQpOyB9XG5cbi8vIERpcmVjdGlvbiBpbmRlcGVuZGVudCBmbG9hdCBtaXhpbiB0aGF0IGZpeGVzIHRoZVxuLy8gW2RvdWJsZS1tYXJnaW4gYnVnIGluIElFNS82XShodHRwOi8vd3d3LnBvc2l0aW9uaXNldmVyeXRoaW5nLm5ldC9leHBsb3Jlci9kb3VibGVkLW1hcmdpbi5odG1sKVxuQG1peGluIGZsb2F0KCRzaWRlOiBsZWZ0KSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IHVucXVvdGUoJHNpZGUpOyB9XG5cbi8vIFJlc2V0cyBmbG9hdGVkIGVsZW1lbnRzIGJhY2sgdG8gdGhlaXIgZGVmYXVsdCBvZiBgZmxvYXQ6IG5vbmVgIGFuZCBkZWZhdWx0c1xuLy8gdG8gYGRpc3BsYXk6IGJsb2NrYCB1bmxlc3MgeW91IHBhc3MgYGlubGluZWAgYXMgYW4gYXJndW1lbnRcbi8vXG4vLyBVc2FnZSBFeGFtcGxlOlxuLy9cbi8vICAgICBib2R5LmhvbWVwYWdlXG4vLyAgICAgICAjZm9vdGVyIGxpXG4vLyAgICAgICAgICtmbG9hdC1sZWZ0XG4vLyAgICAgYm9keS5zaWdudXBcbi8vICAgICAgICNmb290ZXIgbGlcbi8vICAgICAgICAgK3Jlc2V0LWZsb2F0XG5AbWl4aW4gcmVzZXQtZmxvYXQoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiAkZGlzcGxheTsgfSIsIi8vIEVtaXRzIHN0eWxlcyBmb3IgYSB0YWcgY2xvdWRcbkBtaXhpbiB0YWctY2xvdWQoJGJhc2Utc2l6ZTogMWVtKSB7XG4gIGZvbnQtc2l6ZTogJGJhc2Utc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMiAqICRiYXNlLXNpemU7XG4gIC54eHMsIC54cywgLnMsIC5sLCAueGwsIC54eGwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIgKiAkYmFzZS1zaXplOyB9XG4gIC54eHMge1xuICAgIGZvbnQtc2l6ZTogJGJhc2Utc2l6ZSAvIDI7IH1cbiAgLnhzIHtcbiAgICBmb250LXNpemU6IDIgKiAkYmFzZS1zaXplIC8gMzsgfVxuICAucyB7XG4gICAgZm9udC1zaXplOiAzICogJGJhc2Utc2l6ZSAvIDQ7IH1cbiAgLmwge1xuICAgIGZvbnQtc2l6ZTogNCAqICRiYXNlLXNpemUgLyAzOyB9XG4gIC54bCB7XG4gICAgZm9udC1zaXplOiAzICogJGJhc2Utc2l6ZSAvIDI7IH1cbiAgLnh4bCB7XG4gICAgZm9udC1zaXplOiAyICogJGJhc2Utc2l6ZTsgfSB9XG4iLCJAaW1wb3J0IFwiaGFja3NcIjtcblxuLy8qKlxuLy8gQ3Jvc3MgYnJvd3NlciBtaW4taGVpZ2h0IG1peGluLlxuQG1peGluIG1pbi1oZWlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGhhY2tlZC1taW5pbXVtKGhlaWdodCwgJHZhbHVlKTsgfVxuXG4vLyoqXG4vLyBDcm9zcyBicm93c2VyIG1pbi13aWR0aCBtaXhpbi5cbkBtaXhpbiBtaW4td2lkdGgoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGhhY2tlZC1taW5pbXVtKHdpZHRoLCAkdmFsdWUpOyB9XG5cbi8vIEBwcml2YXRlIFRoaXMgbWl4aW4gaXMgbm90IG1lYW50IHRvIGJlIHVzZWQgZGlyZWN0bHkuXG5AbWl4aW4gaGFja2VkLW1pbmltdW0oJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgbWluLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICBAaW5jbHVkZSBiYW5nLWhhY2soJHByb3BlcnR5LCBhdXRvLCAkdmFsdWUpOyB9XG4iLCJAaW1wb3J0IFwic3ByaXRlcy9iYXNlXCI7XG5AaW1wb3J0IFwic3ByaXRlcy9zcHJpdGUtaW1nXCI7XG4iLCIvLyBEZXRlcm1pbmVzIHRob3NlIHN0YXRlcyBmb3Igd2hpY2ggeW91IHdhbnQgdG8gZW5hYmxlIG1hZ2ljIHNwcml0ZSBzZWxlY3RvcnNcbiRzcHJpdGUtc2VsZWN0b3JzOiBob3ZlciwgdGFyZ2V0LCBhY3RpdmUgIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgd2lkdGggYW5kIGhlaWdodCBvZiBhbiBlbGVtZW50IHRvIHRoZSBvcmlnaW5hbFxuLy8gZGltZW5zaW9ucyBvZiBhbiBpbWFnZSBiZWZvcmUgaXQgd2FzIGluY2x1ZGVkIGluIHRoZSBzcHJpdGUuXG5AbWl4aW4gc3ByaXRlLWRpbWVuc2lvbnMoJG1hcCwgJHNwcml0ZSkge1xuICBoZWlnaHQ6IGltYWdlLWhlaWdodChzcHJpdGUtZmlsZSgkbWFwLCAkc3ByaXRlKSk7XG4gIHdpZHRoOiBpbWFnZS13aWR0aChzcHJpdGUtZmlsZSgkbWFwLCAkc3ByaXRlKSk7XG59XG5cbi8vIFNldCB0aGUgYmFja2dyb3VuZCBwb3NpdGlvbiBvZiB0aGUgZ2l2ZW4gc3ByaXRlIGAkbWFwYCB0byBkaXNwbGF5IHRoZVxuLy8gc3ByaXRlIG9mIHRoZSBnaXZlbiBgJHNwcml0ZWAgbmFtZS4gWW91IGNhbiBtb3ZlIHRoZSBpbWFnZSByZWxhdGl2ZSB0byBpdHNcbi8vIG5hdHVyYWwgcG9zaXRpb24gYnkgcGFzc2luZyBgJG9mZnNldC14YCBhbmQgYCRvZmZzZXQteWAuXG5AbWl4aW4gc3ByaXRlLWJhY2tncm91bmQtcG9zaXRpb24oJG1hcCwgJHNwcml0ZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogc3ByaXRlLXBvc2l0aW9uKCRtYXAsICRzcHJpdGUsICRvZmZzZXQteCwgJG9mZnNldC15KTsgIFxufVxuXG5cbi8vIERldGVybWluZXMgaWYgeW91IHdhbnQgdG8gaW5jbHVkZSBtYWdpYyBzZWxlY3RvcnMgaW4geW91ciBzcHJpdGVzXG4kZGlzYWJsZS1tYWdpYy1zcHJpdGUtc2VsZWN0b3JzOmZhbHNlICFkZWZhdWx0O1xuXG4vLyBJbmNsdWRlIHRoZSBwb3NpdGlvbiBhbmQgKG9wdGlvbmFsbHkpIGRpbWVuc2lvbnMgb2YgdGhpcyBgJHNwcml0ZWBcbi8vIGluIHRoZSBnaXZlbiBzcHJpdGUgYCRtYXBgLiBUaGUgc3ByaXRlIHVybCBzaG91bGQgY29tZSBmcm9tIGVpdGhlciBhIGJhc2Vcbi8vIGNsYXNzIG9yIHlvdSBjYW4gc3BlY2lmeSB0aGUgYHNwcml0ZS11cmxgIGV4cGxpY2l0bHkgbGlrZSB0aGlzOlxuLy9cbi8vICAgICBiYWNrZ3JvdW5kOiAkbWFwIG5vLXJlcGVhdDtcbkBtaXhpbiBzcHJpdGUoJG1hcCwgJHNwcml0ZSwgJGRpbWVuc2lvbnM6IGZhbHNlLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCkge1xuICBAaW5jbHVkZSBzcHJpdGUtYmFja2dyb3VuZC1wb3NpdGlvbigkbWFwLCAkc3ByaXRlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG4gIEBpZiAkZGltZW5zaW9ucyB7XG4gICAgQGluY2x1ZGUgc3ByaXRlLWRpbWVuc2lvbnMoJG1hcCwgJHNwcml0ZSk7XG4gIH1cbiAgQGlmIG5vdCgkZGlzYWJsZS1tYWdpYy1zcHJpdGUtc2VsZWN0b3JzKSB7XG4gICAgQGluY2x1ZGUgc3ByaXRlLXNlbGVjdG9ycygkbWFwLCAkc3ByaXRlLCAkc3ByaXRlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG4gIH1cbn1cblxuLy8gSW5jbHVkZSB0aGUgc2VsZWN0b3JzIGZvciB0aGUgYCRzcHJpdGVgIGdpdmVuIHRoZSBgJG1hcGAgYW5kIHRoZSBcbi8vIGAkZnVsbC1zcHJpdGUtbmFtZWBcbi8vIEBwcml2YXRlXG5AbWl4aW4gc3ByaXRlLXNlbGVjdG9ycygkbWFwLCAkc3ByaXRlLW5hbWUsICRmdWxsLXNwcml0ZS1uYW1lLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCkge1xuICBAZWFjaCAkc2VsZWN0b3IgaW4gJHNwcml0ZS1zZWxlY3RvcnMge1xuICAgIEBpZiBzcHJpdGVfaGFzX3NlbGVjdG9yKCRtYXAsICRzcHJpdGUtbmFtZSwgJHNlbGVjdG9yKSB7XG4gICAgICAmOiN7JHNlbGVjdG9yfSwgJi4jeyRmdWxsLXNwcml0ZS1uYW1lfV8jeyRzZWxlY3Rvcn0sICYuI3skZnVsbC1zcHJpdGUtbmFtZX0tI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBzcHJpdGUtYmFja2dyb3VuZC1wb3NpdGlvbigkbWFwLCBcIiN7JHNwcml0ZS1uYW1lfV8jeyRzZWxlY3Rvcn1cIiwgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBHZW5lcmF0ZXMgYSBjbGFzcyBmb3IgZWFjaCBzcGFjZSBzZXBhcmF0ZWQgbmFtZSBpbiBgJHNwcml0ZS1uYW1lc2AuXG4vLyBUaGUgY2xhc3Mgd2lsbCBiZSBvZiB0aGUgZm9ybSAuPG1hcC1uYW1lPi08c3ByaXRlLW5hbWU+LlxuLy9cbi8vIElmIGEgYmFzZSBjbGFzcyBpcyBwcm92aWRlZCwgdGhlbiBlYWNoIGNsYXNzIHdpbGwgZXh0ZW5kIGl0LlxuLy9cbi8vIElmIGAkZGltZW5zaW9uc2AgaXMgYHRydWVgLCB0aGUgc3ByaXRlIGRpbWVuc2lvbnMgd2lsbCBzcGVjaWZpZWQuXG5AbWl4aW4gc3ByaXRlcygkbWFwLCAkc3ByaXRlLW5hbWVzLCAkYmFzZS1jbGFzczogZmFsc2UsICRkaW1lbnNpb25zOiBmYWxzZSwgJHByZWZpeDogc3ByaXRlLW1hcC1uYW1lKCRtYXApLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCkge1xuICBAZWFjaCAkc3ByaXRlLW5hbWUgaW4gJHNwcml0ZS1uYW1lcyB7XG4gICAgQGlmIHNwcml0ZV9kb2VzX25vdF9oYXZlX3BhcmVudCgkbWFwLCAkc3ByaXRlLW5hbWUpIHtcbiAgICAgICRmdWxsLXNwcml0ZS1uYW1lOiBcIiN7JHByZWZpeH0tI3skc3ByaXRlLW5hbWV9XCI7XG4gICAgICAuI3skZnVsbC1zcHJpdGUtbmFtZX0ge1xuICAgICAgICBAaWYgJGJhc2UtY2xhc3MgeyBAZXh0ZW5kICN7JGJhc2UtY2xhc3N9OyB9XG4gICAgICAgIEBpbmNsdWRlIHNwcml0ZSgkbWFwLCAkc3ByaXRlLW5hbWUsICRkaW1lbnNpb25zLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLy8gQGRvYyBvZmZcbi8vIEV4YW1wbGUgMTpcbi8vXG4vLyAgICAgYS50d2l0dGVyXG4vLyAgICAgICArc3ByaXRlLWltZyhcImljb25zLTMyLnBuZ1wiLCAxKVxuLy8gICAgIGEuZmFjZWJvb2tcbi8vICAgICAgICtzcHJpdGUtaW1nKFwiaWNvbnMtMzJwbmdcIiwgMilcbi8vXG4vLyBFeGFtcGxlIDI6XG4vL1xuLy8gICAgIGFcbi8vICAgICAgICtzcHJpdGUtYmFja2dyb3VuZChcImljb25zLTMyLnBuZ1wiKVxuLy8gICAgICAgYS50d2l0dGVyXG4vLyAgICAgICAgICtzcHJpdGUtY29sdW1uKDEpXG4vLyAgICAgICBhLmZhY2Vib29rXG4vLyAgICAgICAgICtzcHJpdGUtcm93KDIpXG4vLyBAZG9jIG9uXG5cbiRzcHJpdGUtZGVmYXVsdC1zaXplOiAzMnB4ICFkZWZhdWx0O1xuXG4kc3ByaXRlLWRlZmF1bHQtbWFyZ2luOiAwcHggIWRlZmF1bHQ7XG5cbiRzcHJpdGUtaW1hZ2UtZGVmYXVsdC13aWR0aDogJHNwcml0ZS1kZWZhdWx0LXNpemUgIWRlZmF1bHQ7XG5cbiRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQ6ICRzcHJpdGUtZGVmYXVsdC1zaXplICFkZWZhdWx0O1xuXG4vLyBTZXRzIGFsbCB0aGUgcnVsZXMgZm9yIGEgc3ByaXRlIGZyb20gYSBnaXZlbiBzcHJpdGUgaW1hZ2UgdG8gc2hvdyBqdXN0IG9uZSBvZiB0aGUgc3ByaXRlcy5cbi8vIFRvIHJlZHVjZSBkdXBsaWNhdGlvbiB1c2UgYSBzcHJpdGUtYmcgbWl4aW4gZm9yIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCBhIHNwcml0ZS1zZWxlY3QgbWl4aW4gZm9yIHBvc2l0aW9uaW5nLlxuQG1peGluIHNwcml0ZS1pbWcoJGltZywgJGNvbCwgJHJvdzogMSwgJHdpZHRoOiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGgsICRoZWlnaHQ6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQsICRtYXJnaW46ICRzcHJpdGUtZGVmYXVsdC1tYXJnaW4pIHtcbiAgQGluY2x1ZGUgc3ByaXRlLWJhY2tncm91bmQoJGltZywgJHdpZHRoLCAkaGVpZ2h0KTtcbiAgQGluY2x1ZGUgc3ByaXRlLXBvc2l0aW9uKCRjb2wsICRyb3csICR3aWR0aCwgJGhlaWdodCwgJG1hcmdpbik7IFxufVxuXG4vLyBTZXRzIHJ1bGVzIGNvbW1vbiBmb3IgYWxsIHNwcml0ZXMsIGFzc3VtZXMgeW91IHdhbnQgYSBzcXVhcmUsIGJ1dCBhbGxvd3MgYSByZWN0YW5ndWxhciByZWdpb24uXG5AbWl4aW4gc3ByaXRlLWJhY2tncm91bmQoJGltZywgJHdpZHRoOiAkc3ByaXRlLWRlZmF1bHQtc2l6ZSwgJGhlaWdodDogJHdpZHRoKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1iYWNrZ3JvdW5kLXJlY3RhbmdsZSgkaW1nLCAkd2lkdGgsICRoZWlnaHQpOyBcbn1cblxuLy8gU2V0cyBydWxlcyBjb21tb24gZm9yIGFsbCBzcHJpdGVzLCBhc3N1bWVzIGEgcmVjdGFuZ3VsYXIgcmVnaW9uLlxuQG1peGluIHNwcml0ZS1iYWNrZ3JvdW5kLXJlY3RhbmdsZSgkaW1nLCAkd2lkdGg6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC13aWR0aCwgJGhlaWdodDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LWhlaWdodCkge1xuICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGltZykgbm8tcmVwZWF0O1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IFxufVxuXG4vLyBBbGxvd3MgaG9yaXpvbnRhbCBzcHJpdGUgcG9zaXRpb25pbmcgb3B0aW1pemVkIGZvciBhIHNpbmdsZSByb3cgb2Ygc3ByaXRlcy5cbkBtaXhpbiBzcHJpdGUtY29sdW1uKCRjb2wsICR3aWR0aDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LXdpZHRoLCAkbWFyZ2luOiAkc3ByaXRlLWRlZmF1bHQtbWFyZ2luKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1wb3NpdGlvbigkY29sLCAxLCAkd2lkdGgsIDBweCwgJG1hcmdpbik7IFxufVxuXG4vLyBBbGxvd3MgdmVydGljYWwgc3ByaXRlIHBvc2l0aW9uaW5nIG9wdGltaXplZCBmb3IgYSBzaW5nbGUgY29sdW1uIG9mIHNwcml0ZXMuXG5AbWl4aW4gc3ByaXRlLXJvdygkcm93LCAkaGVpZ2h0OiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0LCAkbWFyZ2luOiAkc3ByaXRlLWRlZmF1bHQtbWFyZ2luKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1wb3NpdGlvbigxLCAkcm93LCAwcHgsICRoZWlnaHQsICRtYXJnaW4pOyBcbn1cblxuLy8gQWxsb3dzIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsIHNwcml0ZSBwb3NpdGlvbmluZyBmcm9tIGEgZ3JpZCBvZiBlcXVhbCBkaW1lbnNpb25lZCBzcHJpdGVzLlxuQG1peGluIHNwcml0ZS1wb3NpdGlvbigkY29sLCAkcm93OiAxLCAkd2lkdGg6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC13aWR0aCwgJGhlaWdodDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LWhlaWdodCwgJG1hcmdpbjogJHNwcml0ZS1kZWZhdWx0LW1hcmdpbikge1xuICAkeDogKCRjb2wgLSAxKSAqIC0kd2lkdGggLSAoJGNvbCAtIDEpICogJG1hcmdpbjtcbiAgJHk6ICgkcm93IC0gMSkgKiAtJGhlaWdodCAtICgkcm93IC0gMSkgKiAkbWFyZ2luO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkeCAkeTsgXG59XG5cblxuXG4vLyBTaW1pbGFyIHRvICdzcHJpdGUtcmVwbGFjZS10ZXh0LXdpdGgtZGltZW5zaW9ucycgYnV0IGRvZXMgbm90IGF1dG1hdGljbHkgc2V0IHRoZSBkZW1lbnNpb25zXG5AbWl4aW4gc3ByaXRlLXJlcGxhY2UtdGV4dCAoJG1hcCwgJHNwcml0ZSwgJGRpbWVuc2lvbnM6IGZhbHNlLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCkgeyAgICBcbiAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuICBAaW5jbHVkZSBzcHJpdGUoJG1hcCwgJHNwcml0ZSwgJGRpbWVuc2lvbnMsICRvZmZzZXQteCwgJG9mZnNldC15KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogJG1hcDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLy8gU2ltaWxhciB0byAncmVwbGFjZS10ZXh0LXdpdGgtZGltZW5zaW9ucycgYnV0IHdpdGggc3ByaXRlc1xuLy8gVG8gdXNlLCBjcmVhdGUgeW91ciBzcHJpdGUgYW5kIHRoZW4gcGFzcyBpdCBpbiB0aGUgYCRtYXBgIHBhcmFtXG4vLyBUaGUgbmFtZSBvZiB0aGUgaW1hZ2UgaW4gdGhlIHNwcml0ZSBmb2xkZXIgc2hvdWxkIGJlIGAkaW1nLW5hbWVgXG5AbWl4aW4gc3ByaXRlLXJlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMgKCRtYXAsICRzcHJpdGUsICRvZmZzZXQteDogMCwgJG9mZnNldC15OiAwKXsgICAgXG4gIEBpbmNsdWRlIHNwcml0ZS1yZXBsYWNlLXRleHQgKCRtYXAsICRzcHJpdGUsIHRydWUsICRvZmZzZXQteCwgJG9mZnNldC15KTtcbn0iLCJAaW1wb3J0IFwidGFibGVzL2FsdGVybmF0aW5nLXJvd3MtYW5kLWNvbHVtbnNcIjtcbkBpbXBvcnQgXCJ0YWJsZXMvYm9yZGVyc1wiO1xuQGltcG9ydCBcInRhYmxlcy9zY2FmZm9sZGluZ1wiO1xuIiwiQG1peGluIGFsdGVybmF0aW5nLXJvd3MtYW5kLWNvbHVtbnMoJGV2ZW4tcm93LWNvbG9yLCAkb2RkLXJvdy1jb2xvciwgJGRhcmstaW50ZXJzZWN0aW9uLCAkaGVhZGVyLWNvbG9yOiB3aGl0ZSwgJGZvb3Rlci1jb2xvcjogd2hpdGUpIHtcbiAgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgJi5ldmVuLCAmOm50aC1jaGlsZCgybikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1jb2xvciAtICRkYXJrLWludGVyc2VjdGlvbjsgfSB9XG4gIHRyIHtcbiAgICAmLm9kZCwgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgdGQge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvZGQtcm93LWNvbG9yO1xuICAgICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvZGQtcm93LWNvbG9yIC0gJGRhcmstaW50ZXJzZWN0aW9uOyB9IH0gfVxuICAgIH1cbiAgdHIuZXZlbiB7XG4gICAgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW4tcm93LWNvbG9yO1xuICAgICAgJi5ldmVuLCAmOm50aC1jaGlsZCgybikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbi1yb3ctY29sb3IgLSAkZGFyay1pbnRlcnNlY3Rpb247IH0gfSB9XG4gIHRmb290IHtcbiAgICB0aCwgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1jb2xvcjtcbiAgICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1jb2xvciAtICRkYXJrLWludGVyc2VjdGlvbjsgfSB9IH0gfVxuIiwiQG1peGluIG91dGVyLXRhYmxlLWJvcmRlcnMoJHdpZHRoOiAycHgsICRjb2xvcjogYmxhY2spIHtcbiAgYm9yZGVyOiAkd2lkdGggc29saWQgJGNvbG9yO1xuICB0aGVhZCB7XG4gICAgdGgge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRjb2xvcjsgfSB9XG4gIHRmb290IHtcbiAgICB0aCwgdGQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRjb2xvcjsgfSB9XG4gIHRoIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRjb2xvcjsgfSB9IH1cblxuQG1peGluIGlubmVyLXRhYmxlLWJvcmRlcnMoJHdpZHRoOiAycHgsICRjb2xvcjogYmxhY2spIHtcbiAgdGgsIHRkIHtcbiAgICBib3JkZXI6IHtcbiAgICAgIHJpZ2h0OiAkd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgYm90dG9tOiAkd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgbGVmdC13aWR0aDogMHB4O1xuICAgICAgdG9wLXdpZHRoOiAwcHg7IH07XG4gICAgJjpsYXN0LWNoaWxkLFxuICAgICYubGFzdCB7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDBweDsgfSB9XG5cbi8vIElFOCBpZ25vcmVzIHJ1bGVzIHRoYXQgYXJlIGluY2x1ZGVkIG9uIHRoZSBzYW1lIGxpbmUgYXMgOmxhc3QtY2hpbGRcbi8vIHNlZSBodHRwOi8vd3d3LnJpY2hhcmRzY2Fycm90dC5jby51ay9wb3N0cy92aWV3L2llOC1sYXN0LWNoaWxkLWJ1ZyBmb3IgZGV0YWlsc1xuXG4gIHRib2R5LCB0Zm9vdCB7XG4gICAgdHI6bGFzdC1jaGlsZCB7XG4gICAgICB0aCwgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwcHg7IH0gfVxuICAgIHRyLmxhc3Qge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4OyB9IH0gfSB9XG4iLCJAbWl4aW4gdGFibGUtc2NhZmZvbGRpbmcge1xuICB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRkLFxuICB0aCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgICYubnVtZXJpYyB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9IH1cbiIsIkBpbXBvcnQgXCJsaW5rcy9ob3Zlci1saW5rXCI7XG5AaW1wb3J0IFwibGlua3MvbGluay1jb2xvcnNcIjtcbkBpbXBvcnQgXCJsaW5rcy91bnN0eWxlZC1saW5rXCI7XG4iLCIvLyBhIGxpbmsgdGhhdCBvbmx5IGhhcyBhbiB1bmRlcmxpbmUgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdFxuQG1peGluIGhvdmVyLWxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cbiIsIi8vIFNldCBhbGwgdGhlIGNvbG9ycyBmb3IgYSBsaW5rIHdpdGggb25lIG1peGluIGNhbGwuXG4vLyBPcmRlciBvZiBhcmd1bWVudHMgaXM6XG4vL1xuLy8gMS4gbm9ybWFsXG4vLyAyLiBob3ZlclxuLy8gMy4gYWN0aXZlXG4vLyA0LiB2aXNpdGVkXG4vLyA1LiBmb2N1c1xuLy9cbi8vIFRob3NlIHN0YXRlcyBub3Qgc3BlY2lmaWVkIHdpbGwgaW5oZXJpdC5cbi8vIE1peGluIHRvIGFuIGFuY2hvciBsaW5rIGxpa2Ugc286XG4vLyAgICAgYVxuLy8gICAgICAgK2xpbmstY29sb3JzKCMwMGMsICMwY2MsICNjMGMsICNjY2MsICNjYzApXG5cbkBtaXhpbiBsaW5rLWNvbG9ycygkbm9ybWFsLCAkaG92ZXI6IGZhbHNlLCAkYWN0aXZlOiBmYWxzZSwgJHZpc2l0ZWQ6IGZhbHNlLCAkZm9jdXM6IGZhbHNlKSB7XG4gIGNvbG9yOiAkbm9ybWFsO1xuICBAaWYgJHZpc2l0ZWQge1xuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJHZpc2l0ZWQ7IH0gfVxuICBAaWYgJGZvY3VzIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZm9jdXM7IH0gfVxuICBAaWYgJGhvdmVyIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkaG92ZXI7IH0gfVxuICBAaWYgJGFjdGl2ZSB7XG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRhY3RpdmU7IH0gfSB9XG4iLCIvLyBBIGxpbmsgdGhhdCBsb29rcyBhbmQgYWN0cyBsaWtlIHRoZSB0ZXh0IGl0IGlzIGNvbnRhaW5lZCB3aXRoaW5cbkBtaXhpbiB1bnN0eWxlZC1saW5rIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgY3Vyc29yOiBpbmhlcml0O1xuICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfSB9XG4iLCJAaW1wb3J0IFwibGlzdHMvaG9yaXpvbnRhbC1saXN0XCI7XG5AaW1wb3J0IFwibGlzdHMvaW5saW5lLWxpc3RcIjtcbkBpbXBvcnQgXCJsaXN0cy9pbmxpbmUtYmxvY2stbGlzdFwiO1xuQGltcG9ydCBcImxpc3RzL2J1bGxldHNcIjtcbiIsIi8vIEhvcml6b250YWwgbGlzdCBsYXlvdXQgbW9kdWxlLlxuLy9cbi8vIEVhc3kgbW9kZSB1c2luZyBzaW1wbGUgZGVzY2VuZGFudCBsaSBzZWxlY3RvcnM6XG4vL1xuLy8gICB1bC5uYXZcbi8vICAgICAraG9yaXpvbnRhbC1saXN0XG4vL1xuLy8gQWR2YW5jZWQgbW9kZTpcbi8vIElmIHlvdSBuZWVkIHRvIHRhcmdldCB0aGUgbGlzdCBpdGVtcyB1c2luZyBhIGRpZmZlcmVudCBzZWxlY3RvciB0aGVuIHVzZVxuLy8gK2hvcml6b250YWwtbGlzdC1jb250YWluZXIgb24geW91ciB1bC9vbCBhbmQgK2hvcml6b250YWwtbGlzdC1pdGVtIG9uIHlvdXIgbGkuXG4vLyBUaGlzIG1heSBoZWxwIHdoZW4gd29ya2luZyBvbiBsYXlvdXRzIGludm9sdmluZyBuZXN0ZWQgbGlzdHMuIEZvciBleGFtcGxlOlxuLy9cbi8vICAgdWwubmF2XG4vLyAgICAgK2hvcml6b250YWwtbGlzdC1jb250YWluZXJcbi8vICAgICA+IGxpXG4vLyAgICAgICAraG9yaXpvbnRhbC1saXN0LWl0ZW1cblxuQGltcG9ydCBcImJ1bGxldHNcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvZ2VuZXJhbC9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9nZW5lcmFsL3Jlc2V0XCI7XG5AaW1wb3J0IFwiLi4vLi4vdXRpbGl0aWVzL2dlbmVyYWwvZmxvYXRcIjtcblxuLy8gQ2FuIGJlIG1peGVkIGludG8gYW55IHNlbGVjdG9yIHRoYXQgdGFyZ2V0IGEgdWwgb3Igb2wgdGhhdCBpcyBtZWFudFxuLy8gdG8gaGF2ZSBhIGhvcml6b250YWwgbGF5b3V0LiBVc2VkIHRvIGltcGxlbWVudCAraG9yaXpvbnRhbC1saXN0LlxuQG1peGluIGhvcml6b250YWwtbGlzdC1jb250YWluZXIge1xuICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWw7XG4gIEBpbmNsdWRlIGNsZWFyZml4OyB9XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBsaSBzZWxlY3RvciB0aGF0IGlzIG1lYW50IHRvIHBhcnRpY2lwYXRlIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQuXG4vLyBVc2VkIHRvIGltcGxlbWVudCAraG9yaXpvbnRhbC1saXN0LlxuLy9cbi8vIDpsYXN0LWNoaWxkIGlzIG5vdCBmdWxseSBzdXBwb3J0ZWRcbi8vIHNlZSBodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2Nzcy9jb250ZW50cy5odG1sI3QyOSBmb3IgdGhlIHN1cHBvcnQgbWF0cml4XG4vL1xuLy8gSUU4IGlnbm9yZXMgcnVsZXMgdGhhdCBhcmUgaW5jbHVkZWQgb24gdGhlIHNhbWUgbGluZSBhcyA6bGFzdC1jaGlsZFxuLy8gc2VlIGh0dHA6Ly93d3cucmljaGFyZHNjYXJyb3R0LmNvLnVrL3Bvc3RzL3ZpZXcvaWU4LWxhc3QtY2hpbGQtYnVnIGZvciBkZXRhaWxzXG4vL1xuLy8gU2V0dGluZyBgJHBhZGRpbmdgIHRvIGBmYWxzZWAgZGlzYWJsZXMgdGhlIHBhZGRpbmcgYmV0d2VlbiBsaXN0IGVsZW1lbnRzXG5AbWl4aW4gaG9yaXpvbnRhbC1saXN0LWl0ZW0oJHBhZGRpbmc6IDRweCwgJGRpcmVjdGlvbjogbGVmdCkge1xuICBAaW5jbHVkZSBuby1idWxsZXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIEBpbmNsdWRlIGZsb2F0KCRkaXJlY3Rpb24pO1xuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIGxlZnQ6ICRwYWRkaW5nO1xuICAgICAgcmlnaHQ6ICRwYWRkaW5nO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkLCAmLmZpcnN0IHsgcGFkZGluZy0jeyRkaXJlY3Rpb259OiAwOyB9XG4gICAgJjpsYXN0LWNoaWxkIHsgcGFkZGluZy0je29wcG9zaXRlLXBvc2l0aW9uKCRkaXJlY3Rpb24pfTogMDsgfVxuICAgICYubGFzdCB7IHBhZGRpbmctI3tvcHBvc2l0ZS1wb3NpdGlvbigkZGlyZWN0aW9uKX06IDA7IH1cbiAgfVxufVxuXG4vLyBBIGxpc3Qob2wsdWwpIHRoYXQgaXMgbGF5ZWQgb3V0IHN1Y2ggdGhhdCB0aGUgZWxlbWVudHMgYXJlIGZsb2F0ZWQgbGVmdCBhbmQgd29uJ3Qgd3JhcC5cbi8vIFRoaXMgaXMgbm90IGFuIGlubGluZSBsaXN0LlxuLy9cbi8vIFNldHRpbmcgYCRwYWRkaW5nYCB0byBgZmFsc2VgIGRpc2FibGVzIHRoZSBwYWRkaW5nIGJldHdlZW4gbGlzdCBlbGVtZW50c1xuQG1peGluIGhvcml6b250YWwtbGlzdCgkcGFkZGluZzogNHB4LCAkZGlyZWN0aW9uOiBsZWZ0KSB7XG4gIEBpbmNsdWRlIGhvcml6b250YWwtbGlzdC1jb250YWluZXI7XG4gIGxpIHtcbiAgICBAaW5jbHVkZSBob3Jpem9udGFsLWxpc3QtaXRlbSgkcGFkZGluZywgJGRpcmVjdGlvbik7IH0gfVxuIiwiLy8gVHVybiBvZmYgdGhlIGJ1bGxldCBmb3IgYW4gZWxlbWVudCBvZiBhIGxpc3RcbkBtaXhpbiBuby1idWxsZXQge1xuICBsaXN0LXN0eWxlLWltYWdlIDogbm9uZTtcbiAgbGlzdC1zdHlsZS10eXBlICA6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0ICAgICAgOiAwO1xufVxuXG4vLyB0dXJucyBvZmYgdGhlIGJ1bGxldHMgZm9yIGFuIGVudGlyZSBsaXN0XG5AbWl4aW4gbm8tYnVsbGV0cyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpIHsgQGluY2x1ZGUgbm8tYnVsbGV0OyB9XG59XG5cbi8vIE1ha2UgYSBsaXN0KHVsL29sKSBoYXZlIGFuIGltYWdlIGJ1bGxldC5cbi8vXG4vLyBUaGUgbWl4aW4gc2hvdWxkIGJlIHVzZWQgbGlrZSB0aGlzIGZvciBhbiBpY29uIHRoYXQgaXMgNXg3OlxuLy9cbi8vICAgICB1bC5wcmV0dHlcbi8vICAgICAgICtwcmV0dHktYnVsbGV0cyhcIm15LWljb24ucG5nXCIsIDVweCwgN3B4KVxuLy9cbi8vIEFkZGl0aW9uYWxseSwgaWYgdGhlIGltYWdlIGRpbWVuc2lvbnMgYXJlIG5vdCBwcm92aWRlZCxcbi8vIFRoZSBpbWFnZSBkaW1lbnNpb25zIHdpbGwgYmUgZXh0cmFjdGVkIGZyb20gdGhlIGltYWdlIGl0c2VsZi5cbi8vXG4vLyAgICAgdWwucHJldHR5XG4vLyAgICAgICArcHJldHR5LWJ1bGxldHMoXCJteS1pY29uLnBuZ1wiKVxuLy9cbkBtaXhpbiBwcmV0dHktYnVsbGV0cygkYnVsbGV0LWljb24sICR3aWR0aDogaW1hZ2Utd2lkdGgoJGJ1bGxldC1pY29uKSwgJGhlaWdodDogaW1hZ2UtaGVpZ2h0KCRidWxsZXQtaWNvbiksICRsaW5lLWhlaWdodDogMThweCwgJHBhZGRpbmc6IDE0cHgpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6IGltYWdlLXVybCgkYnVsbGV0LWljb24pIG5vLXJlcGVhdCAoJHBhZGRpbmcgLSAkd2lkdGgpIC8gMiAoJGxpbmUtaGVpZ2h0IC0gJGhlaWdodCkgLyAyO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gbWFrZXMgYSBsaXN0IGlubGluZS5cblxuQG1peGluIGlubGluZS1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmLCAmIGxpIHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG59XG5cbi8vIG1ha2VzIGFuIGlubGluZSBsaXN0IGRlbGltaXRlZCB3aXRoIHRoZSBwYXNzZWQgc3RyaW5nLlxuLy8gRGVmYXVsdHMgdG8gbWFraW5nIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QuXG4vL1xuLy8gUGxlYXNlIG1ha2Ugbm90ZSBvZiB0aGUgYnJvd3NlciBzdXBwb3J0IGlzc3VlcyBiZWZvcmUgdXNpbmcgdGhpcyBtaXhpbjpcbi8vXG4vLyB1c2Ugb2YgYGNvbnRlbnRgIGFuZCBgOmFmdGVyYCBpcyBub3QgZnVsbHkgc3VwcG9ydGVkIGluIGFsbCBicm93c2Vycy5cbi8vIFNlZSBxdWlya3Ntb2RlIGZvciB0aGUgW3N1cHBvcnQgbWF0cml4XShodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2Nzcy9jb250ZW50cy5odG1sI3QxNSlcbi8vXG4vLyBgOmxhc3QtY2hpbGRgIGlzIG5vdCBmdWxseSBzdXBwb3J0ZWQuXG4vLyBzZWUgcXVpcmtzbW9kZSBmb3IgdGhlIFtzdXBwb3J0IG1hdHJpeF0oaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9jc3MvY29udGVudHMuaHRtbCN0MjkpLlxuLy9cbi8vIElFOCBpZ25vcmVzIHJ1bGVzIHRoYXQgYXJlIGluY2x1ZGVkIG9uIHRoZSBzYW1lIGxpbmUgYXMgOmxhc3QtY2hpbGRcbi8vIHNlZSBodHRwOi8vd3d3LnJpY2hhcmRzY2Fycm90dC5jby51ay9wb3N0cy92aWV3L2llOC1sYXN0LWNoaWxkLWJ1ZyBmb3IgZGV0YWlsc1xuXG5AbWl4aW4gZGVsaW1pdGVkLWxpc3QoJHNlcGFyYXRvcjogXCIsIFwiKSB7XG4gIEBpbmNsdWRlIGlubGluZS1saXN0O1xuICBsaSB7XG4gICAgJjphZnRlciB7IGNvbnRlbnQ6ICRzZXBhcmF0b3I7IH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgJjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IH1cbiAgICB9XG4gICAgJi5sYXN0IHtcbiAgICAgICY6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNlZSBbZGVsaW1pdGVkLWxpc3RdKCNtaXhpbi1kZWxpbWl0ZWQtbGlzdClcbi8vIEBkZXByZWNhdGVkXG5AbWl4aW4gY29tbWEtZGVsaW1pdGVkLWxpc3Qge1xuICBAd2FybiBcImNvbW1hLWRlbGltaXRlZC1saXN0IGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgZGVsaW1pdGVkLWxpc3QgaW5zdGVhZC5cIjtcbiAgQGluY2x1ZGUgZGVsaW1pdGVkLWxpc3Q7XG59XG4iLCIvLyBJbmxpbmUtQmxvY2sgbGlzdCBsYXlvdXQgbW9kdWxlLlxuLy9cbi8vIEVhc3kgbW9kZSB1c2luZyBzaW1wbGUgZGVzY2VuZGFudCBsaSBzZWxlY3RvcnM6XG4vL1xuLy8gICAgIHVsLm5hdiB7XG4vLyAgICAgICBAaW1wb3J0IGlubGluZS1ibG9jay1saXN0O1xuLy8gICAgIH1cbi8vXG4vLyBBZHZhbmNlZCBtb2RlOlxuLy8gSWYgeW91IG5lZWQgdG8gdGFyZ2V0IHRoZSBsaXN0IGl0ZW1zIHVzaW5nIGEgZGlmZmVyZW50IHNlbGVjdG9yIHRoZW4gdXNlXG4vLyBgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWxpc3QtY29udGFpbmVyYCBvbiB5b3VyIHVsL29sIGFuZFxuLy8gYEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWl0ZW1gIG9uIHlvdXIgbGkuIFRoaXMgbWF5IGhlbHAgd2hlbiB3b3JraW5nXG4vLyBvbiBsYXlvdXRzIGludm9sdmluZyBuZXN0ZWQgbGlzdHMuIEZvciBleGFtcGxlOlxuLy9cbi8vICAgICB1bC5uYXYge1xuLy8gICAgICAgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWxpc3QtY29udGFpbmVyO1xuLy8gICAgICAgPiBsaSB7XG4vLyAgICAgICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWl0ZW07XG4vLyAgICAgICB9XG4vLyAgICAgfVxuXG5AaW1wb3J0IFwiYnVsbGV0c1wiO1xuQGltcG9ydCBcImhvcml6b250YWwtbGlzdFwiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9nZW5lcmFsL2Zsb2F0XCI7XG5AaW1wb3J0IFwiLi4vLi4vY3NzMy9pbmxpbmUtYmxvY2tcIjtcblxuLy8gQ2FuIGJlIG1peGVkIGludG8gYW55IHNlbGVjdG9yIHRoYXQgdGFyZ2V0IGEgdWwgb3Igb2wgdGhhdCBpcyBtZWFudFxuLy8gdG8gaGF2ZSBhbiBpbmxpbmUtYmxvY2sgbGF5b3V0LiBVc2VkIHRvIGltcGxlbWVudCBgaW5saW5lLWJsb2NrLWxpc3RgLlxuQG1peGluIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGhvcml6b250YWwtbGlzdC1jb250YWluZXI7IH1cblxuLy8gQ2FuIGJlIG1peGVkIGludG8gYW55IGxpIHNlbGVjdG9yIHRoYXQgaXMgbWVhbnQgdG8gcGFydGljaXBhdGUgaW4gYSBob3Jpem9udGFsIGxheW91dC5cbi8vIFVzZWQgdG8gaW1wbGVtZW50IGBpbmxpbmUtYmxvY2stbGlzdGAuXG5AbWl4aW4gaW5saW5lLWJsb2NrLWxpc3QtaXRlbSgkcGFkZGluZzogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbm8tYnVsbGV0O1xuICBAaW5jbHVkZSBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIEBpZiAkcGFkZGluZyB7XG4gICAgcGFkZGluZzoge1xuICAgICAgbGVmdDogJHBhZGRpbmc7XG4gICAgICByaWdodDogJHBhZGRpbmc7XG4gICAgfTtcbiAgfVxufVxuXG4vLyBBIGxpc3Qob2wsdWwpIHRoYXQgaXMgbGF5ZWQgb3V0IHN1Y2ggdGhhdCB0aGUgZWxlbWVudHMgYXJlIGlubGluZS1ibG9jayBhbmQgd29uJ3Qgd3JhcC5cbkBtaXhpbiBpbmxpbmUtYmxvY2stbGlzdCgkcGFkZGluZzogZmFsc2UpIHtcbiAgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWxpc3QtY29udGFpbmVyO1xuICBsaSB7XG4gICAgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWxpc3QtaXRlbSgkcGFkZGluZyk7IH0gfVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBTZXQgYCRpbmxpbmUtYmxvY2stYWxpZ25tZW50YCB0byBgbm9uZWAgb3IgYGZhbHNlYCB0byBkaXNhYmxlIHRoZSBvdXRwdXRcbi8vIG9mIGEgdmVydGljYWwtYWxpZ24gcHJvcGVydHkgaW4gdGhlIGlubGluZS1ibG9jayBtaXhpbi5cbi8vIE9yIHNldCBpdCB0byBhIGxlZ2FsIHZhbHVlIGZvciBgdmVydGljYWwtYWxpZ25gIHRvIGNoYW5nZSB0aGUgZGVmYXVsdC5cbiRpbmxpbmUtYmxvY2stYWxpZ25tZW50OiBtaWRkbGUgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGEgY3Jvc3MtYnJvd3NlciBtZXRob2QgdG8gaW1wbGVtZW50IGBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7YFxuQG1peGluIGlubGluZS1ibG9jaygkYWxpZ25tZW50OiAkaW5saW5lLWJsb2NrLWFsaWdubWVudCkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1tb3ppbGxhIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgfVxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpZiAkYWxpZ25tZW50IGFuZCAkYWxpZ25tZW50ICE9IG5vbmUge1xuICAgIHZlcnRpY2FsLWFsaWduOiAkYWxpZ25tZW50O1xuICB9XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICAqdmVydGljYWwtYWxpZ246IGF1dG87XG4gICAgem9vbTogMTtcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGlzIG1peGluIHByb3ZpZGVzIGJhc2ljIHN1cHBvcnQgZm9yIENTUzMgcHJvcGVydGllcyBhbmRcbi8vIHRoZWlyIGNvcnJlc3BvbmRpbmcgZXhwZXJpbWVudGFsIENTUzIgcHJvcGVydGllcyB3aGVuXG4vLyB0aGUgaW1wbGVtZW50YXRpb25zIGFyZSBpZGVudGljYWwgZXhjZXB0IGZvciB0aGUgcHJvcGVydHlcbi8vIHByZWZpeC5cbkBtaXhpbiBleHBlcmltZW50YWwoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7IC13ZWJraXQtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAgLWtodG1sLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgLW1vei0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICAgICAtbXMtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgIC1vLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAjeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbn1cblxuLy8gU2FtZSBhcyBleHBlcmltZW50YWwoKSwgYnV0IGZvciBjYXNlcyB3aGVuIHRoZSBwcm9wZXJ0eSBpcyB0aGUgc2FtZSBhbmQgdGhlIHZhbHVlIGlzIHZlbmRvcml6ZWRcbkBtaXhpbiBleHBlcmltZW50YWwtdmFsdWUoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICN7JHByb3BlcnR5fSA6IC13ZWJraXQtI3skdmFsdWV9OyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgLWtodG1sLSN7JHZhbHVlfTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgI3skcHJvcGVydHl9IDogICAgLW1vei0jeyR2YWx1ZX07IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICN7JHByb3BlcnR5fSA6ICAgICAtbXMtI3skdmFsdWV9OyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAgIC1vLSN7JHZhbHVlfTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAgICAjeyR2YWx1ZX07IH1cbn1cbiIsIkBpbXBvcnQgXCJ0ZXh0L2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwidGV4dC9ub3dyYXBcIjtcbkBpbXBvcnQgXCJ0ZXh0L3JlcGxhY2VtZW50XCI7XG5AaW1wb3J0IFwidGV4dC9mb3JjZS13cmFwXCI7XG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzMy9zaGFyZWRcIjtcblxuLy8gVG8gZ2V0IGZ1bGwgZmlyZWZveCBzdXBwb3J0LCB5b3UgbXVzdCBpbnN0YWxsIHRoZSBlbGxpcHNpcyBwYXR0ZXJuOlxuLy9cbi8vICAgICBjb21wYXNzIGluc3RhbGwgY29tcGFzcy9lbGxpcHNpc1xuJHVzZS1tb3ppbGxhLWVsbGlwc2lzLWJpbmRpbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGlzIHRlY2huaXF1ZSwgYnkgW0p1c3RpbiBNYXh3ZWxsXShodHRwOi8vY29kZTQwNC5jb20vKSwgd2FzIG9yaWdpbmFsbHlcbi8vIHB1Ymxpc2hlZCBbaGVyZV0oaHR0cDovL21hdHRzbmlkZXIuY29tL2Nzcy9jc3Mtc3RyaW5nLXRydW5jYXRpb24td2l0aC1lbGxpcHNpcy8pLlxuLy8gRmlyZWZveCBpbXBsZW1lbnRhdGlvbiBieSBbUmlra2VydCBLb3BwZXNdKGh0dHA6Ly93d3cucmlra2VydGtvcHBlcy5jb20vdGhvdWdodHMvMjAwOC82LykuXG5AbWl4aW4gZWxsaXBzaXMoJG5vLXdyYXA6IHRydWUpIHtcbiAgQGlmICRuby13cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodGV4dC1vdmVyZmxvdywgZWxsaXBzaXMsXG4gICAgbm90KC1tb3opLFxuICAgIG5vdCgtd2Via2l0KSxcbiAgICAtbyxcbiAgICAtbXMsXG4gICAgbm90KC1raHRtbCksXG4gICAgb2ZmaWNpYWxcbiAgKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSBhbmQgJHVzZS1tb3ppbGxhLWVsbGlwc2lzLWJpbmRpbmcge1xuICAgIC1tb3otYmluZGluZzogc3R5bGVzaGVldC11cmwodW5xdW90ZShcInhtbC9lbGxpcHNpcy54bWwjZWxsaXBzaXNcIikpO1xuICB9XG59XG4iLCIvLyBXaGVuIHJlbWVtYmVyaW5nIHdoZXRoZXIgb3Igbm90IHRoZXJlJ3MgYSBoeXBoZW4gaW4gd2hpdGUtc3BhY2UgaXMgdG9vIGhhcmRcbkBtaXhpbiBub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4iLCIvLyBJbmRpY2F0ZXMgdGhlIGRpcmVjdGlvbiB5b3UgcHJlZmVyIHRvIG1vdmUgeW91ciB0ZXh0XG4vLyB3aGVuIGhpZGluZyBpdC5cbi8vXG4vLyBgbGVmdGAgaXMgbW9yZSByb2J1c3QsIGVzcGVjaWFsbHkgaW4gb2xkZXIgYnJvd3NlcnMuXG4vLyBgcmlnaHRgIHNlZW1zIGhhdmUgYmV0dGVyIHJ1bnRpbWUgcGVyZm9ybWFuY2UuXG4kaGlkZS10ZXh0LWRpcmVjdGlvbjogbGVmdCAhZGVmYXVsdDtcblxuLy8gSGlkZXMgaHRtbCB0ZXh0IGFuZCByZXBsYWNlcyBpdCB3aXRoIGFuIGltYWdlLlxuLy8gSWYgeW91IHVzZSB0aGlzIG9uIGFuIGlubGluZSBlbGVtZW50LCB5b3Ugd2lsbCBuZWVkIHRvIGNoYW5nZSB0aGUgZGlzcGxheSB0byBibG9jayBvciBpbmxpbmUtYmxvY2suXG4vLyBBbHNvLCBpZiB0aGUgc2l6ZSBvZiB0aGUgaW1hZ2UgZGlmZmVycyBzaWduaWZpY2FudGx5IGZyb20gdGhlIGZvbnQgc2l6ZSwgeW91J2xsIG5lZWQgdG8gc2V0IHRoZSB3aWR0aCBhbmQvb3IgaGVpZ2h0LlxuLy9cbi8vIFBhcmFtZXRlcnM6XG4vL1xuLy8gKiBgaW1nYCAtLSB0aGUgcmVsYXRpdmUgcGF0aCBmcm9tIHRoZSBwcm9qZWN0IGltYWdlIGRpcmVjdG9yeSB0byB0aGUgaW1hZ2UsIG9yIGEgdXJsIGxpdGVyYWwuXG4vLyAqIGB4YCAtLSB0aGUgeCBwb3NpdGlvbiBvZiB0aGUgYmFja2dyb3VuZCBpbWFnZS5cbi8vICogYHlgIC0tIHRoZSB5IHBvc2l0aW9uIG9mIHRoZSBiYWNrZ3JvdW5kIGltYWdlLlxuQG1peGluIHJlcGxhY2UtdGV4dCgkaW1nLCAkeDogNTAlLCAkeTogNTAlKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbiAgYmFja2dyb3VuZDoge1xuICAgIEBpZiBpcy11cmwoJGltZykge1xuICAgICAgaW1hZ2U6IHVybCgkaW1nKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGltYWdlOiBpbWFnZS11cmwoJGltZyk7XG4gICAgfVxuICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBvc2l0aW9uOiAkeCAkeTtcbiAgfTtcbn1cblxuLy8gTGlrZSB0aGUgYHJlcGxhY2UtdGV4dGAgbWl4aW4sIGJ1dCBhbHNvIHNldHMgdGhlIHdpZHRoXG4vLyBhbmQgaGVpZ2h0IG9mIHRoZSBlbGVtZW50IGFjY29yZGluZyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgaW1hZ2UuXG4vL1xuLy8gSWYgeW91IHNldCBgJGlubGluZWAgdG8gdHJ1ZSwgdGhlbiBhbiBpbmxpbmUgaW1hZ2UgKGRhdGEgdXJpKSB3aWxsIGJlIHVzZWQuXG5AbWl4aW4gcmVwbGFjZS10ZXh0LXdpdGgtZGltZW5zaW9ucygkaW1nLCAkeDogNTAlLCAkeTogNTAlLCAkaW5saW5lOiBmYWxzZSkge1xuICBAaW5jbHVkZSByZXBsYWNlLXRleHQoaWYoJGlubGluZSwgaW5saW5lLWltYWdlKCRpbWcpLCAkaW1nKSwgJHgsICR5KTtcbiAgd2lkdGg6IGltYWdlLXdpZHRoKCRpbWcpO1xuICBoZWlnaHQ6IGltYWdlLWhlaWdodCgkaW1nKTtcbn1cblxuLy8gSGlkZXMgdGV4dCBpbiBhbiBlbGVtZW50IHNvIHlvdSBjYW4gc2VlIHRoZSBiYWNrZ3JvdW5kLlxuLy9cbi8vIFRoZSBkaXJlY3Rpb24gaW5kaWNhdGVzIGhvdyB0aGUgdGV4dCBzaG91bGQgYmUgbW92ZWQgb3V0IG9mIHZpZXcuXG4vL1xuLy8gU2VlIGAkaGlkZS10ZXh0LWRpcmVjdGlvbmAgZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIHRvIHNldCB0aGlzIGdsb2JhbGx5XG4vLyBmb3IgeW91ciBhcHBsaWNhdGlvbi5cbkBtaXhpbiBoaWRlLXRleHQoJGRpcmVjdGlvbjogJGhpZGUtdGV4dC1kaXJlY3Rpb24pIHtcbiAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgJGFwcHJveGltYXRlLWVtLXZhbHVlOiAxMnB4O1xuICAgICR3aWRlci10aGFuLWFueS1zY3JlZW46IC05OTk5O1xuICAgIHRleHQtaW5kZW50OiAkd2lkZXItdGhhbi1hbnktc2NyZWVuICogJGFwcHJveGltYXRlLWVtLXZhbHVlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfSBAZWxzZSB7XG4gICAgLy8gc2xpZ2h0bHkgd2lkZXIgdGhhbiB0aGUgYm94IHByZXZlbnRzIGlzc3VlcyB3aXRoIGlubGluZS1ibG9jayBlbGVtZW50c1xuICAgIHRleHQtaW5kZW50OiAxMTAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyBIaWRlcyB0ZXh0IGluIGFuIGVsZW1lbnQgYnkgc3F1aXNoaW5nIHRoZSB0ZXh0IGludG8gb2JsaXZpb24uXG4vLyBVc2UgdGhpcyBpZiB5b3UgbmVlZCB0byBoaWRlIHRleHQgY29udGFpbmVkIGluIGFuIGlubGluZSBlbGVtZW50XG4vLyBidXQgc3RpbGwgaGF2ZSBpdCByZWFkIGJ5IGEgc2NyZWVuIHJlYWRlci5cbkBtaXhpbiBzcXVpc2gtdGV4dCB7XG4gIGZvbnQ6IDAvMCBzZXJpZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbiIsIi8vIFByZXZlbnQgbG9uZyB1cmxzIGFuZCB0ZXh0IGZyb20gYnJlYWtpbmcgbGF5b3V0c1xuLy8gW29yaWdpbmFsbHkgZnJvbSBwZXJpc2hhYmxlcHJlc3MuY29tXShodHRwOi8vcGVyaXNoYWJsZXByZXNzLmNvbS9wcmVzcy8yMDEwLzA2LzAxL3dyYXBwaW5nLWNvbnRlbnQvKVxuQG1peGluIGZvcmNlLXdyYXAge1xuICB3aGl0ZS1zcGFjZTogcHJlOyAgICAgICAgICAgLy8gQ1NTIDIuMFxuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7ICAgICAgLy8gQ1NTIDIuMVxuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7ICAgICAgLy8gQ1NTIDMuMFxuICB3aGl0ZS1zcGFjZTogLXByZS13cmFwOyAgICAgLy8gT3BlcmEgNC02XG4gIHdoaXRlLXNwYWNlOiAtby1wcmUtd3JhcDsgICAvLyBPcGVyYSA3XG4gIHdoaXRlLXNwYWNlOiAtbW96LXByZS13cmFwOyAvLyBNb3ppbGxhXG4gIHdoaXRlLXNwYWNlOiAtaHAtcHJlLXdyYXA7ICAvLyBIUCBQcmludGVyc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7ICAgICAgLy8gSUUgNStcbn1cbiIsIkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L2xpbmtzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS9saXN0c1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvdGV4dFwiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvdmVydGljYWxfcmh5dGhtXCI7XG4iLCJAaW1wb3J0IFwiLi4vbGF5b3V0L2dyaWQtYmFja2dyb3VuZFwiO1xuXG4vLyBUaGUgYmFzZSBmb250IHNpemUuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgZGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIHJoeXRobSBib3JkZXJzLlxuJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4kYnJvd3Nlci1kZWZhdWx0LWZvbnQtc2l6ZTogMTZweDtcblxuLy8gU2V0IHRvIGZhbHNlIGlmIHlvdSB3YW50IHRvIHVzZSBhYnNvbHV0ZSBwaXhlbHMgaW4gc2l6aW5nIHlvdXIgdHlwb2dyYXBoeS5cbiRyZWxhdGl2ZS1mb250LXNpemluZzogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIHRoZSBgYWRqdXN0LWZvbnQtc2l6ZS10b2AgbWl4aW4gYW5kIHRoZSBgbGluZXMtZm9yLWZvbnQtc2l6ZWAgZnVuY3Rpb25cbi8vIHRvIHJvdW5kIHRoZSBsaW5lIGhlaWdodCB0byB0aGUgbmVhcmVzdCBoYWxmIGxpbmUgaGVpZ2h0IGluc3RlYWQgb2YgdGhlXG4vLyBuZWFyZXN0IGludGVncmFsIGxpbmUgaGVpZ2h0IHRvIGF2b2lkIGxhcmdlIHNwYWNpbmcgYmV0d2VlbiBsaW5lcy5cbiRyb3VuZC10by1uZWFyZXN0LWhhbGYtbGluZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEVuc3VyZSB0aGVyZSBpcyBhdCBsZWFzdCB0aGlzIG1hbnkgcGl4ZWxzXG4vLyBvZiB2ZXJ0aWNhbCBwYWRkaW5nIGFib3ZlIGFuZCBiZWxvdyB0aGUgdGV4dC5cbiRtaW4tbGluZS1wYWRkaW5nOiAycHggIWRlZmF1bHQ7XG5cbi8vICRiYXNlLWZvbnQtc2l6ZSBidXQgaW4geW91ciBvdXRwdXQgdW5pdCBvZiBjaG9pY2UuXG4vLyBEZWZhdWx0cyB0byAxZW0gd2hlbiBgJHJlbGF0aXZlLWZvbnQtc2l6aW5nYCBpcyB0cnVlLlxuJGZvbnQtdW5pdDogaWYoJHJlbGF0aXZlLWZvbnQtc2l6aW5nLCAxZW0sICRiYXNlLWZvbnQtc2l6ZSkgIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNpYyB1bml0IG9mIGZvbnQgcmh5dGhtLlxuJGJhc2Utcmh5dGhtLXVuaXQ6ICRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplICogJGZvbnQtdW5pdDtcblxuLy8gVGhlIGxlYWRlciBpcyB0aGUgYW1vdW50IG9mIHdoaXRlc3BhY2UgaW4gYSBsaW5lLlxuLy8gSXQgbWlnaHQgYmUgdXNlZnVsIGluIHlvdXIgY2FsY3VsYXRpb25zLlxuJGJhc2UtbGVhZGVyOiAoJGJhc2UtbGluZS1oZWlnaHQgLSAkYmFzZS1mb250LXNpemUpICogJGZvbnQtdW5pdCAvICRiYXNlLWZvbnQtc2l6ZTtcblxuLy8gVGhlIGhhbGYtbGVhZGVyIGlzIHRoZSBhbW91bnQgb2Ygd2hpdGVzcGFjZSBhYm92ZSBhbmQgYmVsb3cgYSBsaW5lLlxuLy8gSXQgbWlnaHQgYmUgdXNlZnVsIGluIHlvdXIgY2FsY3VsYXRpb25zLlxuJGJhc2UtaGFsZi1sZWFkZXI6ICRiYXNlLWxlYWRlciAvIDI7XG5cbi8vIFRydWUgaWYgYSBudW1iZXIgaGFzIGEgcmVsYXRpdmUgdW5pdC5cbkBmdW5jdGlvbiByZWxhdGl2ZS11bml0KCRudW1iZXIpIHtcbiAgQHJldHVybiB1bml0KCRudW1iZXIpID09IFwiJVwiIG9yIHVuaXQoJG51bWJlcikgPT0gXCJlbVwiIG9yIHVuaXQoJG51bWJlcikgPT0gXCJyZW1cIlxufVxuXG4vLyBUcnVlIGlmIGEgbnVtYmVyIGhhcyBhbiBhYnNvbHV0ZSB1bml0LlxuQGZ1bmN0aW9uIGFic29sdXRlLXVuaXQoJG51bWJlcikge1xuICBAcmV0dXJuIG5vdChyZWxhdGl2ZS11bml0KCRudW1iZXIpIG9yIHVuaXRsZXNzKCRudW1iZXIpKTtcbn1cblxuQGlmICRyZWxhdGl2ZS1mb250LXNpemluZyBhbmQgbm90KHJlbGF0aXZlLXVuaXQoJGZvbnQtdW5pdCkpIHtcbiAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgdHJ1ZSBidXQgJGZvbnQtdW5pdCBpcyBzZXQgdG8gI3skZm9udC11bml0fSB3aGljaCBpcyBub3QgYSByZWxhdGl2ZSB1bml0LlwiO1xufVxuXG4vLyBFc3RhYmxpc2hlcyBhIGZvbnQgYmFzZWxpbmUgZm9yIHRoZSBnaXZlbiBmb250LXNpemUuXG5AbWl4aW4gZXN0YWJsaXNoLWJhc2VsaW5lKCRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAvLyBJRSA2IHJlZnVzZXMgdG8gcmVzaXplIGZvbnRzIHNldCBpbiBwaXhlbHMgYW5kIGl0IHdlaXJkbHkgcmVzaXplcyBmb250c1xuICAvLyB3aG9zZSByb290IGlzIHNldCBpbiBlbXMuIFNvIHdlIHNldCB0aGUgcm9vdCBmb250IHNpemUgaW4gcGVyY2VudGFnZXMgb2ZcbiAgLy8gdGhlIGRlZmF1bHQgZm9udCBzaXplLlxuICAqIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTAwJSAqICgkZm9udC1zaXplIC8gJGJyb3dzZXItZGVmYXVsdC1mb250LXNpemUpO1xuICB9XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBAaW5jbHVkZSBhZGp1c3QtbGVhZGluZy10bygxLCBpZigkcmVsYXRpdmUtZm9udC1zaXppbmcsICRmb250LXNpemUsICRiYXNlLWZvbnQtc2l6ZSkpO1xuICB9XG59XG5cbi8vIFJlc2V0cyB0aGUgbGluZS1oZWlnaHQgdG8gMSB2ZXJ0aWNhbCByaHl0aG0gdW5pdC5cbi8vIERvZXMgbm90IHdvcmsgb24gZWxlbWVudHMgd2hvc2UgZm9udC1zaXplIGlzIGRpZmZlcmVudCBmcm9tICRiYXNlLWZvbnQtc2l6ZS5cbi8vXG4vLyBAZGVwcmVjYXRlZCBUaGlzIG1peGluIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCByZWxlYXNlLlxuLy8gUGxlYXNlIHVzZSB0aGUgYGFkanVzdC1sZWFkaW5nLXRvYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIHJlc2V0LWJhc2VsaW5lIHtcbiAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oMSwgaWYoJHJlbGF0aXZlLWZvbnQtc2l6aW5nLCAkYmFzZS1mb250LXNpemUsICRiYXNlLWZvbnQtc2l6ZSkpO1xufVxuXG4vLyBTaG93IGEgYmFja2dyb3VuZCBpbWFnZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGRlYnVnIHlvdXIgYWxpZ25tZW50cy5cbi8vIEluY2x1ZGUgdGhlICRpbWcgYXJndW1lbnQgaWYgeW91IHdvdWxkIHJhdGhlciB1c2UgeW91ciBvd24gaW1hZ2UgdGhhbiB0aGVcbi8vIENvbXBhc3MgZGVmYXVsdCBncmFkaWVudCBpbWFnZS5cbkBtaXhpbiBkZWJ1Zy12ZXJ0aWNhbC1hbGlnbm1lbnQoJGltZzogZmFsc2UpIHtcbiAgQGlmICRpbWcge1xuICAgIGJhY2tncm91bmQ6IGltYWdlLXVybCgkaW1nKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kKCRiYXNlLXJoeXRobS11bml0KTtcbiAgfVxufVxuXG4vLyBBZGp1c3QgYSBibG9jayB0byBoYXZlIGEgZGlmZmVyZW50IGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgdG8gbWFpbnRhaW4gdGhlXG4vLyByaHl0aG0uICRsaW5lcyBzcGVjaWZpZXMgaG93IG1hbnkgbXVsdGlwbGVzIG9mIHRoZSBiYXNlbGluZSByaHl0aG0gZWFjaCBsaW5lXG4vLyBvZiB0aGlzIGZvbnQgc2hvdWxkIHVzZSB1cC4gSXQgZG9lcyBub3QgaGF2ZSB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXRcbi8vIGRlZmF1bHRzIHRvIHRoZSBzbWFsbGVzdCBpbnRlZ2VyIHRoYXQgaXMgbGFyZ2UgZW5vdWdoIHRvIGZpdCB0aGUgZm9udC5cbi8vIFVzZSAkZnJvbS1zaXplIHRvIGFkanVzdCBmcm9tIGEgZm9udC1zaXplIG90aGVyIHRoYW4gdGhlIGJhc2UgZm9udC1zaXplLlxuQG1peGluIGFkanVzdC1mb250LXNpemUtdG8oJHRvLXNpemUsICRsaW5lczogbGluZXMtZm9yLWZvbnQtc2l6ZSgkdG8tc2l6ZSksICRmcm9tLXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgbm90KCRyZWxhdGl2ZS1mb250LXNpemluZykgYW5kICRmcm9tLXNpemUgIT0gJGJhc2UtZm9udC1zaXplIHtcbiAgICBAd2FybiBcIiRyZWxhdGl2ZS1mb250LXNpemluZyBpcyBmYWxzZSBidXQgYSByZWxhdGl2ZSBmb250IHNpemUgd2FzIHBhc3NlZCB0byBhZGp1c3QtZm9udC1zaXplLXRvXCI7XG4gIH1cbiAgZm9udC1zaXplOiAkZm9udC11bml0ICogJHRvLXNpemUgLyAkZnJvbS1zaXplO1xuICBAaW5jbHVkZSBhZGp1c3QtbGVhZGluZy10bygkbGluZXMsIGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgJHRvLXNpemUsICRiYXNlLWZvbnQtc2l6ZSkpO1xufVxuXG4vLyBBZGp1c3QgYSBibG9jayB0byBoYXZlIGRpZmZlcmVudCBsaW5lIGhlaWdodCB0byBtYWludGFpbiB0aGUgcmh5dGhtLlxuLy8gJGxpbmVzIHNwZWNpZmllcyBob3cgbWFueSBtdWx0aXBsZXMgb2YgdGhlIGJhc2VsaW5lIHJoeXRobSBlYWNoIGxpbmUgb2YgdGhpc1xuLy8gZm9udCBzaG91bGQgdXNlIHVwLiBJdCBkb2VzIG5vdCBoYXZlIHRvIGJlIGFuIGludGVnZXIsIGJ1dCBpdCBkZWZhdWx0cyB0byB0aGVcbi8vIHNtYWxsZXN0IGludGVnZXIgdGhhdCBpcyBsYXJnZSBlbm91Z2ggdG8gZml0IHRoZSBmb250LlxuQG1peGluIGFkanVzdC1sZWFkaW5nLXRvKCRsaW5lcywgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIGxpbmUtaGVpZ2h0OiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHJoeXRobSB1bml0cy5cbkBmdW5jdGlvbiByaHl0aG0oXG4gICRsaW5lczogMSxcbiAgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLFxuICAkb2Zmc2V0OiAwXG4pIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZm9udC1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gdGhlIHJoeXRobSBmdW5jdGlvblwiO1xuICB9XG4gICRyaHl0aG06ICRmb250LXVuaXQgKiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkb2Zmc2V0KSAvICRmb250LXNpemU7XG4gIC8vIFJvdW5kIHRoZSBwaXhlbHMgZG93biB0byBuZWFyZXN0IGludGVnZXIuXG4gIEBpZiB1bml0KCRyaHl0aG0pID09IHB4IHtcbiAgICAkcmh5dGhtOiBmbG9vcigkcmh5dGhtKTtcbiAgfVxuICBAcmV0dXJuICRyaHl0aG07XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSBtdWx0aXBsZSBvZiByaHl0aG0gdW5pdHMgbmVlZGVkIHRvIGNvbnRhaW4gdGhlIGZvbnQtc2l6ZS5cbkBmdW5jdGlvbiBsaW5lcy1mb3ItZm9udC1zaXplKCRmb250LXNpemUpIHtcbiAgJGxpbmVzOiBpZigkcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmUsXG4gICAgICAgICAgICAgIGNlaWwoMiAqICRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCkgLyAyLFxuICAgICAgICAgICAgICBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCkpO1xuICBAaWYgJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplIDwgJG1pbi1saW5lLXBhZGRpbmcgKiAyIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIGlmKCRyb3VuZC10by1uZWFyZXN0LWhhbGYtbGluZSwgMC41LCAxKTtcbiAgfVxuICBAcmV0dXJuICRsaW5lcztcbn1cblxuLy8gQXBwbHkgbGVhZGluZyB3aGl0ZXNwYWNlLiBUaGUgJHByb3BlcnR5IGNhbiBiZSBtYXJnaW4gb3IgcGFkZGluZy5cbkBtaXhpbiBsZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRwcm9wZXJ0eTogbWFyZ2luKSB7XG4gICN7JHByb3BlcnR5fS10b3A6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBsZWFkaW5nIHdoaXRlc3BhY2UgYXMgcGFkZGluZy5cbkBtaXhpbiBwYWRkaW5nLWxlYWRlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBwYWRkaW5nLXRvcDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IGxlYWRpbmcgd2hpdGVzcGFjZSBhcyBtYXJnaW4uXG5AbWl4aW4gbWFyZ2luLWxlYWRlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBtYXJnaW4tdG9wOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgdHJhaWxpbmcgd2hpdGVzcGFjZS4gVGhlICRwcm9wZXJ0eSBjYW4gYmUgbWFyZ2luIG9yIHBhZGRpbmcuXG5AbWl4aW4gdHJhaWxlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJHByb3BlcnR5OiBtYXJnaW4pIHtcbiAgI3skcHJvcGVydHl9LWJvdHRvbTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IHRyYWlsaW5nIHdoaXRlc3BhY2UgYXMgcGFkZGluZy5cbkBtaXhpbiBwYWRkaW5nLXRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgcGFkZGluZy1ib3R0b206IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSB0cmFpbGluZyB3aGl0ZXNwYWNlIGFzIG1hcmdpbi5cbkBtaXhpbiBtYXJnaW4tdHJhaWxlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBtYXJnaW4tYm90dG9tOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gU2hvcnRoYW5kIG1peGluIHRvIGFwcGx5IHdoaXRlc3BhY2UgZm9yIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMgYW5kIHBhZGRpbmcuXG5AbWl4aW4gcmh5dGhtKCRsZWFkZXI6IDAsICRwYWRkaW5nLWxlYWRlcjogMCwgJHBhZGRpbmctdHJhaWxlcjogMCwgJHRyYWlsZXI6IDAsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBsZWFkZXIoJGxlYWRlciwgJGZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIHBhZGRpbmctbGVhZGVyKCRwYWRkaW5nLWxlYWRlciwgJGZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIHBhZGRpbmctdHJhaWxlcigkcGFkZGluZy10cmFpbGVyLCAkZm9udC1zaXplKTtcbiAgQGluY2x1ZGUgdHJhaWxlcigkdHJhaWxlciwgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IGEgYm9yZGVyIGFuZCB3aGl0ZXNwYWNlIHRvIGFueSBzaWRlIHdpdGhvdXQgZGVzdHJveWluZyB0aGUgdmVydGljYWxcbi8vIHJoeXRobS4gVGhlIHdoaXRlc3BhY2UgbXVzdCBiZSBncmVhdGVyIHRoYW4gdGhlIHdpZHRoIG9mIHRoZSBib3JkZXIuXG5AbWl4aW4gYXBwbHktc2lkZS1yaHl0aG0tYm9yZGVyKCRzaWRlLCAkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZm9udC1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gYXBwbHktc2lkZS1yaHl0aG0tYm9yZGVyXCI7XG4gIH1cbiAgYm9yZGVyLSN7JHNpZGV9LXN0eWxlOiAkYm9yZGVyLXN0eWxlO1xuICBib3JkZXItI3skc2lkZX0td2lkdGg6ICRmb250LXVuaXQgKiAkd2lkdGggLyAkZm9udC1zaXplO1xuICBwYWRkaW5nLSN7JHNpZGV9OiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplLCAkb2Zmc2V0OiAkd2lkdGgpO1xufVxuXG4vLyBBcHBseSBib3JkZXJzIGFuZCB3aGl0ZXNwYWNlIGVxdWFsbHkgdG8gYWxsIHNpZGVzLlxuQG1peGluIHJoeXRobS1ib3JkZXJzKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaWYgbm90KCRyZWxhdGl2ZS1mb250LXNpemluZykgYW5kICRmb250LXNpemUgIT0gJGJhc2UtZm9udC1zaXplIHtcbiAgICBAd2FybiBcIiRyZWxhdGl2ZS1mb250LXNpemluZyBpcyBmYWxzZSBidXQgYSByZWxhdGl2ZSBmb250IHNpemUgd2FzIHBhc3NlZCB0byByaHl0aG0tYm9yZGVyc1wiO1xuICB9XG4gIGJvcmRlcjoge1xuICAgIHN0eWxlOiAkYm9yZGVyLXN0eWxlO1xuICAgIHdpZHRoOiAkZm9udC11bml0ICogJHdpZHRoIC8gJGZvbnQtc2l6ZTtcbiAgfTtcbiAgcGFkZGluZzogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSwgJG9mZnNldDogJHdpZHRoKTtcbn1cblxuLy8gQXBwbHkgYSBsZWFkaW5nIGJvcmRlci5cbkBtaXhpbiBsZWFkaW5nLWJvcmRlcigkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGluY2x1ZGUgYXBwbHktc2lkZS1yaHl0aG0tYm9yZGVyKHRvcCwgJHdpZHRoLCAkbGluZXMsICRmb250LXNpemUsICRib3JkZXItc3R5bGUpO1xufVxuXG4vLyBBcHBseSBhIHRyYWlsaW5nIGJvcmRlci5cbkBtaXhpbiB0cmFpbGluZy1ib3JkZXIoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcihib3R0b20sICR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQXBwbHkgYm90aCBsZWFkaW5nIGFuZCB0cmFpbGluZyBib3JkZXJzLlxuQG1peGluIGhvcml6b250YWwtYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGluY2x1ZGUgbGVhZGluZy1ib3JkZXIoJHdpZHRoLCAkbGluZXMsICRmb250LXNpemUsICRib3JkZXItc3R5bGUpO1xuICBAaW5jbHVkZSB0cmFpbGluZy1ib3JkZXIoJHdpZHRoLCAkbGluZXMsICRmb250LXNpemUsICRib3JkZXItc3R5bGUpO1xufVxuXG4vLyBBbGlhcyBmb3IgYGhvcml6b250YWwtYm9yZGVyc2AgbWl4aW4uXG5AbWl4aW4gaC1ib3JkZXJzKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLWJvcmRlcnMoJHdpZHRoLCAkbGluZXMsICRmb250LXNpemUsICRib3JkZXItc3R5bGUpO1xufVxuIiwiQGltcG9ydCBcIi4uL2NzczMvaW1hZ2VzXCI7XG5AaW1wb3J0IFwiLi4vY3NzMy9iYWNrZ3JvdW5kLXNpemVcIjtcblxuLy8gU2V0IHRoZSBjb2xvciBvZiB5b3VyIGNvbHVtbnNcbiRncmlkLWJhY2tncm91bmQtY29sdW1uLWNvbG9yICAgICA6IHJnYmEoMTAwLCAxMDAsIDIyNSwgMC4yNSkgICAhZGVmYXVsdDtcbi8vIFNldCB0aGUgY29sb3Igb2YgeW91ciBndXR0ZXJzXG4kZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci1jb2xvciAgICAgOiByZ2JhKDAsIDAsIDAsIDApICAgICAgICAgICAgIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4geW91ciBncmlkXG4kZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMgICAgOiAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIHdpZHRoIG9mIHlvdXIgY29sdW1uc1xuJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGggICAgIDogMzBweCAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gU2V0IHRoZSB3aWR0aCBvZiB5b3VyIGd1dHRlcnNcbiRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoICAgICA6IDEwcHggICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFNldCB0aGUgb2Zmc2V0LCBpZiB5b3VyIGNvbHVtbnMgYXJlIHBhZGRlZCBpbiBmcm9tIHRoZSBjb250YWluZXIgZWRnZVxuJGdyaWQtYmFja2dyb3VuZC1vZmZzZXQgICAgICAgICAgIDogMHB4ICAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIGNvbG9yIG9mIHlvdXIgYmFzZWxpbmVcbiRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3IgICA6IHJnYmEoMCwgMCwgMCwgMC41KSAgICAgICAgICAhZGVmYXVsdDtcbi8vIFNldCB0aGUgaGVpZ2h0IG9mIHlvdXIgYmFzZWxpbmUgZ3JpZFxuJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1oZWlnaHQgIDogMS41ZW0gICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyB0b2dnbGUgeW91ciBjb2x1bW5zIGdyaWRzIG9uIGFuZCBvZmZcbiRzaG93LWNvbHVtbi1ncmlkLWJhY2tncm91bmRzICAgICA6IHRydWUgICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIHRvZ2dsZSB5b3VyIHZlcnRpY2FsIGdyaWRzIG9uIGFuZCBvZmZcbiRzaG93LWJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZHMgICA6IHRydWUgICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIHRvZ2dsZSBhbGwgeW91ciBncmlkcyBvbiBhbmQgb2ZmXG4kc2hvdy1ncmlkLWJhY2tncm91bmRzICAgICAgICAgICAgOiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cbi8vIG9wdGlvbmFsbHkgZm9yY2UgeW91ciBncmlkLWltYWdlIHRvIHJlbWFpbiBmbHVpZFxuLy8gbm8gbWF0dGVyIHdoYXQgdW5pdHMgeW91IHVzZWQgdG8gZGVjbGFyZWQgeW91ciBncmlkLlxuJGdyaWQtYmFja2dyb3VuZC1mb3JjZS1mbHVpZCAgICAgIDogZmFsc2UgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIENyZWF0ZSB0aGUgZ3JhZGllbnQgbmVlZGVkIGZvciBiYXNlbGluZSBncmlkc1xuQGZ1bmN0aW9uIGdldC1iYXNlbGluZS1ncmFkaWVudChcbiAgJGNvbG9yIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1jb2xvclxuKSB7XG4gICRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgJGNvbG9yIDUlLCByZ2JhKCRjb2xvciwwKSA1JSk7XG4gIEByZXR1cm4gJGdyYWRpZW50O1xufVxuXG4vLyBDcmVhdGUgdGhlIGNvbG9yLXN0b3BzIG5lZWRlZCBmb3IgaG9yaXpvbnRhbCBncmlkc1xuQGZ1bmN0aW9uIGJ1aWxkLWdyaWQtYmFja2dyb3VuZChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3Jcbikge1xuICAkZ3JpZDogY29tcGFjdCgpO1xuICAkZ3JpZDogYXBwZW5kKCRncmlkLCAkZ3V0dGVyLWNvbG9yICRvZmZzZXQsIGNvbW1hKTtcbiAgQGZvciAkaSBmcm9tIDAgdG8gJHRvdGFsIHtcblxuICAgIC8vICRhIHJlcHJlc2VudHMgdGhlIHN0YXJ0IG9mIHRoaXMgY29sdW1uLCBpbml0aWFsbHkgZXF1YWwgdG8gdGhlIG9mZnNldFxuICAgICRhOiAkb2Zmc2V0O1xuICAgIEBpZiAkaSA+IDAgeyAkYTogJGEgKyAoKCRjb2x1bW4gKyAkZ3V0dGVyKSAqICRpKTsgfVxuXG4gICAgLy8gJGcgcmVwcmVzZW50cyB0aGUgc3RhcnQgb2YgdGhpcyBndXR0ZXIsIGVxdWFsIHRvICRhIHBsdXMgb25lIGNvbHVtbi13aWR0aFxuICAgICRnOiAkYSArICRjb2x1bW47XG5cbiAgICAvLyAkeiByZXByZXNlbnRzIHRoZSBlbmQgb2YgYSBndXR0ZXIsIGVxdWFsIHRvICRnIHBsdXMgb25lIGd1dHRlci13aWR0aFxuICAgICR6OiAkZyArICRndXR0ZXI7XG5cbiAgICBAaWYgKHVuaXQoJGEpID09IFwiJVwiKSBhbmQgKCRpID09ICgkdG90YWwgLSAxKSkge1xuICAgICAgJHo6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gYW5kIHdlIGFkZCB0aGlzIGNvbHVtbi9ndXR0ZXIgcGFpciB0byBvdXIgZ3JpZFxuICAgICRncmlkOiBqb2luKCRncmlkLCAoJGNvbHVtbi1jb2xvciAkYSwgJGNvbHVtbi1jb2xvciAkZywgJGd1dHRlci1jb2xvciAkZywgJGd1dHRlci1jb2xvciAkeikpO1xuICB9XG5cbiAgQHJldHVybiAkZ3JpZDtcbn1cblxuLy8gUmV0dXJuIHRoZSBncmFkaWVudCBuZWVkZWQgZm9yIGhvcml6b250YWwgZ3JpZHNcbkBmdW5jdGlvbiBnZXQtY29sdW1uLWdyYWRpZW50KFxuICAkdG90YWwgICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMsXG4gICRjb2x1bW4gICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoLFxuICAkZ3V0dGVyICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCxcbiAgJG9mZnNldCAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1vZmZzZXQsXG4gICRjb2x1bW4tY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLWNvbG9yLFxuICAkZ3V0dGVyLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci1jb2xvcixcbiAgJGZvcmNlLWZsdWlkICAgIDogJGdyaWQtYmFja2dyb3VuZC1mb3JjZS1mbHVpZFxuKSB7XG4gICRncmlkOiB1bnF1b3RlKFwiXCIpO1xuXG4gIC8vIGRvbid0IGZvcmNlIGZsdWlkIGdyaWRzIHdoZW4gdGhleSBhcmUgYWxyZWFkeSBmbHVpZC5cbiAgQGlmIHVuaXQoJGNvbHVtbikgPT0gXCIlXCIgeyAkZm9yY2UtZmx1aWQ6IGZhbHNlOyB9XG5cbiAgQGlmICRmb3JjZS1mbHVpZCB7XG4gICAgJGdyaWQ6IGdldC1jb2x1bW4tZmx1aWQtZ3JpZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yKTtcbiAgfSBAZWxzZSB7XG4gICAgJGdyaWQ6IGJ1aWxkLWdyaWQtYmFja2dyb3VuZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yKTtcbiAgfVxuXG4gIC8vIHJldHVybiB0aGUgaG9yaXpvbnRhbCBncmlkIGFzIGEgZ3JhZGllbnRcbiAgJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQobGVmdCwgJGdyaWQpO1xuICBAcmV0dXJuICRncmFkaWVudDtcbn1cblxuLy8gQ29udmVydCBhIGdyaWQgZnJvbSBmaXhlZCB1bml0cyBpbnRvIHBlcmNlbnRhZ2VzLlxuQGZ1bmN0aW9uIGdldC1jb2x1bW4tZmx1aWQtZ3JpZChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3Jcbikge1xuICAkY29udGV4dDogKCRjb2x1bW4gKiAkdG90YWwpICsgKCRndXR0ZXIgKiAoJHRvdGFsIC0gMSkgKyAoJG9mZnNldCAqIDIpKTtcbiAgJG9mZnNldDogJG9mZnNldCAvICRjb250ZXh0ICogMTAwJTtcbiAgJGNvbHVtbjogJGNvbHVtbiAvICRjb250ZXh0ICogMTAwJTtcbiAgJGd1dHRlcjogJGd1dHRlciAvICRjb250ZXh0ICogMTAwJTtcblxuICAvLyByZXR1cm4gdGhlIGhvcml6b250YWwgZ3JpZCBhcyBhIHNldCBvZiBjb2xvci1zdG9wc1xuICAkZ3JpZDogYnVpbGQtZ3JpZC1iYWNrZ3JvdW5kKCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IpO1xuICBAcmV0dXJuICRncmlkO1xufVxuXG5cbi8vIEFkZCBqdXN0IHRoZSBiYXNlbGluZSBncmlkIHRvIGFuIGVsZW1lbnQncyBiYWNrZ3JvdW5kXG5AbWl4aW4gYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kKFxuICAkYmFzZWxpbmUgOiAkZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWhlaWdodCxcbiAgJGNvbG9yICAgIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1jb2xvclxuKSB7XG4gIEBpZiAkc2hvdy1ncmlkLWJhY2tncm91bmRzIGFuZCAkc2hvdy1iYXNlbGluZS1ncmlkLWJhY2tncm91bmRzIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGdldC1iYXNlbGluZS1ncmFkaWVudCgkY29sb3IpKTtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXNpemUoMTAwJSAkYmFzZWxpbmUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICB9XG59XG5cbi8vIEFkZCBqdXN0IHRoZSBob3Jpem9udGFsIGdyaWQgdG8gYW4gZWxlbWVudCdzIGJhY2tncm91bmRcbkBtaXhpbiBjb2x1bW4tZ3JpZC1iYWNrZ3JvdW5kKFxuICAkdG90YWwgICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMsXG4gICRjb2x1bW4gICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoLFxuICAkZ3V0dGVyICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCxcbiAgJG9mZnNldCAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1vZmZzZXQsXG4gICRjb2x1bW4tY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLWNvbG9yLFxuICAkZ3V0dGVyLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci1jb2xvcixcbiAgJGZvcmNlLWZsdWlkICAgIDogJGdyaWQtYmFja2dyb3VuZC1mb3JjZS1mbHVpZFxuKSB7XG4gIEBpZiAkc2hvdy1ncmlkLWJhY2tncm91bmRzIGFuZCAkc2hvdy1jb2x1bW4tZ3JpZC1iYWNrZ3JvdW5kcyB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShcbiAgICAgIGdldC1jb2x1bW4tZ3JhZGllbnQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvciwgJGZvcmNlLWZsdWlkKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gIH1cbn1cblxuLy8gQWRkIGJvdGggaG9yaXpvbnRhbCBhbmQgYmFzZWxpbmUgZ3JpZHMgdG8gYW4gZWxlbWVudCdzIGJhY2tncm91bmRcbkBtaXhpbiBncmlkLWJhY2tncm91bmQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkYmFzZWxpbmUgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWhlaWdodCxcbiAgJG9mZnNldCAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1vZmZzZXQsXG4gICRjb2x1bW4tY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLWNvbG9yLFxuICAkZ3V0dGVyLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci1jb2xvcixcbiAgJGJhc2VsaW5lLWNvbG9yIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1jb2xvcixcbiAgJGZvcmNlLWZsdWlkICAgIDogJGdyaWQtYmFja2dyb3VuZC1mb3JjZS1mbHVpZFxuKSB7XG4gIEBpZiAkc2hvdy1ncmlkLWJhY2tncm91bmRzIHtcbiAgICBAaWYgJHNob3ctYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kcyBhbmQgJHNob3ctY29sdW1uLWdyaWQtYmFja2dyb3VuZHMge1xuICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShcbiAgICAgICAgZ2V0LWJhc2VsaW5lLWdyYWRpZW50KCRiYXNlbGluZS1jb2xvciksXG4gICAgICAgIGdldC1jb2x1bW4tZ3JhZGllbnQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvciwgJGZvcmNlLWZsdWlkKVxuICAgICAgKTtcbiAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtc2l6ZSgxMDAlICRiYXNlbGluZSwgYXV0byk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZCgkYmFzZWxpbmUsICRiYXNlbGluZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSBjb2x1bW4tZ3JpZC1iYWNrZ3JvdW5kKCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IsICRmb3JjZS1mbHVpZCk7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5AaW1wb3J0IFwiLi4vdXRpbGl0aWVzL2dlbmVyYWwvaGFja3NcIjtcbkBpbXBvcnQgXCIuLi9mdW5jdGlvbnNcIjtcblxuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gYmFja2dyb3VuZChcbiAgJGJhY2tncm91bmQtMSxcbiAgJGJhY2tncm91bmQtMjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTM6IGZhbHNlLFxuICAkYmFja2dyb3VuZC00OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTY6IGZhbHNlLFxuICAkYmFja2dyb3VuZC03OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtODogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTk6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0xMDogZmFsc2Vcbikge1xuICAkYmFja2dyb3VuZHM6IGNvbXBhY3QoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbiAgJG11bHQtYmdzOiAtY29tcGFzcy1saXN0LXNpemUoJGJhY2tncm91bmRzKSA+IDE7XG4gICRhZGQtcGllLWJnOiBwcmVmaXhlZCgtcGllLCAgICRiYWNrZ3JvdW5kcykgb3IgJG11bHQtYmdzO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1zdmcoJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1vd2coJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQoJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1tb3ooJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgICAgLW8oJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1waWUgICAgICAgICAgYW5kICRhZGQtcGllLWJnICAgICAgICAgICAgICAgICAgICAgeyAtcGllLWJhY2tncm91bmQ6ICAgIC1waWUoJGJhY2tncm91bmRzKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICAgICAgICAgJGJhY2tncm91bmRzIDtcbn1cblxuQG1peGluIGJhY2tncm91bmQtd2l0aC1jc3MyLWZhbGxiYWNrKFxuICAkYmFja2dyb3VuZC0xLFxuICAkYmFja2dyb3VuZC0yOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZC01OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTc6IGZhbHNlLFxuICAkYmFja2dyb3VuZC04OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtOTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTEwOiBmYWxzZVxuKSB7XG4gICRiYWNrZ3JvdW5kczogY29tcGFjdCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xuICAkbXVsdC1iZ3M6IC1jb21wYXNzLWxpc3Qtc2l6ZSgkYmFja2dyb3VuZHMpID4gMTtcbiAgJHNpbXBsZS1iYWNrZ3JvdW5kOiBpZigkbXVsdC1iZ3Mgb3IgcHJlZml4ZWQoLWNzczIsICRiYWNrZ3JvdW5kcyksIC1jc3MyKC1jb21wYXNzLW50aCgkYmFja2dyb3VuZHMsIGxhc3QpKSwgZmFsc2UpO1xuICBAaWYgbm90KGJsYW5rKCRzaW1wbGUtYmFja2dyb3VuZCkpIHsgYmFja2dyb3VuZDogJHNpbXBsZS1iYWNrZ3JvdW5kOyB9XG4gIEBpbmNsdWRlIGJhY2tncm91bmQoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG59XG5cblxuLy8gQmFja2dyb3VuZCBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZShcbiAgJGltYWdlLTEsXG4gICRpbWFnZS0yOiBmYWxzZSxcbiAgJGltYWdlLTM6IGZhbHNlLFxuICAkaW1hZ2UtNDogZmFsc2UsXG4gICRpbWFnZS01OiBmYWxzZSxcbiAgJGltYWdlLTY6IGZhbHNlLFxuICAkaW1hZ2UtNzogZmFsc2UsXG4gICRpbWFnZS04OiBmYWxzZSxcbiAgJGltYWdlLTk6IGZhbHNlLFxuICAkaW1hZ2UtMTA6IGZhbHNlXG4pIHtcbiAgJGltYWdlczogY29tcGFjdCgkaW1hZ2UtMSwgJGltYWdlLTIsICRpbWFnZS0zLCAkaW1hZ2UtNCwgJGltYWdlLTUsICRpbWFnZS02LCAkaW1hZ2UtNywgJGltYWdlLTgsICRpbWFnZS05LCAkaW1hZ2UtMTApO1xuICAkYWRkLXBpZS1iZzogcHJlZml4ZWQoLXBpZSwgICAkaW1hZ2VzKSBvciAtY29tcGFzcy1saXN0LXNpemUoJGltYWdlcykgPiAxO1xuXG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtc3ZnKCRpbWFnZXMpOyBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1vd2coJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQoJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1tb3ooJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8oJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIGFuZCAkYWRkLXBpZS1iZyAgICAgICAgICAgICAgICB7IEB3YXJuIFwiUElFIGRvZXMgbm90IHN1cHBvcnQgYmFja2dyb3VuZC1pbWFnZS4gVXNlIEBpbmNsdWRlIGJhY2tncm91bmQoI3skaW1hZ2VzfSkgaW5zdGVhZC5cIiB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgICRpbWFnZXMgO1xufVxuXG4vLyBFbWl0IGEgSUUtU3BlY2lmaWMgZmlsdGVycyB0aGF0IHJlbmRlcnMgYSBzaW1wbGUgbGluZWFyIGdyYWRpZW50LlxuLy8gRm9yIHVzZSBpbiBJRSA2IC0gOC4gQmVzdCBwcmFjdGljZSB3b3VsZCBoYXZlIHlvdSBhcHBseSB0aGlzIHZpYSBhXG4vLyBjb25kaXRpb25hbCBJRSBzdHlsZXNoZWV0LCBidXQgaWYgeW91IG11c3QsIHlvdSBzaG91bGQgcGxhY2UgdGhpcyBiZWZvcmVcbi8vIGFueSBiYWNrZ3JvdW5kLWltYWdlIHByb3BlcnRpZXMgdGhhdCB5b3UgaGF2ZSBzcGVjaWZpZWQuXG4vL1xuLy8gRm9yIHRoZSBgJG9yaWVudGF0aW9uYCBwYXJhbWV0ZXIsIHlvdSBjYW4gcGFzcyBgdmVydGljYWxgIG9yIGBob3Jpem9udGFsYC5cbkBtaXhpbiBmaWx0ZXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yLCAkb3JpZW50YXRpb246IHZlcnRpY2FsKSB7XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG4gICRncmFkaWVudC10eXBlOiBpZigkb3JpZW50YXRpb24gPT0gdmVydGljYWwsIDAsIDEpO1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTgge1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGdyYWRpZW50VHlwZT0jeyRncmFkaWVudC10eXBlfSwgc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nKTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHByb3BlcnRpZXMgYW5kIHZhbHVlcy5cbkBtaXhpbiBib3JkZXItaW1hZ2UoJHZhbHVlKSB7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICB7ICAgIC1tb3otYm9yZGVyLWltYWdlOiAgICAtbW96KHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogICAgLW93ZyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6IC13ZWJraXQocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICB7ICAgICAgLW8tYm9yZGVyLWltYWdlOiAgICAgIC1vKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgeyAgICAgICAgIGJvcmRlci1pbWFnZTogICAgLXN2ZyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItaW1hZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlO1xufVxuXG4vLyBMaXN0IHN0eWxlIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBsaXN0LXN0eWxlLWltYWdlKCRpbWFnZSkge1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtbW96KCRpbWFnZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW93ZygkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6IC13ZWJraXQoJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAgIC1vKCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLXN2ZygkaW1hZ2UpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgICAgJGltYWdlIDtcbn1cblxuLy8gTGlzdCBzdHlsZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gbGlzdC1zdHlsZSgkdmFsdWUpIHtcbiAgJHZhbHVlOiAtY29tcGFzcy1saXN0KCR2YWx1ZSk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1tb3ooJHZhbHVlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtb3dnKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogLXdlYmtpdCgkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgLW8oJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtc3ZnKCR2YWx1ZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogICAgICAgICAkdmFsdWUgO1xufVxuXG4vLyBjb250ZW50IHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBjb250ZW50KCR2YWx1ZSkge1xuICAkdmFsdWU6IC1jb21wYXNzLWxpc3QoJHZhbHVlKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLW1veigkdmFsdWUpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1vd2coJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICR2YWx1ZSkgeyBjb250ZW50OiAtd2Via2l0KCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkdmFsdWUpIHsgY29udGVudDogICAgICAtbygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1zdmcoJHZhbHVlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAgICAgICAgICR2YWx1ZSA7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vICBvdmVycmlkZSB0byBjaGFuZ2UgdGhlIGRlZmF1bHRcbiRkZWZhdWx0LWJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIHNpemUgb2YgYmFja2dyb3VuZCBpbWFnZXMgdXNpbmcgcHgsIHdpZHRoIGFuZCBoZWlnaHQsIG9yIHBlcmNlbnRhZ2VzLlxuLy8gQ3VycmVudGx5IHN1cHBvcnRlZCBpbjogT3BlcmEsIEdlY2tvLCBXZWJraXQuXG4vL1xuLy8gKiBwZXJjZW50YWdlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGJhY2tncm91bmQtb3JpZ2luIChkZWZhdWx0ID0gcGFkZGluZy1ib3gpXG4vLyAqIG1peGluIGRlZmF1bHRzIHRvOiBgJGRlZmF1bHQtYmFja2dyb3VuZC1zaXplYFxuQG1peGluIGJhY2tncm91bmQtc2l6ZShcbiAgJHNpemUtMTogJGRlZmF1bHQtYmFja2dyb3VuZC1zaXplLFxuICAkc2l6ZS0yOiBmYWxzZSxcbiAgJHNpemUtMzogZmFsc2UsXG4gICRzaXplLTQ6IGZhbHNlLFxuICAkc2l6ZS01OiBmYWxzZSxcbiAgJHNpemUtNjogZmFsc2UsXG4gICRzaXplLTc6IGZhbHNlLFxuICAkc2l6ZS04OiBmYWxzZSxcbiAgJHNpemUtOTogZmFsc2UsXG4gICRzaXplLTEwOiBmYWxzZVxuKSB7XG4gICRzaXplLTE6IGlmKHR5cGUtb2YoJHNpemUtMSkgPT0gc3RyaW5nLCB1bnF1b3RlKCRzaXplLTEpLCAkc2l6ZS0xKTtcbiAgJHNpemVzOiBjb21wYWN0KCRzaXplLTEsICRzaXplLTIsICRzaXplLTMsICRzaXplLTQsICRzaXplLTUsICRzaXplLTYsICRzaXplLTcsICRzaXplLTgsICRzaXplLTksICRzaXplLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtc2l6ZSwgJHNpemVzLCAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpKTtcbn1cbiIsIkBpbXBvcnQgXCJjc3MzL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJjc3MzL2lubGluZS1ibG9ja1wiO1xuQGltcG9ydCBcImNzczMvb3BhY2l0eVwiO1xuQGltcG9ydCBcImNzczMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcImNzczMvdGV4dC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2JveFwiO1xuQGltcG9ydCBcImNzczMvaW1hZ2VzXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWNsaXBcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtb3JpZ2luXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLXNpemVcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9yZWdpb25zXCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5hdGlvblwiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9waWVcIjtcbkBpbXBvcnQgXCJjc3MzL3VzZXItaW50ZXJmYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4Ym94XCI7IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4kZGVmYXVsdC1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG5cbi8vIFJvdW5kIGFsbCBjb3JuZXJzIGJ5IGEgc3BlY2lmaWMgYW1vdW50LCBkZWZhdWx0cyB0byB2YWx1ZSBvZiBgJGRlZmF1bHQtYm9yZGVyLXJhZGl1c2AuXG4vL1xuLy8gV2hlbiB0d28gdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBmaXJzdCBpcyB0aGUgaG9yaXpvbnRhbCByYWRpdXNcbi8vIGFuZCB0aGUgc2Vjb25kIGlzIHRoZSB2ZXJ0aWNhbCByYWRpdXMuXG4vL1xuLy8gTm90ZTogd2Via2l0IGRvZXMgbm90IHN1cHBvcnQgc2hvcnRoYW5kIHN5bnRheCBmb3Igc2V2ZXJhbCBjb3JuZXJzIGF0IG9uY2UuXG4vLyBTbyBpbiB0aGUgY2FzZSB3aGVyZSB5b3UgcGFzcyBzZXZlcmFsIHZhbHVlcyBvbmx5IHRoZSBmaXJzdCB3aWxsIGJlIHBhc3NlZCB0byB3ZWJraXQuXG4vL1xuLy8gRXhhbXBsZXM6XG4vL1xuLy8gICAgIC5zaW1wbGUgICB7IEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4LCA0cHgpOyB9XG4vLyAgICAgLmNvbXBvdW5kIHsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHggNXB4LCAzcHggNnB4KTsgfVxuLy8gICAgIC5jcmF6eSAgICB7IEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMXB4IDNweCA1cHggN3B4LCAycHggNHB4IDZweCA4cHgpfVxuLy9cbi8vIFdoaWNoIGdlbmVyYXRlczpcbi8vXG4vLyAgICAuc2ltcGxlIHtcbi8vICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHggNHB4O1xuLy8gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweCAvIDRweDtcbi8vICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDRweCAvIDRweDtcbi8vICAgICAgYm9yZGVyLXJhZGl1czogNHB4IC8gNHB4OyB9XG4vLyAgICBcbi8vICAgIC5jb21wb3VuZCB7XG4vLyAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4IDNweDtcbi8vICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHggNXB4IC8gM3B4IDZweDtcbi8vICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDJweCA1cHggLyAzcHggNnB4O1xuLy8gICAgICBib3JkZXItcmFkaXVzOiAycHggNXB4IC8gM3B4IDZweDsgfVxuLy8gICAgXG4vLyAgICAuY3Jhenkge1xuLy8gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweCAycHg7XG4vLyAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMXB4IDNweCA1cHggN3B4IC8gMnB4IDRweCA2cHggOHB4O1xuLy8gICAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogMXB4IDNweCA1cHggN3B4IC8gMnB4IDRweCA2cHggOHB4O1xuLy8gICAgICBib3JkZXItcmFkaXVzOiAxcHggM3B4IDVweCA3cHggLyAycHggNHB4IDZweCA4cHg7IH1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cywgJHZlcnRpY2FsLXJhZGl1czogZmFsc2UpIHtcblxuICBAaWYgJHZlcnRpY2FsLXJhZGl1cyB7XG4gICAgLy8gV2Via2l0IGRvZXNuJ3QgdW5kZXJzdGFuZCB0aGUgb2ZmaWNpYWwgc2hvcnRoYW5kIHN5bnRheCBmb3Igc3BlY2lmeWluZ1xuICAgIC8vIGEgdmVydGljYWwgcmFkaXVzIHVubGVzcyBzbyBpbiBjYXNlIHRoZXJlJ3Mgc2V2ZXJhbCB3ZSBvbmx5IHRha2UgdGhlIGZpcnN0LlxuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3JkZXItcmFkaXVzLCBmaXJzdC12YWx1ZS1vZigkcmFkaXVzKSBmaXJzdC12YWx1ZS1vZigkdmVydGljYWwtcmFkaXVzKSxcbiAgICAgIG5vdCgtbW96KSxcbiAgICAgIC13ZWJraXQsXG4gICAgICBub3QoLW8pLFxuICAgICAgbm90KC1tcyksXG4gICAgICBub3QoLWtodG1sKSxcbiAgICAgIG5vdChvZmZpY2lhbClcbiAgICApO1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImJvcmRlci1yYWRpdXNcIiwgJHJhZGl1cyB1bnF1b3RlKFwiL1wiKSAkdmVydGljYWwtcmFkaXVzLFxuICAgICAgLW1veixcbiAgICAgIG5vdCgtd2Via2l0KSxcbiAgICAgIG5vdCgtbyksXG4gICAgICBub3QoLW1zKSxcbiAgICAgIC1raHRtbCxcbiAgICAgIG9mZmljaWFsXG4gICAgKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJvcmRlci1yYWRpdXMsICRyYWRpdXMpO1xuICB9XG59XG5cbi8vIFJvdW5kIHJhZGl1cyBhdCBwb3NpdGlvbiBieSBhbW91bnQuXG4vL1xuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yIGAkdmVydGA6IGB0b3BgLCBgYm90dG9tYFxuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yIGAkaG9yemA6IGBsZWZ0YCwgYHJpZ2h0YFxuXG5AbWl4aW4gYm9yZGVyLWNvcm5lci1yYWRpdXMoJHZlcnQsICRob3J6LCAkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIC8vIFN1cHBvcnQgZm9yIG1vemlsbGEncyBzeW50YXggZm9yIHNwZWNpZnlpbmcgYSBjb3JuZXJcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKFwiYm9yZGVyLXJhZGl1cy0jeyR2ZXJ0fSN7JGhvcnp9XCIsICRyYWRpdXMsXG4gICAgLW1veixcbiAgICBub3QoLXdlYmtpdCksXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICBub3QoLWtodG1sKSxcbiAgICBub3Qob2ZmaWNpYWwpXG4gICk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImJvcmRlci0jeyR2ZXJ0fS0jeyRob3J6fS1yYWRpdXNcIiwgJHJhZGl1cyxcbiAgICBub3QoLW1veiksXG4gICAgLXdlYmtpdCxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIC1raHRtbCxcbiAgICBvZmZpY2lhbFxuICApO1xuICBcbn1cblxuLy8gUm91bmQgdG9wLWxlZnQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyh0b3AsIGxlZnQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIHRvcC1yaWdodCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyh0b3AsIHJpZ2h0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3R0b20tbGVmdCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1jb3JuZXItcmFkaXVzKGJvdHRvbSwgbGVmdCwgJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90dG9tLXJpZ2h0IGNvcm5lciBvbmx5XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1jb3JuZXItcmFkaXVzKGJvdHRvbSwgcmlnaHQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdGggdG9wIGNvcm5lcnMgYnkgYW1vdW50XG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIHJpZ2h0IGNvcm5lcnMgYnkgYW1vdW50XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIGJvdHRvbSBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCBsZWZ0IGNvcm5lcnMgYnkgYW1vdW50XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKTsgfVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIENTUyBvcGFjaXR5LiBUYWtlcyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEgYXMgdGhlIGFyZ3VtZW50LCBlLmcuIDAuNSBmb3IgNTAlIG9wYWNpdHkuXG4vL1xuLy8gICAgIEBwYXJhbSAkb3BhY2l0eVxuLy8gICAgICAgICBBIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEsIHdoZXJlIDAgaXMgdHJhbnNwYXJlbnQgYW5kIDEgaXMgb3BhcXVlLlxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTgge1xuICAgIGZpbHRlcjogdW5xdW90ZShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSN7cm91bmQoJG9wYWNpdHkgKiAxMDApfSlcIik7XG4gIH1cbiAgb3BhY2l0eTogJG9wYWNpdHk7XG59XG5cbi8vIE1ha2UgYW4gZWxlbWVudCBjb21wbGV0ZWx5IHRyYW5zcGFyZW50LlxuQG1peGluIHRyYW5zcGFyZW50IHsgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuXG4vLyBNYWtlIGFuIGVsZW1lbnQgY29tcGxldGVseSBvcGFxdWUuXG5AbWl4aW4gb3BhcXVlIHsgQGluY2x1ZGUgb3BhY2l0eSgxKTsgfVxuIiwiLy8gQGRvYyBvZmZcbi8vIFRoZXNlIGRlZmF1bHRzIG1ha2UgdGhlIGFyZ3VtZW50cyBvcHRpb25hbCBmb3IgdGhpcyBtaXhpblxuLy8gSWYgeW91IGxpa2UsIHNldCBkaWZmZXJlbnQgZGVmYXVsdHMgYmVmb3JlIGltcG9ydGluZy5cbi8vIEBkb2Mgb25cblxuQGltcG9ydCBcInNoYXJlZFwiO1xuXG5cbi8vIFRoZSBkZWZhdWx0IGNvbG9yIGZvciBib3ggc2hhZG93c1xuJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjogIzMzMzMzMyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgaG9yaXpvbnRhbCBvZmZzZXQuIFBvc2l0aXZlIGlzIHRvIHRoZSByaWdodC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctaC1vZmZzZXQ6IDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgdmVydGljYWwgb2Zmc2V0LiBQb3NpdGl2ZSBpcyBkb3duLlxuJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldDogMHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBibHVyIGxlbmd0aC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctYmx1cjogNXB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBzcHJlYWQgbGVuZ3RoLlxuJGRlZmF1bHQtYm94LXNoYWRvdy1zcHJlYWQgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgc2hhZG93IGluc2V0OiBpbnNldCBvciBmYWxzZSAoZm9yIHN0YW5kYXJkIHNoYWRvdykuXG4kZGVmYXVsdC1ib3gtc2hhZG93LWluc2V0IDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgZm9yIFdlYmtpdCwgR2Vja28sIGFuZCBDU1MzIGJveCBzaGFkb3dzIHdoZW4gb25lIG9yIG1vcmUgYm94XG4vLyBzaGFkb3dzIGFyZSBuZWVkZWQuXG4vLyBFYWNoIHNoYWRvdyBhcmd1bWVudCBzaG91bGQgYWRoZXJlIHRvIHRoZSBzdGFuZGFyZCBjc3MzIHN5bnRheCBmb3IgdGhlXG4vLyBib3gtc2hhZG93IHByb3BlcnR5LlxuQG1peGluIGJveC1zaGFkb3coXG4gICRzaGFkb3ctMSA6IGRlZmF1bHQsXG4gICRzaGFkb3ctMiA6IGZhbHNlLFxuICAkc2hhZG93LTMgOiBmYWxzZSxcbiAgJHNoYWRvdy00IDogZmFsc2UsXG4gICRzaGFkb3ctNSA6IGZhbHNlLFxuICAkc2hhZG93LTYgOiBmYWxzZSxcbiAgJHNoYWRvdy03IDogZmFsc2UsXG4gICRzaGFkb3ctOCA6IGZhbHNlLFxuICAkc2hhZG93LTkgOiBmYWxzZSxcbiAgJHNoYWRvdy0xMDogZmFsc2Vcbikge1xuICBAaWYgJHNoYWRvdy0xID09IGRlZmF1bHQge1xuICAgICRzaGFkb3ctMSA6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdChpZigkZGVmYXVsdC1ib3gtc2hhZG93LWluc2V0LCBpbnNldCwgZmFsc2UpLCAkZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0LCAkZGVmYXVsdC1ib3gtc2hhZG93LXYtb2Zmc2V0LCAkZGVmYXVsdC1ib3gtc2hhZG93LWJsdXIsICRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkLCAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yKSk7XG4gIH1cbiAgJHNoYWRvdyA6IGNvbXBhY3QoJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtc2hhZG93LCAkc2hhZG93LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gUHJvdmlkZXMgYSBzaW5nbGUgY3Jvc3MtYnJvd3NlciBDU1MgYm94IHNoYWRvdyBmb3IgV2Via2l0LCBHZWNrbywgYW5kIENTUzMuXG4vLyBJbmNsdWRlcyBkZWZhdWx0IGFyZ3VtZW50cyBmb3IgaG9yaXpvbnRhbCBvZmZzZXQsIHZlcnRpY2FsIG9mZnNldCwgYmx1ciBsZW5ndGgsIHNwcmVhZCBsZW5ndGgsIGNvbG9yIGFuZCBpbnNldC5cbkBtaXhpbiBzaW5nbGUtYm94LXNoYWRvdyhcbiAgJGhvZmYgICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctaC1vZmZzZXQsXG4gICR2b2ZmICAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LXYtb2Zmc2V0LFxuICAkYmx1ciAgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyLFxuICAkc3ByZWFkIDogJGRlZmF1bHQtYm94LXNoYWRvdy1zcHJlYWQsXG4gICRjb2xvciAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yLFxuICAkaW5zZXQgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldFxuKSB7XG4gIEBpZiBub3QgKCRpbnNldCA9PSB0cnVlIG9yICRpbnNldCA9PSBmYWxzZSBvciAkaW5zZXQgPT0gaW5zZXQpIHtcbiAgICBAd2FybiBcIiRpbnNldCBleHBlY3RlZCB0byBiZSB0cnVlIG9yIHRoZSBpbnNldCBrZXl3b3JkLiBHb3QgI3skaW5zZXR9IGluc3RlYWQuIFVzaW5nOiBpbnNldFwiO1xuICB9XG5cbiAgQGlmICRjb2xvciA9PSBub25lIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9IEBlbHNlIHtcbiAgICAkZnVsbCAgIDogJGhvZmYgJHZvZmY7XG4gICAgQGlmICRibHVyICAgeyAkZnVsbDogJGZ1bGwgJGJsdXI7ICAgfVxuICAgIEBpZiAkc3ByZWFkIHsgJGZ1bGw6ICRmdWxsICRzcHJlYWQ7IH1cbiAgICBAaWYgJGNvbG9yICB7ICRmdWxsOiAkZnVsbCAkY29sb3I7ICB9XG4gICAgQGlmICRpbnNldCAgeyAkZnVsbDogaW5zZXQgJGZ1bGw7ICAgfVxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZ1bGwpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFRoZXNlIGRlZmF1bHRzIG1ha2UgdGhlIGFyZ3VtZW50cyBvcHRpb25hbCBmb3IgdGhpcyBtaXhpblxuLy8gSWYgeW91IGxpa2UsIHNldCBkaWZmZXJlbnQgZGVmYXVsdHMgaW4geW91ciBwcm9qZWN0XG5cbiRkZWZhdWx0LXRleHQtc2hhZG93LWNvbG9yOiAgICAjYWFhICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQ6IDBweCAgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy12LW9mZnNldDogMHB4ICAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LWJsdXI6ICAgICAxcHggICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctc3ByZWFkOiAgIGZhbHNlICAhZGVmYXVsdDtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciB0ZXh0IHNoYWRvd3Mgd2hlbiBvbmUgb3IgbW9yZSBzaGFkb3dzIGFyZSBuZWVkZWQuXG4vLyBFYWNoIHNoYWRvdyBhcmd1bWVudCBzaG91bGQgYWRoZXJlIHRvIHRoZSBzdGFuZGFyZCBjc3MzIHN5bnRheCBmb3IgdGhlXG4vLyB0ZXh0LXNoYWRvdyBwcm9wZXJ0eS5cbi8vXG4vLyBOb3RlOiBpZiBhbnkgc2hhZG93IGhhcyBhIHNwcmVhZCBwYXJhbWV0ZXIsIHRoaXMgd2lsbCBjYXVzZSB0aGUgbWl4aW5cbi8vIHRvIGVtaXQgdGhlIHNoYWRvdyBkZWNsYXJhdGlvbiB0d2ljZSwgZmlyc3Qgd2l0aG91dCB0aGUgc3ByZWFkLFxuLy8gdGhlbiB3aXRoIHRoZSBzcHJlYWQgaW5jbHVkZWQuIFRoaXMgYWxsb3dzIHlvdSB0byBwcm9ncmVzc2l2ZWx5XG4vLyBlbmhhbmNlIHRoZSBicm93c2VycyB0aGF0IGRvIHN1cHBvcnQgdGhlIHNwcmVhZCBwYXJhbWV0ZXIuXG5AbWl4aW4gdGV4dC1zaGFkb3coXG4gICRzaGFkb3ctMSA6IGRlZmF1bHQsXG4gICRzaGFkb3ctMiA6IGZhbHNlLFxuICAkc2hhZG93LTMgOiBmYWxzZSxcbiAgJHNoYWRvdy00IDogZmFsc2UsXG4gICRzaGFkb3ctNSA6IGZhbHNlLFxuICAkc2hhZG93LTYgOiBmYWxzZSxcbiAgJHNoYWRvdy03IDogZmFsc2UsXG4gICRzaGFkb3ctOCA6IGZhbHNlLFxuICAkc2hhZG93LTkgOiBmYWxzZSxcbiAgJHNoYWRvdy0xMDogZmFsc2Vcbikge1xuICBAaWYgJHNoYWRvdy0xID09IGRlZmF1bHQge1xuICAgICRzaGFkb3ctMTogY29tcGFjdCgkZGVmYXVsdC10ZXh0LXNoYWRvdy1oLW9mZnNldCAkZGVmYXVsdC10ZXh0LXNoYWRvdy12LW9mZnNldCAkZGVmYXVsdC10ZXh0LXNoYWRvdy1ibHVyICRkZWZhdWx0LXRleHQtc2hhZG93LXNwcmVhZCAkZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvcik7XG4gIH1cbiAgJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQ6IGpvaW4oKCksKCksY29tbWEpO1xuICAkc2hhZG93czogam9pbigoKSwoKSxjb21tYSk7XG4gICRoYXMtc3ByZWFkOiBmYWxzZTtcbiAgQGVhY2ggJHNoYWRvdyBpbiBjb21wYWN0KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNoYWRvdy02LCAkc2hhZG93LTcsICRzaGFkb3ctOCwgJHNoYWRvdy05LCAkc2hhZG93LTEwKSB7XG4gICAgQGlmIGxlbmd0aCgkc2hhZG93KSA+IDQge1xuICAgICAgJGhhcy1zcHJlYWQ6IHRydWU7XG4gICAgICAkc2hhZG93cy13aXRob3V0LXNwcmVhZDogYXBwZW5kKCRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkLCBudGgoJHNoYWRvdywxKSBudGgoJHNoYWRvdywyKSBudGgoJHNoYWRvdywzKSBudGgoJHNoYWRvdyw1KSk7XG4gICAgICAkc2hhZG93czogYXBwZW5kKCRzaGFkb3dzLCAkc2hhZG93KTtcbiAgICB9IGVsc2Uge1xuICAgICAgJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQ6IGFwcGVuZCgkc2hhZG93cy13aXRob3V0LXNwcmVhZCwgJHNoYWRvdyk7XG4gICAgICAkc2hhZG93czogYXBwZW5kKCRzaGFkb3dzLCAkc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgQGlmICRoYXMtc3ByZWFkIHtcbiAgICB0ZXh0LXNoYWRvdzogJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQ7XG4gIH1cbiAgdGV4dC1zaGFkb3c6ICRzaGFkb3dzO1xufVxuXG4vLyBQcm92aWRlcyBhIHNpbmdsZSBjcm9zcy1icm93c2VyIENTUyB0ZXh0IHNoYWRvdy5cbi8vXG4vLyBQcm92aWRlcyBzZW5zaWJsZSBkZWZhdWx0cyBmb3IgdGhlIGNvbG9yLCBob3Jpem9udGFsIG9mZnNldCwgdmVydGljYWwgb2Zmc2V0LCBibHVyLCBhbmQgc3ByZWFkXG4vLyBhY2NvcmRpbmcgdG8gdGhlIGNvbmZpZ3VyYXRpb24gZGVmYXVsdHMgYWJvdmUuXG5AbWl4aW4gc2luZ2xlLXRleHQtc2hhZG93KFxuICAkaG9mZjogZmFsc2UsXG4gICR2b2ZmOiBmYWxzZSxcbiAgJGJsdXI6IGZhbHNlLFxuICAkc3ByZWFkOiBmYWxzZSxcbiAgJGNvbG9yOiBmYWxzZVxuKSB7XG4gIC8vIEEgbG90IG9mIHBlb3BsZSB0aGluayB0aGUgY29sb3IgY29tZXMgZmlyc3QuIEl0IGRvZXNuJ3QuXG4gIEBpZiB0eXBlLW9mKCRob2ZmKSA9PSBjb2xvciB7XG4gICAgJHRlbXAtY29sb3I6ICRob2ZmO1xuICAgICRob2ZmOiAkdm9mZjtcbiAgICAkdm9mZjogJGJsdXI7XG4gICAgJGJsdXI6ICRzcHJlYWQ7XG4gICAgJHNwcmVhZDogJGNvbG9yO1xuICAgICRjb2xvcjogJHRlbXAtY29sb3I7XG4gIH1cbiAgLy8gQ2FuJ3QgcmVseSBvbiBkZWZhdWx0IGFzc2lnbm1lbnQgd2l0aCBtdWx0aXBsZSBzdXBwb3J0ZWQgYXJndW1lbnQgb3JkZXJzLlxuICAkaG9mZjogICBpZigkaG9mZiwgICAkaG9mZiwgICAkZGVmYXVsdC10ZXh0LXNoYWRvdy1oLW9mZnNldCk7XG4gICR2b2ZmOiAgIGlmKCR2b2ZmLCAgICR2b2ZmLCAgICRkZWZhdWx0LXRleHQtc2hhZG93LXYtb2Zmc2V0KTtcbiAgJGJsdXI6ICAgaWYoJGJsdXIsICAgJGJsdXIsICAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctYmx1ciAgICApO1xuICAkc3ByZWFkOiBpZigkc3ByZWFkLCAkc3ByZWFkLCAkZGVmYXVsdC10ZXh0LXNoYWRvdy1zcHJlYWQgICk7XG4gICRjb2xvcjogIGlmKCRjb2xvciwgICRjb2xvciwgICRkZWZhdWx0LXRleHQtc2hhZG93LWNvbG9yICAgKTtcbiAgLy8gV2UgZG9uJ3QgbmVlZCBleHBlcmltZW50YWwgc3VwcG9ydCBmb3IgdGhpcyBwcm9wZXJ0eS5cbiAgQGlmICRjb2xvciA9PSBub25lIG9yICRob2ZmID09IG5vbmUge1xuICAgIEBpbmNsdWRlIHRleHQtc2hhZG93KG5vbmUpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNoYWRvdyhjb21wYWN0KCRob2ZmICR2b2ZmICRibHVyICRzcHJlYWQgJGNvbG9yKSk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gU3BlY2lmeSB0aGUgc2hvcnRoYW5kIGBjb2x1bW5zYCBwcm9wZXJ0eS5cbi8vXG4vLyBFeGFtcGxlOlxuLy9cbi8vICAgICBAaW5jbHVkZSBjb2x1bW5zKDIwZW0gMilcbkBtaXhpbiBjb2x1bW5zKCR3aWR0aC1hbmQtY291bnQpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbnMsICR3aWR0aC1hbmQtY291bnQsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIG51bWJlciBvZiBjb2x1bW5zXG5AbWl4aW4gY29sdW1uLWNvdW50KCRjb3VudCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWNvdW50LCAkY291bnQsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIGdhcCBiZXR3ZWVuIGNvbHVtbnMgZS5nLiBgMjBweGBcbkBtaXhpbiBjb2x1bW4tZ2FwKCR3aWR0aCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWdhcCwgJHdpZHRoLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSB3aWR0aCBvZiBjb2x1bW5zIGUuZy4gYDEwMHB4YFxuQG1peGluIGNvbHVtbi13aWR0aCgkd2lkdGgpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi13aWR0aCwgJHdpZHRoLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgcnVsZSBiZXR3ZWVuIGNvbHVtbnMgZS5nLiBgMXB4YFxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoKCR3aWR0aCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgc3R5bGUgb2YgdGhlIHJ1bGUgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYGRvdHRlZGAuXG4vLyBUaGlzIHdvcmtzIGxpa2UgYm9yZGVyLXN0eWxlLlxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZSkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXJ1bGUtc3R5bGUsIHVucXVvdGUoJHN0eWxlKSxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgY29sb3Igb2YgdGhlIHJ1bGUgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYGJsdWVgLlxuLy8gVGhpcyB3b3JrcyBsaWtlIGJvcmRlci1jb2xvci5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE1peGluIGVuY29tcGFzc2luZyBhbGwgY29sdW1uIHJ1bGUgcHJvcGVydGllc1xuLy8gRm9yIGV4YW1wbGU6XG4vL1xuLy8gICAgIEBpbmNsdWRlIGNvbHVtbi1ydWxlKDFweCwgc29saWQsICNjMDApXG4vL1xuLy8gT3IgdGhlIHZhbHVlcyBjYW4gYmUgc3BhY2Ugc2VwYXJhdGVkOlxuLy9cbi8vICAgICBAaW5jbHVkZSBjb2x1bW4tcnVsZSgxcHggc29saWQgI2MwMClcbkBtaXhpbiBjb2x1bW4tcnVsZSgkd2lkdGgsICRzdHlsZTogZmFsc2UsICRjb2xvcjogZmFsc2UpIHtcbiAgJGZ1bGwgOiAtY29tcGFzcy1zcGFjZS1saXN0KGNvbXBhY3QoJHdpZHRoLCAkc3R5bGUsICRjb2xvcikpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXJ1bGUsICRmdWxsLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4tYnJlYWstYmVmb3JlXG4vL1xuLy8gKiBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGFsd2F5cywgYXZvaWQsIGxlZnQsIHJpZ2h0LCBwYWdlLCBjb2x1bW4sIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy9cbi8vICBFeGFtcGxlOiBcbi8vICAgIGgyLmJlZm9yZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrLWJlZm9yZShhbHdheXMpO31cbi8vXG4vLyAgV2hpY2ggZ2VuZXJhdGVzOiBcbi8vXG4vLyAgaDIuYmVmb3JlIHsgICAgXG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1iZWZvcmU6IGFsd2F5cztcbi8vICAgIGNvbHVtbi1icmVhay1iZWZvcmU6IGFsd2F5czt9XG5AbWl4aW4gY29sdW1uLWJyZWFrLWJlZm9yZSgkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1icmVhay1iZWZvcmUsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsICk7XG59XG5cbi8vIE1peGluIGZvciBzZXR0aW5nIGNvbHVtbi1icmVhay1hZnRlclxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vXG4vLyAgRXhhbXBsZTogXG4vLyAgICBoMi5hZnRlciB7QGluY2x1ZGUgY29sdW1uLWJyZWFrLWFmdGVyKGFsd2F5cyk7IH1cbi8vXG4vLyAgV2hpY2ggZ2VuZXJhdGVzOiBcbi8vXG4vLyAgaDIuYWZ0ZXIge1xuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstYWZ0ZXI6IGFsd2F5cztcbi8vICAgIGNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzOyB9XG5AbWl4aW4gY29sdW1uLWJyZWFrLWFmdGVyKCR2YWx1ZTogYXV0byl7XG4gICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWJyZWFrLWFmdGVyLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufVxuXG4vLyBNaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4tYnJlYWstaW5zaWRlXG4vL1xuLy8gKiBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGF2b2lkLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vXG4vLyAgRXhhbXBsZTogXG4vLyAgICBoMi5pbnNpZGUge0BpbmNsdWRlIGNvbHVtbi1icmVhay1pbnNpZGUoKTt9XG4vLyAgV2hpY2ggZ2VuZXJhdGVzOiBcbi8vICBcbi8vICBoMi5pbnNpZGUge1xuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdXRvO1xuLy8gICAgY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bzt9XG5AbWl4aW4gY29sdW1uLWJyZWFrLWluc2lkZSgkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1icmVhay1pbnNpZGUsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsICk7XG59XG5cbi8vIEFsbC1wdXJwb3NlIG1peGluIGZvciBzZXR0aW5nIGNvbHVtbiBicmVha3MuXG4vL1xuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yICR0eXBlIDogYmVmb3JlLCBhZnRlciwgaW5zaWRlIFxuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yICckdmFsdWUnIGFyZSBkZXBlbmRlbnQgb24gJHR5cGVcbi8vICAgICogd2hlbiAkdHlwZSA9IGJlZm9yZSwgbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vICAgICogd2hlbiAkdHlwZSA9IGFmdGVyLCBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGFsd2F5cywgYXZvaWQsIGxlZnQsIHJpZ2h0LCBwYWdlLCBjb2x1bW4sIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy8gICAgKiB3aGVuICR0eXBlID0gaW5zaWRlLCBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGF2b2lkLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vICBcbi8vICBFeGFtcGxlczogXG4vLyAgICBoMi5iZWZvcmUge0BpbmNsdWRlIGNvbHVtbi1icmVhayhiZWZvcmUsIGFsd2F5cyk7fVxuLy8gICAgaDIuYWZ0ZXIge0BpbmNsdWRlIGNvbHVtbi1icmVhayhhZnRlciwgYWx3YXlzKTsgfVxuLy8gICAgaDIuaW5zaWRlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWsoaW5zaWRlKTsgfVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6IFxuLy8gIGgyLmJlZm9yZSB7ICAgIFxuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7fVxuLy8gIFxuLy8gIGgyLmFmdGVyIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYWZ0ZXI6IGFsd2F5czsgfVxuLy9cbi8vICBoMi5pbnNpZGUge1xuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdXRvO1xuLy8gICAgY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bzt9XG4gXG5AbWl4aW4gY29sdW1uLWJyZWFrKCR0eXBlOiBiZWZvcmUsICR2YWx1ZTogYXV0byl7XG4gICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJjb2x1bW4tYnJlYWstI3skdHlwZX1cIiwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn0iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENoYW5nZSB0aGUgYm94IG1vZGVsIGZvciBNb3ppbGxhLCBXZWJraXQsIElFOCBhbmQgdGhlIGZ1dHVyZVxuLy9cbi8vIEBwYXJhbSAkYnNcbi8vICAgWyBjb250ZW50LWJveCB8IGJvcmRlci1ib3ggXVxuXG5AbWl4aW4gYm94LXNpemluZygkYnMpIHtcbiAgJGJzOiB1bnF1b3RlKCRicyk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtc2l6aW5nLCAkYnMsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBkaXNwbGF5OmJveDsgbXVzdCBiZSB1c2VkIGZvciBhbnkgb2YgdGhlIG90aGVyIGZsZXhib3ggbWl4aW5zIHRvIHdvcmsgcHJvcGVybHlcbkBtaXhpbiBkaXNwbGF5LWJveCB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbC12YWx1ZShkaXNwbGF5LCBib3gsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBib3ggb3JpZW50YXRpb24sIGFzc3VtaW5nIHRoYXQgdGhlIHVzZXIgd2FudHMgc29tZXRoaW5nIGxlc3MgYmxvY2stbGlrZVxuJGRlZmF1bHQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuLy8gQm94IG9yaWVudGF0aW9uIFsgaG9yaXpvbnRhbCB8IHZlcnRpY2FsIHwgaW5saW5lLWF4aXMgfCBibG9jay1heGlzIHwgaW5oZXJpdCBdXG5AbWl4aW4gYm94LW9yaWVudChcbiAgJG9yaWVudGF0aW9uOiAkZGVmYXVsdC1ib3gtb3JpZW50XG4pIHtcbiAgJG9yaWVudGF0aW9uIDogdW5xdW90ZSgkb3JpZW50YXRpb24pO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LW9yaWVudCwgJG9yaWVudGF0aW9uLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERlZmF1bHQgYm94LWFsaWduXG4kZGVmYXVsdC1ib3gtYWxpZ246IHN0cmV0Y2ggIWRlZmF1bHQ7XG5cbi8vIEJveCBhbGlnbiBbIHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoIF1cbkBtaXhpbiBib3gtYWxpZ24oXG4gICRhbGlnbm1lbnQ6ICRkZWZhdWx0LWJveC1hbGlnblxuKSB7XG4gICRhbGlnbm1lbnQgOiB1bnF1b3RlKCRhbGlnbm1lbnQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWFsaWduLCAkYWxpZ25tZW50LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERlZmF1bHQgYm94IGZsZXhcbiRkZWZhdWx0LWJveC1mbGV4OiAwICFkZWZhdWx0O1xuXG4vLyBtaXhpbiB3aGljaCB0YWtlcyBhbiBpbnQgYXJndW1lbnQgZm9yIGJveCBmbGV4LiBBcHBseSB0aGlzIHRvIHRoZSBjaGlsZHJlbiBpbnNpZGUgdGhlIGJveC5cbi8vXG4vLyBGb3IgZXhhbXBsZTogXCJkaXYuZGlzcGxheS1ib3ggPiBkaXYuY2hpbGQtYm94XCIgd291bGQgZ2V0IHRoZSBib3ggZmxleCBtaXhpbi5cbkBtaXhpbiBib3gtZmxleChcbiAgJGZsZXg6ICRkZWZhdWx0LWJveC1mbGV4XG4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1mbGV4LCAkZmxleCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGZsZXggZ3JvdXBcbiRkZWZhdWx0LWJveC1mbGV4LWdyb3VwOiAxICFkZWZhdWx0O1xuXG4vLyBtaXhpbiB3aGljaCB0YWtlcyBhbiBpbnQgYXJndW1lbnQgZm9yIGZsZXhpYmxlIGdyb3VwaW5nXG5AbWl4aW4gYm94LWZsZXgtZ3JvdXAoXG4gICRncm91cDogJGRlZmF1bHQtYm94LWZsZXgtZ3JvdXBcbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWZsZXgtZ3JvdXAsICRncm91cCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBkZWZhdWx0IGZvciBvcmRpbmFsIGdyb3VwXG4kZGVmYXVsdC1ib3gtb3JkaW5hbC1ncm91cDogMSAhZGVmYXVsdDtcblxuLy8gbWl4aW4gd2hpY2ggdGFrZXMgYW4gaW50IGFyZ3VtZW50IGZvciBvcmRpbmFsIGdyb3VwaW5nIGFuZCByZWFycmFuZ2luZyB0aGUgb3JkZXJcbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cChcbiAgJGdyb3VwOiAkZGVmYXVsdC1vcmRpbmFsLWZsZXgtZ3JvdXBcbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LW9yZGluYWwtZ3JvdXAsICRncm91cCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBCb3ggZGlyZWN0aW9uIGRlZmF1bHQgdmFsdWVcbiRkZWZhdWx0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8gbWl4aW4gZm9yIGJveC1kaXJlY3Rpb24gWyBub3JtYWwgfCByZXZlcnNlIHwgaW5oZXJpdCBdXG5AbWl4aW4gYm94LWRpcmVjdGlvbihcbiAgJGRpcmVjdGlvbjogJGRlZmF1bHQtYm94LWRpcmVjdGlvblxuKSB7XG4gICRkaXJlY3Rpb246IHVucXVvdGUoJGRpcmVjdGlvbik7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIGRlZmF1bHQgZm9yIGJveCBsaW5lc1xuJGRlZmF1bHQtYm94LWxpbmVzOiBzaW5nbGUgIWRlZmF1bHQ7XG5cbi8vIG1peGluIGZvciBib3ggbGluZXMgWyBzaW5nbGUgfCBtdWx0aXBsZSBdXG5AbWl4aW4gYm94LWxpbmVzKFxuICAkbGluZXM6ICRkZWZhdWx0LWJveC1saW5lc1xuKSB7XG4gICRsaW5lczogdW5xdW90ZSgkbGluZXMpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWxpbmVzLCAkbGluZXMsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gZGVmYXVsdCBmb3IgYm94IHBhY2tcbiRkZWZhdWx0LWJveC1wYWNrOiBzdGFydCAhZGVmYXVsdDtcblxuLy8gbWl4aW4gZm9yIGJveCBwYWNrIFsgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IF1cbkBtaXhpbiBib3gtcGFjayhcbiAgJHBhY2s6ICRkZWZhdWx0LWJveC1wYWNrXG4pIHtcbiAgJHBhY2s6IHVucXVvdGUoJHBhY2spO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXBhY2ssICRwYWNrLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgcGFkZGluZy1ib3hgIC0tIHRoZSBib3ggbW9kZWwgdXNlZCBieSBtb2Rlcm4gYnJvd3NlcnMuXG4vL1xuLy8gSWYgeW91IHdpc2ggdG8gZG8gc28sIHlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgY29uc3RhbnQgd2l0aCBgYm9yZGVyLWJveGBcbi8vXG4vLyBUbyBvdmVycmlkZSB0byB0aGUgZGVmYXVsdCBib3JkZXItYm94IG1vZGVsLCB1c2UgdGhpcyBjb2RlOlxuLy8gICAgICRkZWZhdWx0LWJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveFxuXG4kZGVmYXVsdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94ICFkZWZhdWx0O1xuXG4vLyBDbGlwIHRoZSBiYWNrZ3JvdW5kIChpbWFnZSBhbmQgY29sb3IpIGF0IHRoZSBlZGdlIG9mIHRoZSBwYWRkaW5nIG9yIGJvcmRlci5cbi8vXG4vLyBMZWdhbCBWYWx1ZXM6XG4vL1xuLy8gICAqIHBhZGRpbmctYm94XG4vLyAgICogYm9yZGVyLWJveFxuLy8gICAqIHRleHRcblxuQG1peGluIGJhY2tncm91bmQtY2xpcCgkY2xpcDogJGRlZmF1bHQtYmFja2dyb3VuZC1jbGlwKSB7XG4gIC8vIHdlYmtpdCBhbmQgbW96aWxsYSB1c2UgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgW2JvcmRlciB8IHBhZGRpbmddXG4gICRjbGlwOiB1bnF1b3RlKCRjbGlwKTtcbiAgJGRlcHJlY2F0ZWQ6ICRjbGlwO1xuICBAaWYgJGNsaXAgPT0gcGFkZGluZy1ib3ggeyAkZGVwcmVjYXRlZDogcGFkZGluZzsgfVxuICBAaWYgJGNsaXAgPT0gYm9yZGVyLWJveCB7ICRkZXByZWNhdGVkOiBib3JkZXI7IH1cbiAgLy8gU3VwcG9ydCBmb3Igd2Via2l0IGFuZCBtb3ppbGxhJ3MgdXNlIG9mIHRoZSBkZXByZWNhdGVkIHNob3J0IGZvcm1cbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtY2xpcCwgJGRlcHJlY2F0ZWQsXG4gICAgLW1veixcbiAgICAtd2Via2l0LFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgbm90KC1raHRtbCksXG4gICAgbm90IG9mZmljaWFsXG4gICk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLWNsaXAsICRjbGlwLFxuICAgIG5vdCgtbW96KSxcbiAgICBub3QoLXdlYmtpdCksXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICAta2h0bWwsXG4gICAgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIi8vIE92ZXJyaWRlIGAkZGVmYXVsdC1iYWNrZ3JvdW5kLW9yaWdpbmAgdG8gY2hhbmdlIHRoZSBkZWZhdWx0LlxuXG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cbiRkZWZhdWx0LWJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveCAhZGVmYXVsdDtcblxuLy8gUG9zaXRpb24gdGhlIGJhY2tncm91bmQgb2ZmIHRoZSBlZGdlIG9mIHRoZSBwYWRkaW5nLCBib3JkZXIgb3IgY29udGVudFxuLy9cbi8vICogUG9zc2libGUgdmFsdWVzOlxuLy8gICAqIGBwYWRkaW5nLWJveGBcbi8vICAgKiBgYm9yZGVyLWJveGBcbi8vICAgKiBgY29udGVudC1ib3hgXG4vLyAqIGJyb3dzZXIgZGVmYXVsdHMgdG8gYHBhZGRpbmctYm94YFxuLy8gKiBtaXhpbiBkZWZhdWx0cyB0byBgY29udGVudC1ib3hgXG5cblxuQG1peGluIGJhY2tncm91bmQtb3JpZ2luKCRvcmlnaW46ICRkZWZhdWx0LWJhY2tncm91bmQtb3JpZ2luKSB7XG4gICRvcmlnaW46IHVucXVvdGUoJG9yaWdpbik7XG4gIC8vIHdlYmtpdCBhbmQgbW96aWxsYSB1c2UgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgW2JvcmRlciB8IHBhZGRpbmcgfCBjb250ZW50XVxuICAkZGVwcmVjYXRlZDogJG9yaWdpbjtcbiAgQGlmICRvcmlnaW4gPT0gcGFkZGluZy1ib3ggeyAkZGVwcmVjYXRlZDogcGFkZGluZzsgfVxuICBAaWYgJG9yaWdpbiA9PSBib3JkZXItYm94ICB7ICRkZXByZWNhdGVkOiBib3JkZXI7ICB9XG4gIEBpZiAkb3JpZ2luID09IGNvbnRlbnQtYm94IHsgJGRlcHJlY2F0ZWQ6IGNvbnRlbnQ7IH1cblxuICAvLyBTdXBwb3J0IGZvciB3ZWJraXQgYW5kIG1vemlsbGEncyB1c2Ugb2YgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgZm9ybVxuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1vcmlnaW4sICRkZXByZWNhdGVkLFxuICAgIC1tb3osXG4gICAgLXdlYmtpdCxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG5vdCBvZmZpY2lhbFxuICApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1vcmlnaW4sICRvcmlnaW4sXG4gICAgbm90KC1tb3opLFxuICAgIG5vdCgtd2Via2l0KSxcbiAgICAtbyxcbiAgICAtbXMsXG4gICAgLWtodG1sLFxuICAgIG9mZmljaWFsXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENyb3NzLWJyb3dzZXIgc3VwcG9ydCBmb3IgQGZvbnQtZmFjZS4gU3VwcG9ydHMgSUUsIEdlY2tvLCBXZWJraXQsIE9wZXJhLlxuLy9cbi8vICogJG5hbWUgaXMgcmVxdWlyZWQsIGFyYml0cmFyeSwgYW5kIHdoYXQgeW91IHdpbGwgdXNlIGluIGZvbnQgc3RhY2tzLlxuLy8gKiAkZm9udC1maWxlcyBpcyByZXF1aXJlZCB1c2luZyBmb250LWZpbGVzKCdyZWxhdGl2ZS9sb2NhdGlvbicsICdmb3JtYXQnKS5cbi8vICAgZm9yIGJlc3QgcmVzdWx0cyB1c2UgdGhpcyBvcmRlcjogd29mZiwgb3BlbnR5cGUvdHJ1ZXR5cGUsIHN2Z1xuLy8gKiAkZW90IGlzIHJlcXVpcmVkIGJ5IElFLCBhbmQgaXMgYSByZWxhdGl2ZSBsb2NhdGlvbiBvZiB0aGUgZW90IGZpbGUuXG4vLyAqICR3ZWlnaHQgc2hvd3MgaWYgdGhlIGZvbnQgaXMgYm9sZCwgZGVmYXVsdHMgdG8gbm9ybWFsXG4vLyAqICRzdHlsZSBkZWZhdWx0cyB0byBub3JtYWwsIG1pZ2h0IGJlIGFsc28gaXRhbGljXG4vLyAqIEZvciBhbmRyb2lkIDIuMiBDb21wYXRpYmxpdHksIHBsZWFzZSBlbnN1cmUgdGhhdCB5b3VyIHdlYiBwYWdlIGhhc1xuLy8gICBhIG1ldGEgdmlld3BvcnQgdGFnLlxuLy8gKiBUbyBzdXBwb3J0IGlPUyA8IDQuMiwgYW4gU1ZHIGZpbGUgbXVzdCBiZSBwcm92aWRlZFxuLy9cbi8vIElmIHlvdSBuZWVkIHRvIGdlbmVyYXRlIG90aGVyIGZvcm1hdHMgY2hlY2sgb3V0IHRoZSBGb250IFNxdWlycmVsXG4vLyBbZm9udCBnZW5lcmF0b3JdKGh0dHA6Ly93d3cuZm9udHNxdWlycmVsLmNvbS9mb250ZmFjZS9nZW5lcmF0b3IpXG4vL1xuXG4vLyBJbiBvcmRlciB0byByZWZlciB0byBhIHNwZWNpZmljIHN0eWxlIG9mIHRoZSBmb250IGluIHlvdXIgc3R5bGVzaGVldHMgYXMgXG4vLyBlLmcuIFwiZm9udC1zdHlsZTogaXRhbGljO1wiLCAgeW91IG1heSBhZGQgYSBjb3VwbGUgb2YgQGZvbnQtZmFjZSBpbmNsdWRlc1xuLy8gY29udGFpbmluZyB0aGUgcmVzcGVjdGl2ZSBmb250IGZpbGVzIGZvciBlYWNoIHN0eWxlIGFuZCBzcGVjeWluZ1xuLy8gcmVzcGVjdGl2ZSB0aGUgJHN0eWxlIHBhcmFtZXRlci5cblxuLy8gT3JkZXIgb2YgdGhlIGluY2x1ZGVzIG1hdHRlcnMsIGFuZCBpdCBpczogbm9ybWFsLCBib2xkLCBpdGFsaWMsIGJvbGQraXRhbGljLlxuXG5AbWl4aW4gZm9udC1mYWNlKFxuICAkbmFtZSwgXG4gICRmb250LWZpbGVzLCBcbiAgJGVvdDogZmFsc2UsXG4gICR3ZWlnaHQ6IGZhbHNlLFxuICAkc3R5bGU6IGZhbHNlXG4pIHtcbiAgJGllZm9udDogdW5xdW90ZShcIiN7JGVvdH0/I2llZml4XCIpO1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xuICAgIEBpZiAkZW90IHtcbiAgICAgIHNyYzogZm9udC11cmwoJGVvdCk7XG4gICAgICAkZm9udC1maWxlczogZm9udC11cmwoJGllZm9udCkgdW5xdW90ZShcImZvcm1hdCgnZW90JylcIiksICRmb250LWZpbGVzOyBcbiAgICB9XG4gICAgc3JjOiAkZm9udC1maWxlcztcbiAgICBAaWYgJHdlaWdodCB7XG4gICAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICB9XG4gICAgQGlmICRzdHlsZSB7XG4gICAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIEBkb2Mgb2ZmXG4vLyBOb3RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNhZmFyaSwgQ2hyb21lLCBhbmQgRmlyZWZveCBhbGwgc3VwcG9ydCAzRCB0cmFuc2Zvcm1zLiBIb3dldmVyLFxuLy8gb25seSBpbiB0aGUgbW9zdCByZWNlbnQgYnVpbGRzLiBZb3Ugc2hvdWxkIGFsc28gcHJvdmlkZSBmYWxsYmFjayAyZCBzdXBwb3J0IGZvclxuLy8gT3BlcmEgYW5kIElFLiBJRTEwIGlzIHNsYXRlZCB0byBoYXZlIDNkIGVuYWJsZWQsIGJ1dCBpcyBjdXJyZW50bHkgdW5yZWxlYXNlZC5cbi8vIFRvIG1ha2UgdGhhdCBlYXN5LCBhbGwgMkQgdHJhbnNmb3JtcyBpbmNsdWRlIGFuIGJyb3dzZXItdGFyZ2V0aW5nIHRvZ2dsZSAoJG9ubHkzZClcbi8vIHRvIHN3aXRjaCBiZXR3ZWVuIHRoZSB0d28gc3VwcG9ydCBsaXN0cy4gVGhlIHRvZ2dsZSBkZWZhdWx0cyB0byAnZmFsc2UnICgyRCksXG4vLyBhbmQgYWxzbyBhY2NlcHRzICd0cnVlJyAoM0QpLiBDdXJyZW50bHkgdGhlIGxpc3RzIGFyZSBhcyBmb2xsb3dzOlxuLy8gMkQ6IE1vemlsbGEsIFdlYmtpdCwgT3BlcmEsIE9mZmljaWFsXG4vLyAzRDogV2Via2l0LCBGaXJlZm94LlxuXG4vLyBBdmFpbGFibGUgVHJhbnNmb3JtcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gU2NhbGUgKDJkIGFuZCAzZClcbi8vIC0gUm90YXRlICgyZCBhbmQgM2QpXG4vLyAtIFRyYW5zbGF0ZSAoMmQgYW5kIDNkKVxuLy8gLSBTa2V3ICgyZCBvbmx5KVxuXG4vLyBUcmFuc2Zvcm0gUGFyYW1ldGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gVHJhbnNmb3JtIE9yaWdpbiAoMmQgYW5kIDNkKVxuLy8gLSBQZXJzcGVjdGl2ZSAoM2QpXG4vLyAtIFBlcnNwZWN0aXZlIE9yaWdpbiAoM2QpXG4vLyAtIFRyYW5zZm9ybSBTdHlsZSAoM2QpXG4vLyAtIEJhY2tmYWNlIFZpc2liaWxpdHkgKDNkKVxuXG4vLyBNaXhpbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHRyYW5zZm9ybS1vcmlnaW5cbi8vICAtIHNob3J0Y3V0czogIHRyYW5zZm9ybS1vcmlnaW4yZCwgdHJhbnNmb3JtLW9yaWdpbjNkXG4vLyAgLSBoZWxwZXJzOiAgICBhcHBseS1vcmlnaW5cbi8vIHRyYW5zZm9ybVxuLy8gIC0gc2hvcnRjdXRzOiAgdHJhbnNmb3JtMmQsIHRyYW5zZm9ybTNkXG4vLyAgLSBoZWxwZXJzOiAgICBzaW1wbGUtdHJhbnNmb3JtLCBjcmVhdGUtdHJhbnNmb3JtXG4vLyBwZXJzcGVjdGl2ZVxuLy8gIC0gaGVscGVyczogICAgcGVyc3BlY3RpdmUtb3JpZ2luXG4vLyB0cmFuc2Zvcm0tc3R5bGVcbi8vIGJhY2tmYWNlLXZpc2liaWxpdHlcbi8vIHNjYWxlXG4vLyAgLSBzaG9ydGN1dHM6ICBzY2FsZVgsIHNjYWxlWSwgc2NhbGVaLCBzY2FsZTNkXG4vLyByb3RhdGVcbi8vICAtIHNob3J0Y3V0czogIHJvdGF0ZVgsIHJvdGF0ZVksIHJvdGF0ZTNkXG4vLyB0cmFuc2xhdGVcbi8vICAtIHNob3J0Y3V0czogIHRyYW5zbGF0ZVgsIHRyYW5zbGF0ZVksIHRyYW5zbGF0ZVosIHRyYW5zbGF0ZTNkXG4vLyBza2V3XG4vLyAgLSBzaG9ydGN1dHM6ICBza2V3WCwgc2tld1lcblxuLy8gRGVmYXVsdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFRoZSBkZWZhdWx0IHgtb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teCAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teSAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teiAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXggICAgIDogMS4yNSAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS15ICAgICA6ICRkZWZhdWx0LXNjYWxlLXggICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteiAgICAgOiAkZGVmYXVsdC1zY2FsZS14ICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgYW5nbGUgZm9yIHJvdGF0aW9uc1xuJGRlZmF1bHQtcm90YXRlICAgICAgOiA0NWRlZyAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXggICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteSAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci16ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS14IDogMWVtICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXkgOiAkZGVmYXVsdC10cmFuc2xhdGUteCAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteiA6ICRkZWZhdWx0LXRyYW5zbGF0ZS14ICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LWFuZ2xlIGZvciBza2V3aW5nXG4kZGVmYXVsdC1za2V3LXggICAgICA6IDVkZWcgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktYW5nbGUgZm9yIHNrZXdpbmdcbiRkZWZhdWx0LXNrZXcteSAgICAgIDogNWRlZyAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vICoqVHJhbnNmb3JtLW9yaWdpbioqXG4vLyBUcmFuc2Zvcm0tb3JpZ2luIHNlbnQgYXMgYSBjb21wbGV0ZSBzdHJpbmdcbi8vXG4vLyAgICAgQGluY2x1ZGUgYXBwbHktb3JpZ2luKCBvcmlnaW4gWywgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSAnb3JpZ2luJyBpcyBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0IGNvbnRhaW5pbmcgMS0zICh4L3kveikgY29vcmRpbmF0ZXNcbi8vIGluIHBlcmNlbnRhZ2VzLCBhYnNvbHV0ZSAocHgsIGNtLCBpbiwgZW0gZXRjLi4pIG9yIHJlbGF0aXZlXG4vLyAobGVmdCwgdG9wLCByaWdodCwgYm90dG9tLCBjZW50ZXIpIHVuaXRzXG4vL1xuLy8gQHBhcmFtIG9ubHkzZCBTZXQgdGhpcyB0byB0cnVlIHRvIG9ubHkgYXBwbHkgdGhpc1xuLy8gbWl4aW4gd2hlcmUgYnJvd3NlcnMgaGF2ZSAzRCBzdXBwb3J0LlxuQG1peGluIGFwcGx5LW9yaWdpbigkb3JpZ2luLCAkb25seTNkKSB7XG4gICRvbmx5M2Q6ICRvbmx5M2Qgb3IgLWNvbXBhc3MtbGlzdC1zaXplKC1jb21wYXNzLWxpc3QoJG9yaWdpbikpID4gMjtcbiAgQGlmICRvbmx5M2Qge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tb3JpZ2luLCAkb3JpZ2luLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybS1vcmlnaW4sICRvcmlnaW4sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIFRyYW5zZm9ybS1vcmlnaW4gc2VudCBhcyBpbmRpdmlkdWFsIGFyZ3VtZW50czpcbi8vXG4vLyAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbiggWyBvcmlnaW4teCwgb3JpZ2luLXksIG9yaWdpbi16LCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlIHRoZSAzICdvcmlnaW4tJyBhcmd1bWVudHMgcmVwcmVzZW50IHgveS96IGNvb3JkaW5hdGVzLlxuLy9cbi8vICoqTk9URToqKiBzZXR0aW5nIHogY29vcmRpbmF0ZXMgdHJpZ2dlcnMgM0Qgc3VwcG9ydCBsaXN0LCBsZWF2ZSBmYWxzZSBmb3IgMkQgc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oXG4gICRvcmlnaW4teDogJGRlZmF1bHQtb3JpZ2luLXgsXG4gICRvcmlnaW4teTogJGRlZmF1bHQtb3JpZ2luLXksXG4gICRvcmlnaW4tejogZmFsc2UsXG4gICRvbmx5M2Q6ICAgaWYoJG9yaWdpbi16LCB0cnVlLCBmYWxzZSlcbikge1xuICAkb3JpZ2luOiB1bnF1b3RlKCcnKTtcbiAgQGlmICRvcmlnaW4teCBvciAkb3JpZ2luLXkgb3IgJG9yaWdpbi16IHtcbiAgICBAaWYgJG9yaWdpbi14IHsgJG9yaWdpbjogJG9yaWdpbi14OyB9IEBlbHNlIHsgJG9yaWdpbjogNTAlOyB9XG4gICAgQGlmICRvcmlnaW4teSB7ICRvcmlnaW46ICRvcmlnaW4gJG9yaWdpbi15OyB9IEBlbHNlIHsgQGlmICRvcmlnaW4teiB7ICRvcmlnaW46ICRvcmlnaW4gNTAlOyB9fVxuICAgIEBpZiAkb3JpZ2luLXogeyAkb3JpZ2luOiAkb3JpZ2luICRvcmlnaW4tejsgfVxuICAgIEBpbmNsdWRlIGFwcGx5LW9yaWdpbigkb3JpZ2luLCAkb25seTNkKTtcbiAgfVxufVxuXG5cbi8vIFRyYW5zZm9ybSBzZW50IGFzIGEgY29tcGxldGUgc3RyaW5nOlxuLy9cbi8vICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zZm9ybXMgWywgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSAndHJhbnNmb3JtcycgaXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiBhbGwgdGhlIHRyYW5zZm9ybXMgdG8gYmUgYXBwbGllZC5cbkBtaXhpbiB0cmFuc2Zvcm0oXG4gICR0cmFuc2Zvcm0sXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgQGlmICRvbmx5M2Qge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0sICR0cmFuc2Zvcm0sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLCAkdHJhbnNmb3JtLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBTaG9ydGN1dCB0byB0YXJnZXQgYWxsIGJyb3dzZXJzIHdpdGggMkQgdHJhbnNmb3JtIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0yZCgkdHJhbnMpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgZmFsc2UpO1xufVxuXG4vLyBTaG9ydGN1dCB0byB0YXJnZXQgb25seSBicm93c2VycyB3aXRoIDNEIHRyYW5zZm9ybSBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtM2QoJHRyYW5zKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsIHRydWUpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gM0QgUGFyYW1ldGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFNldCB0aGUgcGVyc3BlY3RpdmUgb2YgM0QgdHJhbnNmb3JtcyBvbiB0aGUgY2hpbGRyZW4gb2YgYW4gZWxlbWVudDpcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHBlcnNwZWN0aXZlKCBwZXJzcGVjdGl2ZSApXG4vL1xuLy8gd2hlcmUgJ3BlcnNwZWN0aXZlJyBpcyBhIHVuaXRsZXNzIG51bWJlciByZXByZXNlbnRpbmcgdGhlIGRlcHRoIG9mIHRoZVxuLy8gei1heGlzLiBUaGUgaGlnaGVyIHRoZSBwZXJzcGVjdGl2ZSwgdGhlIG1vcmUgZXhhZ2dlcmF0ZWQgdGhlIGZvcmVzaG9ydGVuaW5nLlxuLy8gdmFsdWVzIGZyb20gNTAwIHRvIDEwMDAgYXJlIG1vcmUtb3ItbGVzcyBcIm5vcm1hbFwiIC0gYSBnb29kIHN0YXJ0aW5nLXBvaW50LlxuQG1peGluIHBlcnNwZWN0aXZlKCRwKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChwZXJzcGVjdGl2ZSwgJHAsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNldCB0aGUgb3JpZ2luIHBvc2l0aW9uIGZvciB0aGUgcGVyc3BlY3RpdmVcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHBlcnNwZWN0aXZlLW9yaWdpbihvcmlnaW4teCBbb3JpZ2luLXldKVxuLy9cbi8vIHdoZXJlIHRoZSB0d28gYXJndW1lbnRzIHJlcHJlc2VudCB4L3kgY29vcmRpbmF0ZXNcbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJG9yaWdpbjogNTAlKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChwZXJzcGVjdGl2ZS1vcmlnaW4sICRvcmlnaW4sXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERldGVybWluZSB3aGV0aGVyIGEgM0Qgb2JqZWN0cyBjaGlsZHJlbiBhbHNvIGxpdmUgaW4gdGhlIGdpdmVuIDNEIHNwYWNlXG4vL1xuLy8gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tc3R5bGUoIFsgc3R5bGUgXSApXG4vL1xuLy8gd2hlcmUgYHN0eWxlYCBjYW4gYmUgZWl0aGVyIGBmbGF0YCBvciBgcHJlc2VydmUtM2RgLlxuLy8gQnJvd3NlcnMgZGVmYXVsdCB0byBgZmxhdGAsIG1peGluIGRlZmF1bHRzIHRvIGBwcmVzZXJ2ZS0zZGAuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlKCRzdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZXRlcm1pbmUgdGhlIHZpc2liaWxpdHkgb2YgYW4gZWxlbWVudCB3aGVuIGl0J3MgYmFjayBpcyB0dXJuZWRcbi8vXG4vLyAgICAgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSggWyB2aXNpYmlsaXR5IF0gKVxuLy9cbi8vIHdoZXJlIGB2aXNpYmlsaXR5YCBjYW4gYmUgZWl0aGVyIGB2aXNpYmxlYCBvciBgaGlkZGVuYC5cbi8vIEJyb3dzZXJzIGRlZmF1bHQgdG8gdmlzaWJsZSwgbWl4aW4gZGVmYXVsdHMgdG8gaGlkZGVuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eTogaGlkZGVuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFRyYW5zZm9ybSBQYXJ0aWFscyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhlc2Ugd29yayB3ZWxsIG9uIHRoZWlyIG93biwgYnV0IHRoZXkgZG9uJ3QgYWRkIHRvIGVhY2ggb3RoZXIsIHRoZXkgb3ZlcnJpZGUuXG4vLyBVc2UgYWxvbmcgd2l0aCB0cmFuc2Zvcm0gcGFyYW1ldGVyIG1peGlucyB0byBhZGp1c3Qgb3JpZ2luLCBwZXJzcGVjdGl2ZSBhbmQgc3R5bGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFNjYWxlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYW5kIHkgYXhpczpcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHNjYWxlKCBbIHNjYWxlLXgsIHNjYWxlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlIHRoZSAnc2NhbGUtJyBhcmd1bWVudHMgYXJlIHVuaXRsZXNzIG11bHRpcGxpZXJzIG9mIHRoZSB4IGFuZCB5IGRpbWVuc2lvbnNcbi8vIGFuZCBwZXJzcGVjdGl2ZSwgd2hpY2ggd29ya3MgdGhlIHNhbWUgYXMgdGhlIHN0YW5kLWFsb25lIHBlcnNwZWN0aXZlIHByb3BlcnR5L21peGluXG4vLyBidXQgYXBwbGllcyB0byB0aGUgaW5kaXZpZHVhbCBlbGVtZW50IChtdWx0aXBsaWVkIHdpdGggYW55IHBhcmVudCBwZXJzcGVjdGl2ZSlcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGUoXG4gICRzY2FsZS14OiAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHNjYWxlLXk6ICAgICAkc2NhbGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGUoJHNjYWxlLXgsICRzY2FsZS15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVgoIFsgc2NhbGUteCwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWChcbiAgJHNjYWxlOiAgICAgICAkZGVmYXVsdC1zY2FsZS14LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVgoJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeSBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVkoIFsgc2NhbGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWShcbiAgJHNjYWxlOiAgICAgICAkZGVmYXVsdC1zY2FsZS15LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVkoJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeiBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVooIFsgc2NhbGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWihcbiAgJHNjYWxlOiAkZGVmYXVsdC1zY2FsZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVooJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gU2NhbGUgYW5kIG9iamVjdCBhbG9uZyBhbGwgdGhyZWUgYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGUzZCggWyBzY2FsZS14LCBzY2FsZS15LCBzY2FsZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGUzZChcbiAgJHNjYWxlLXg6ICAgICAkZGVmYXVsdC1zY2FsZS14LFxuICAkc2NhbGUteTogICAgICRkZWZhdWx0LXNjYWxlLXksXG4gICRzY2FsZS16OiAgICAgJGRlZmF1bHQtc2NhbGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGUzZCgkc2NhbGUteCwgJHNjYWxlLXksICRzY2FsZS16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFJvdGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeiBheGlzICAoMkQpXG4vLyBAaW5jbHVkZSByb3RhdGUoIFsgcm90YXRpb24sIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy8gd2hlcmUgJ3JvdGF0aW9uJyBpcyBhbiBhbmdsZSBzZXQgaW4gZGVncmVlcyAoZGVnKSBvciByYWRpYW4gKHJhZCkgdW5pdHNcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlKFxuICAkcm90YXRlOiAgICAgICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gQSBsb25nY3V0IGZvciAncm90YXRlJyBpbiBjYXNlIHlvdSBmb3JnZXQgdGhhdCAneicgaXMgaW1wbGllZFxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGVaKFxuICAkcm90YXRlOiAgICAgICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gIEBpbmNsdWRlIHJvdGF0ZSgkcm90YXRlLCAkcGVyc3BlY3RpdmUsICRvbmx5M2QpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeCBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZVgoIFsgcm90YXRpb24sIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGVYKFxuICAkcm90YXRlOiAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZVgoJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIHRoZSB5IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWShcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGVZKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCBhbiBhcmJpdHJhcnkgYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGUoIFsgdmVjdG9yLXgsIHZlY3Rvci15LCB2ZWN0b3Iteiwgcm90YXRpb24sIHBlcnNwZWN0aXZlIF0gKVxuLy8gd2hlcmUgdGhlICd2ZWN0b3ItJyBhcmd1bWVudHMgYWNjZXB0IHVuaXRsZXNzIG51bWJlcnMuXG4vLyBUaGVzZSBudW1iZXJzIGFyZSBub3QgaW1wb3J0YW50IG9uIHRoZWlyIG93biwgYnV0IGluIHJlbGF0aW9uIHRvIG9uZSBhbm90aGVyXG4vLyBjcmVhdGluZyBhbiBheGlzIGZyb20geW91ciB0cmFuc2Zvcm0tb3JpZ2luLCBhbG9uZyB0aGUgYXhpcyBvZiBYeCA9IFl5ID0gWnouXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZTNkKFxuICAkdmVjdG9yLXg6ICRkZWZhdWx0LXZlY3Rvci14LFxuICAkdmVjdG9yLXk6ICRkZWZhdWx0LXZlY3Rvci15LFxuICAkdmVjdG9yLXo6ICRkZWZhdWx0LXZlY3Rvci16LFxuICAkcm90YXRlOiAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZTNkKCR2ZWN0b3IteCwgJHZlY3Rvci15LCAkdmVjdG9yLXosICRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gVHJhbnNsYXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IG9yIHkgYXhpcyAoMkQpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHRyYW5zbGF0ZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vIHdoZXJlIHRoZSAndHJhbnNsYXRlLScgYXJndW1lbnRzIGFjY2VwdCBhbnkgZGlzdGFuY2UgaW4gcGVyY2VudGFnZXMgb3IgYWJzb2x1dGUgKHB4LCBjbSwgaW4sIGVtIGV0Yy4uKSB1bml0cy5cbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlKFxuICAkdHJhbnNsYXRlLXg6ICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkdHJhbnNsYXRlLXk6ICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGUoJHRyYW5zbGF0ZS14LCAkdHJhbnNsYXRlLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYXhpcyAoMkQpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVYKFxuICAkdHJhbnMteDogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVYKCR0cmFucy14KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB5IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWShcbiAgJHRyYW5zLXk6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWSgkdHJhbnMteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeiBheGlzICgzRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVooXG4gICR0cmFucy16OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVooJHRyYW5zLXopO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCwgeSBhbmQgeiBheGlzICgzRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteCwgdHJhbnNsYXRlLXksIHRyYW5zbGF0ZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlM2QoXG4gICR0cmFuc2xhdGUteDogJGRlZmF1bHQtdHJhbnNsYXRlLXgsXG4gICR0cmFuc2xhdGUteTogJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICR0cmFuc2xhdGUtejogJGRlZmF1bHQtdHJhbnNsYXRlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZTNkKCR0cmFuc2xhdGUteCwgJHRyYW5zbGF0ZS15LCAkdHJhbnNsYXRlLXopO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gU2tldyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFNrZXcgYW4gZWxlbWVudDpcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXgsIHNrZXcteSwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgJ3NrZXctJyBhcmd1bWVudHMgYWNjZXB0IGNzcyBhbmdsZXMgaW4gZGVncmVlcyAoZGVnKSBvciByYWRpYW4gKHJhZCkgdW5pdHMuXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXcoXG4gICRza2V3LXg6ICRkZWZhdWx0LXNrZXcteCxcbiAgJHNrZXcteTogJGRlZmF1bHQtc2tldy15LFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2tldygkc2tldy14LCAkc2tldy15KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNrZXcgYW4gZWxlbWVudCBhbG9uZyB0aGUgeCBheGl6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy14LCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3WChcbiAgJHNrZXcteDogJGRlZmF1bHQtc2tldy14LFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2tld1goJHNrZXcteCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTa2V3IGFuIGVsZW1lbnQgYWxvbmcgdGhlIHkgYXhpc1xuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tld1koXG4gICRza2V3LXk6ICRkZWZhdWx0LXNrZXcteSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXdZKCRza2V3LXkpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuXG4vLyBGdWxsIHRyYW5zZm9ybSBtaXhpbnNcbi8vIEZvciBzZXR0aW5ncyBhbnkgY29tYmluYXRpb24gb2YgdHJhbnNmb3JtcyBhcyBhcmd1bWVudHNcbi8vIFRoZXNlIGFyZSBjb21wbGV4IGFuZCBub3QgaGlnaGx5IHJlY29tbWVuZGVkIGZvciBkYWlseSB1c2UuIFRoZXkgYXJlIG1haW5seVxuLy8gaGVyZSBmb3IgYmFja3dhcmQtY29tcGF0aWJpbGl0eSBwdXJwb3Nlcy5cbi8vXG4vLyAqIHRoZXkgaW5jbHVkZSBvcmlnaW4gYWRqdXN0bWVudHNcbi8vICogc2NhbGUgdGFrZXMgYSBtdWx0aXBsaWVyICh1bml0bGVzcyksIHJvdGF0ZSBhbmQgc2tldyB0YWtlIGRlZ3JlZXMgKGRlZylcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gY3JlYXRlLXRyYW5zZm9ybShcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJHNjYWxlLXg6ICAgICBmYWxzZSxcbiAgJHNjYWxlLXk6ICAgICBmYWxzZSxcbiAgJHNjYWxlLXo6ICAgICBmYWxzZSxcbiAgJHJvdGF0ZS14OiAgICBmYWxzZSxcbiAgJHJvdGF0ZS15OiAgICBmYWxzZSxcbiAgJHJvdGF0ZS16OiAgICBmYWxzZSxcbiAgJHJvdGF0ZTNkOiAgICBmYWxzZSxcbiAgJHRyYW5zLXg6ICAgICBmYWxzZSxcbiAgJHRyYW5zLXk6ICAgICBmYWxzZSxcbiAgJHRyYW5zLXo6ICAgICBmYWxzZSxcbiAgJHNrZXcteDogICAgICBmYWxzZSxcbiAgJHNrZXcteTogICAgICBmYWxzZSxcbiAgJG9yaWdpbi14OiAgICBmYWxzZSxcbiAgJG9yaWdpbi15OiAgICBmYWxzZSxcbiAgJG9yaWdpbi16OiAgICBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdW5xdW90ZShcIlwiKTtcblxuICAvLyBwZXJzcGVjdGl2ZVxuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIDsgfVxuXG4gIC8vIHNjYWxlXG4gIEBpZiAkc2NhbGUteCBhbmQgJHNjYWxlLXkge1xuICAgIEBpZiAkc2NhbGUteiB7ICR0cmFuczogJHRyYW5zIHNjYWxlM2QoJHNjYWxlLXgsICRzY2FsZS15LCAkc2NhbGUteik7IH1cbiAgICBAZWxzZSB7ICR0cmFuczogJHRyYW5zIHNjYWxlKCRzY2FsZS14LCAkc2NhbGUteSk7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmICRzY2FsZS14IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVYKCRzY2FsZS14KTsgfVxuICAgIEBpZiAkc2NhbGUteSB7ICR0cmFuczogJHRyYW5zIHNjYWxlWSgkc2NhbGUteSk7IH1cbiAgICBAaWYgJHNjYWxlLXogeyAkdHJhbnM6ICR0cmFucyBzY2FsZVooJHNjYWxlLXopOyB9XG4gIH1cblxuICAvLyByb3RhdGVcbiAgQGlmICRyb3RhdGUteCB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVgoJHJvdGF0ZS14KTsgfVxuICBAaWYgJHJvdGF0ZS15IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWSgkcm90YXRlLXkpOyB9XG4gIEBpZiAkcm90YXRlLXogeyAkdHJhbnM6ICR0cmFucyByb3RhdGVaKCRyb3RhdGUteik7IH1cbiAgQGlmICRyb3RhdGUzZCB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZTNkKCRyb3RhdGUzZCk7IH1cblxuICAvLyB0cmFuc2xhdGVcbiAgQGlmICR0cmFucy14IGFuZCAkdHJhbnMteSB7XG4gICAgQGlmICR0cmFucy16IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlM2QoJHRyYW5zLXgsICR0cmFucy15LCAkdHJhbnMteik7IH1cbiAgICBAZWxzZSB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZSgkdHJhbnMteCwgJHRyYW5zLXkpOyB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkdHJhbnMteCB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVgoJHRyYW5zLXgpOyB9XG4gICAgQGlmICR0cmFucy15IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWSgkdHJhbnMteSk7IH1cbiAgICBAaWYgJHRyYW5zLXogeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVaKCR0cmFucy16KTsgfVxuICB9XG5cbiAgLy8gc2tld1xuICBAaWYgJHNrZXcteCBhbmQgJHNrZXcteSB7ICR0cmFuczogJHRyYW5zIHNrZXcoJHNrZXcteCwgJHNrZXcteSk7IH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkc2tldy14IHsgJHRyYW5zOiAkdHJhbnMgc2tld1goJHNrZXcteCk7IH1cbiAgICBAaWYgJHNrZXcteSB7ICR0cmFuczogJHRyYW5zIHNrZXdZKCRza2V3LXkpOyB9XG4gIH1cblxuICAvLyBhcHBseSBpdCFcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZCk7XG59XG5cblxuLy8gQSBzaW1wbGlmaWVkIHNldCBvZiBvcHRpb25zXG4vLyBiYWNrd2FyZHMtY29tcGF0aWJsZSB3aXRoIHRoZSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoZSAndHJhbnNmb3JtJyBtaXhpblxuQG1peGluIHNpbXBsZS10cmFuc2Zvcm0oXG4gICRzY2FsZTogICAgZmFsc2UsXG4gICRyb3RhdGU6ICAgZmFsc2UsXG4gICR0cmFucy14OiAgZmFsc2UsXG4gICR0cmFucy15OiAgZmFsc2UsXG4gICRza2V3LXg6ICAgZmFsc2UsXG4gICRza2V3LXk6ICAgZmFsc2UsXG4gICRvcmlnaW4teDogZmFsc2UsXG4gICRvcmlnaW4teTogZmFsc2Vcbikge1xuICBAaW5jbHVkZSBjcmVhdGUtdHJhbnNmb3JtKFxuICAgIGZhbHNlLFxuICAgICRzY2FsZSwgJHNjYWxlLCBmYWxzZSxcbiAgICBmYWxzZSwgZmFsc2UsICRyb3RhdGUsIGZhbHNlLFxuICAgICR0cmFucy14LCAkdHJhbnMteSwgZmFsc2UsXG4gICAgJHNrZXcteCwgJHNrZXcteSxcbiAgICAkb3JpZ2luLXgsICRvcmlnaW4teSwgZmFsc2UsXG4gICAgZmFsc2VcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ1NTIFRyYW5zaXRpb25zXG4vLyBDdXJyZW50bHkgb25seSB3b3JrcyBpbiBXZWJraXQuXG4vL1xuLy8gKiBleHBlY3RlZCBpbiBDU1MzLCBGaXJlRm94IDMuNi83IGFuZCBPcGVyYSBQcmVzdG8gMi4zXG4vLyAqIFdlJ2xsIGJlIHByZXBhcmVkLlxuLy9cbi8vIEluY2x1ZGluZyB0aGlzIHN1Ym1vZHVsZSBzZXRzIGZvbGxvd2luZyBkZWZhdWx0cyBmb3IgdGhlIG1peGluczpcbi8vXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IGFsbFxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gOiAxc1xuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24gOiBmYWxzZVxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXkgICAgOiBmYWxzZVxuLy9cbi8vIE92ZXJyaWRlIHRoZW0gaWYgeW91IGxpa2UuIFRpbWluZy1mdW5jdGlvbiBhbmQgZGVsYXkgYXJlIHNldCB0byBmYWxzZSBmb3IgYnJvd3NlciBkZWZhdWx0cyAoZWFzZSwgMHMpLlxuXG4kZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGwgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb246IDFzICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheTogZmFsc2UgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXM6IHRyYW5zZm9ybSwgdHJhbnNmb3JtLW9yaWdpbiAhZGVmYXVsdDtcblxuLy8gT25lIG9yIG1vcmUgcHJvcGVydGllcyB0byB0cmFuc2l0aW9uXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIGFsc28gYWNjZXB0cyBcImFsbFwiIG9yIFwibm9uZVwiXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0eS0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkcHJvcGVydHktMiA6IGZhbHNlLFxuICAkcHJvcGVydHktMyA6IGZhbHNlLFxuICAkcHJvcGVydHktNCA6IGZhbHNlLFxuICAkcHJvcGVydHktNSA6IGZhbHNlLFxuICAkcHJvcGVydHktNiA6IGZhbHNlLFxuICAkcHJvcGVydHktNyA6IGZhbHNlLFxuICAkcHJvcGVydHktOCA6IGZhbHNlLFxuICAkcHJvcGVydHktOSA6IGZhbHNlLFxuICAkcHJvcGVydHktMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5LTEpID09IHN0cmluZyB7ICRwcm9wZXJ0eS0xOiB1bnF1b3RlKCRwcm9wZXJ0eS0xKTsgfVxuICAkcHJvcGVydGllczogY29tcGFjdCgkcHJvcGVydHktMSwgJHByb3BlcnR5LTIsICRwcm9wZXJ0eS0zLCAkcHJvcGVydHktNCwgJHByb3BlcnR5LTUsICRwcm9wZXJ0eS02LCAkcHJvcGVydHktNywgJHByb3BlcnR5LTgsICRwcm9wZXJ0eS05LCAkcHJvcGVydHktMTApO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtd2Via2l0LCAkcHJvcGVydGllcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW1veiwgICAgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1vLCAgICAgICRwcm9wZXJ0aWVzKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHkgOiAkcHJvcGVydGllcztcbn1cblxuLy8gT25lIG9yIG1vcmUgZHVyYXRpb25zIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZHVyYXRpb25zIHdpbGwgYWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJGR1cmF0aW9uLTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRkdXJhdGlvbi0yIDogZmFsc2UsXG4gICRkdXJhdGlvbi0zIDogZmFsc2UsXG4gICRkdXJhdGlvbi00IDogZmFsc2UsXG4gICRkdXJhdGlvbi01IDogZmFsc2UsXG4gICRkdXJhdGlvbi02IDogZmFsc2UsXG4gICRkdXJhdGlvbi03IDogZmFsc2UsXG4gICRkdXJhdGlvbi04IDogZmFsc2UsXG4gICRkdXJhdGlvbi05IDogZmFsc2UsXG4gICRkdXJhdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkZHVyYXRpb24tMSkgPT0gc3RyaW5nIHsgJGR1cmF0aW9uLTE6IHVucXVvdGUoJGR1cmF0aW9uLTEpOyB9XG4gICRkdXJhdGlvbnM6IGNvbXBhY3QoJGR1cmF0aW9uLTEsICRkdXJhdGlvbi0yLCAkZHVyYXRpb24tMywgJGR1cmF0aW9uLTQsICRkdXJhdGlvbi01LCAkZHVyYXRpb24tNiwgJGR1cmF0aW9uLTcsICRkdXJhdGlvbi04LCAkZHVyYXRpb24tOSwgJGR1cmF0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tZHVyYXRpb24sICRkdXJhdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdGltaW5nIGZ1bmN0aW9uc1xuLy9cbi8vICogWyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoeDEsIHkxLCB4MiwgeTIpXVxuLy8gKiBGb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIGVmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24tMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGZ1bmN0aW9uLTIgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTMgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTQgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTUgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTYgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTcgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTggOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTkgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTEwOiBmYWxzZVxuKSB7XG4gICRmdW5jdGlvbi0xOiB1bnF1b3RlKCRmdW5jdGlvbi0xKTtcbiAgJGZ1bmN0aW9uczogY29tcGFjdCgkZnVuY3Rpb24tMSwgJGZ1bmN0aW9uLTIsICRmdW5jdGlvbi0zLCAkZnVuY3Rpb24tNCwgJGZ1bmN0aW9uLTUsICRmdW5jdGlvbi02LCAkZnVuY3Rpb24tNywgJGZ1bmN0aW9uLTgsICRmdW5jdGlvbi05LCAkZnVuY3Rpb24tMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRmdW5jdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdHJhbnNpdGlvbi1kZWxheXMgaW4gc2Vjb25kc1xuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiB0aGVzZSBkZWxheXMgd2lsbCBlZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkZGVsYXktMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSxcbiAgJGRlbGF5LTIgOiBmYWxzZSxcbiAgJGRlbGF5LTMgOiBmYWxzZSxcbiAgJGRlbGF5LTQgOiBmYWxzZSxcbiAgJGRlbGF5LTUgOiBmYWxzZSxcbiAgJGRlbGF5LTYgOiBmYWxzZSxcbiAgJGRlbGF5LTcgOiBmYWxzZSxcbiAgJGRlbGF5LTggOiBmYWxzZSxcbiAgJGRlbGF5LTkgOiBmYWxzZSxcbiAgJGRlbGF5LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRkZWxheS0xKSA9PSBzdHJpbmcgeyAkZGVsYXktMTogdW5xdW90ZSgkZGVsYXktMSk7IH1cbiAgJGRlbGF5czogY29tcGFjdCgkZGVsYXktMSwgJGRlbGF5LTIsICRkZWxheS0zLCAkZGVsYXktNCwgJGRlbGF5LTUsICRkZWxheS02LCAkZGVsYXktNywgJGRlbGF5LTgsICRkZWxheS05LCAkZGVsYXktMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi1kZWxheSwgJGRlbGF5cyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBUcmFuc2l0aW9uIGFsbC1pbi1vbmUgc2hvcnRoYW5kXG5cbkBtaXhpbiBzaW5nbGUtdHJhbnNpdGlvbihcbiAgJHByb3BlcnR5OiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkZHVyYXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRmdW5jdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGRlbGF5OiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5XG4pIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb21wYWN0KCRwcm9wZXJ0eSAkZHVyYXRpb24gJGZ1bmN0aW9uICRkZWxheSkpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbihcbiAgJHRyYW5zaXRpb24tMSA6IGRlZmF1bHQsXG4gICR0cmFuc2l0aW9uLTIgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tMyA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi00IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTUgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNiA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi03IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTggOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tOSA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgJHRyYW5zaXRpb24tMSA9PSBkZWZhdWx0IHtcbiAgICAkdHJhbnNpdGlvbi0xIDogY29tcGFjdCgkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5KTtcbiAgfVxuICAkdHJhbnNpdGlvbnM6IGZhbHNlO1xuICBAaWYgdHlwZS1vZigkdHJhbnNpdGlvbi0xKSA9PSBsaXN0IGFuZCB0eXBlLW9mKG50aCgkdHJhbnNpdGlvbi0xLDEpKSA9PSBsaXN0IHtcbiAgICAkdHJhbnNpdGlvbnM6IGpvaW4oJHRyYW5zaXRpb24tMSwgY29tcGFjdCgkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCksIGNvbW1hKTtcbiAgfSBAZWxzZSB7XG4gICAgJHRyYW5zaXRpb25zIDogY29tcGFjdCgkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCk7XG4gIH1cbiAgJGRlbGF5czogY29tbWEtbGlzdCgpO1xuICAkaGFzLWRlbGF5czogZmFsc2U7XG4gICR3ZWJraXQtdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG1vei12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAkby12YWx1ZTogY29tbWEtbGlzdCgpO1xuXG4gIC8vIFRoaXMgYmxvY2sgY2FuIGJlIG1hZGUgY29uc2lkZXJhYmx5IHNpbXBsZXIgYXQgdGhlIHBvaW50IGluIHRpbWUgdGhhdFxuICAvLyB3ZSBubyBsb25nZXIgbmVlZCB0byBkZWFsIHdpdGggdGhlIGRpZmZlcmVuY2VzIGluIGhvdyBkZWxheXMgYXJlIHRyZWF0ZWQuXG4gIEBlYWNoICR0cmFuc2l0aW9uIGluICR0cmFuc2l0aW9ucyB7XG4gICAgLy8gRXh0cmFjdCB0aGUgdmFsdWVzIGZyb20gdGhlIGxpc3RcbiAgICAvLyAodGhpcyB3b3VsZCBiZSBjbGVhbmVyIGlmIG50aCB0b29rIGEgM3JkIGFyZ3VtZW50IHRvIHByb3ZpZGUgYSBkZWZhdWx0IHZhbHVlKS5cbiAgICAkcHJvcGVydHk6IG50aCgkdHJhbnNpdGlvbiwgMSk7XG4gICAgJGR1cmF0aW9uOiBmYWxzZTtcbiAgICAkdGltaW5nLWZ1bmN0aW9uOiBmYWxzZTtcbiAgICAkZGVsYXk6IGZhbHNlO1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7ICRkdXJhdGlvbjogICAgICAgIG50aCgkdHJhbnNpdGlvbiwgMik7IH1cbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDIgeyAkdGltaW5nLWZ1bmN0aW9uOiBudGgoJHRyYW5zaXRpb24sIDMpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAzIHsgJGRlbGF5OiAgICAgICAgICAgbnRoKCR0cmFuc2l0aW9uLCA0KTsgJGhhcy1kZWxheXM6IHRydWU7IH1cblxuICAgIC8vIElmIGEgZGVsYXkgaXMgcHJvdmlkZWQgd2l0aG91dCBhIHRpbWluZyBmdW5jdGlvblxuICAgIEBpZiBpcy10aW1lKCR0aW1pbmctZnVuY3Rpb24pIGFuZCBub3QoJGRlbGF5KSB7ICRkZWxheTogJHRpbWluZy1mdW5jdGlvbjsgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7ICRoYXMtZGVsYXlzOiB0cnVlOyB9XG5cbiAgICAvLyBLZWVwIGEgbGlzdCBvZiBkZWxheXMgaW4gY2FzZSBvbmUgaXMgc3BlY2lmaWVkXG4gICAgJGRlbGF5czogYXBwZW5kKCRkZWxheXMsIGlmKCRkZWxheSwgJGRlbGF5LCAwcykpO1xuXG4gICAgJHdlYmtpdC12YWx1ZTogYXBwZW5kKCR3ZWJraXQtdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24pLi4uKSk7XG4gICAgICAgJG1vei12YWx1ZTogYXBwZW5kKCAgICRtb3otdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCAgIC1tb3osICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24gJGRlbGF5KS4uLikpO1xuICAgICAgICAgJG8tdmFsdWU6IGFwcGVuZCggICAgICRvLXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAgIC1vLCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkuLi4pKTtcbiAgfVxuXG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6ICR3ZWJraXQtdmFsdWU7XG4gICAgLy8gb2xkIHdlYmtpdCBkb2Vzbid0IHN1cHBvcnQgdGhlIGRlbGF5IHBhcmFtZXRlciBpbiB0aGUgc2hvcnRoYW5kIHNvIHdlIHByb2dyZXNzaXZlbHkgZW5oYW5jZSBpdC5cbiAgICBAaWYgJGhhcy1kZWxheXMgICAgICAgICAgICAgICAgICAgICAgIHsgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5IDogJGRlbGF5czsgICAgICAgfSB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgICAgICAgIC1tb3otdHJhbnNpdGlvbiA6ICRtb3otdmFsdWU7ICAgIH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAgICAgICAtby10cmFuc2l0aW9uIDogJG8tdmFsdWU7ICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gOiAkdHJhbnNpdGlvbnM7XG59XG5cbi8vIGNvZXJjZSBhIGxpc3QgdG8gYmUgY29tbWEgZGVsaW1pdGVkIG9yIG1ha2UgYSBuZXcsIGVtcHR5IGNvbW1hIGRlbGltaXRlZCBsaXN0LlxuQGZ1bmN0aW9uIGNvbW1hLWxpc3QoJGxpc3Q6ICgpKSB7XG4gIEByZXR1cm4gam9pbigoKSwgJGxpc3QsIGNvbW1hKTtcbn1cblxuLy8gUmV0dXJucyBgJHByb3BlcnR5YCB3aXRoIHRoZSBnaXZlbiBwcmVmaXggaWYgaXQgaXMgZm91bmQgaW4gYCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXNgLlxuQGZ1bmN0aW9uIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICRwcm9wZXJ0eSkge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydHkpID09IGxpc3Qge1xuICAgICRuZXctbGlzdDogY29tbWEtbGlzdCgpO1xuICAgIEBlYWNoICR2IGluICRwcm9wZXJ0eSB7XG4gICAgICAkbmV3LWxpc3Q6IGFwcGVuZCgkbmV3LWxpc3QsIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICR2KSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG5ldy1saXN0O1xuICB9IEBlbHNlIHtcbiAgICBAaWYgaW5kZXgoJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlcywgJHByb3BlcnR5KSB7XG4gICAgICBAcmV0dXJuICN7JHByZWZpeH0tI3skcHJvcGVydHl9O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiAkcHJvcGVydHk7XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrcyBpZiB0aGUgdmFsdWUgZ2l2ZW4gaXMgYSB1bml0IG9mIHRpbWUuXG5AZnVuY3Rpb24gaXMtdGltZSgkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgIEByZXR1cm4gbm90KG5vdChpbmRleChzIG1zLCB1bml0KCR2YWx1ZSkpKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ2hhbmdlIHRoZSBhcHBlYXJhbmNlIGZvciBNb3ppbGxhLCBXZWJraXQgYW5kIHBvc3NpYmx5IHRoZSBmdXR1cmUuXG4vLyBUaGUgYXBwZWFyYW5jZSBwcm9wZXJ0eSBpcyBjdXJyZW50bHkgbm90IHByZXNlbnQgaW4gYW55IG5ld2VyIENTUyBzcGVjaWZpY2F0aW9uLlxuLy9cbi8vIFRoZXJlIGlzIG5vIG9mZmljaWFsIGxpc3Qgb2YgYWNjZXB0ZWQgdmFsdWVzLCBidXQgeW91IG1pZ2h0IGNoZWNrIHRoZXNlIHNvdXJjZTpcbi8vICAgTW96aWxsYSA6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuL0NTUy8tbW96LWFwcGVhcmFuY2Vcbi8vICAgV2Via2l0ICA6IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC93ZWJraXQtbWlycm9yL3NvdXJjZS9icm93c2UvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4/c3BlYz1zdm5mMWFlYTU1OWRjZDAyNWE4OTQ2YWE3ZGE2ZTRlODMwNmY1YzFiNjA0JnI9NjNjN2QxYWY0NDQzMGIzMTQyMzNmZWEzNDJjM2RkYjJhMDUyZTM2NVxuLy8gICAoc2VhcmNoIGZvciAnYXBwZWFyYW5jZScgd2l0aGluIHRoZSBwYWdlKVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXApIHtcbiAgJGFwOiB1bnF1b3RlKCRhcCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChhcHBlYXJhbmNlLCAkYXAsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBXZWJraXQsIElFMTAgYW5kIGZ1dHVyZSBzdXBwb3J0IGZvciBbQ1NTIFJlZ2lvbnNdKGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2NzczMtcmVnaW9ucy8pXG4vL1xuLy8gJHRhcmdldCBpcyBhIHZhbHVlIHlvdSB1c2UgdG8gbGluayB0d28gcmVnaW9ucyBvZiB5b3VyIGNzcy4gR2l2ZSB0aGUgc291cmNlIG9mIHlvdXIgY29udGVudCB0aGUgZmxvdy1pbnRvIHByb3BlcnR5LCBhbmQgZ2l2ZSB5b3VyIHRhcmdldCBjb250YWluZXIgdGhlIGZsb3ctZnJvbSBwcm9wZXJ0eS5cbi8vXG4vLyBGb3IgYSB2aXN1YWwgZXhwbGFuYXRpb24sIHNlZSB0aGUgZGlhZ3JhbXMgYXQgQ2hyaXMgQ295aWVyJ3Ncbi8vIFtDU1MtVHJpY2tzXShodHRwOi8vY3NzLXRyaWNrcy5jb20vY29udGVudC1mb2xkaW5nLylcblxuQG1peGluIGZsb3ctaW50bygkdGFyZ2V0KSB7XG4gICR0YXJnZXQ6IHVucXVvdGUoJHRhcmdldCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChmbG93LWludG8sICR0YXJnZXQsXG4gICAgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBub3Qgb2ZmaWNpYWxcbiAgKTtcbn1cblxuQG1peGluIGZsb3ctZnJvbSgkdGFyZ2V0KSB7XG4gICR0YXJnZXQ6IHVucXVvdGUoJHRhcmdldCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChmbG93LWZyb20sICR0YXJnZXQsXG4gICAgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBub3Qgb2ZmaWNpYWxcbiAgKTtcbn0iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIE1peGlucyB0byBzdXBwb3J0IHNwZWNpZmljIENTUyBUZXh0IExldmVsIDMgZWxlbWVudHNcbi8vXG4vL1xuLy9cbi8vIE1peGluIGZvciB3b3JkLWJyZWFrIHByb3BlcnRpZXNcbi8vIGh0dHA6Ly93d3cudzMub3JnL2NzczMtdGV4dC8jd29yZC1icmVha1xuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yICR0eXBlIDogbm9ybWFsLCBrZWVwLWFsbCwgYnJlYWstYWxsXG4vL1xuLy8gRXhhbXBsZTpcbi8vICAgIHAud29yZEJyZWFrIHtAaW5jbHVkZSB3b3JkLWJyZWFrKGJyZWFrLWFsbCk7fVxuLy9cbi8vIFdoaWNoIGdlbmVyYXRlczpcbi8vICAgIHAud29yZEJyZWFrIHtcbi8vICAgICAgLW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO31cbi8vXG5AbWl4aW4gd29yZC1icmVhaygkdmFsdWU6IG5vcm1hbCl7XG4gIEBpZiAkdmFsdWUgPT0gYnJlYWstYWxsIHtcbiAgICAvL01vc3QgYnJvd3NlcnMgaGFuZGxlIHRoZSBicmVhay1hbGwgY2FzZSB0aGUgc2FtZS4uLlxuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh3b3JkLWJyZWFrLCAkdmFsdWUsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICAgIC8vV2Via2l0IGhhbmRsZXMgYnJlYWstYWxsIGRpZmZlcmVudGx5Li4uIGFzIGJyZWFrLXdvcmRcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwod29yZC1icmVhaywgYnJlYWstd29yZCxcbiAgICAgIG5vdCgtbW96KSwgbm90KC13ZWJraXQpLCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHdvcmQtYnJlYWssICR2YWx1ZSxcbiAgICAgIG5vdCgtbW96KSwgbm90KC13ZWJraXQpLCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIHRoZSBoeXBoZW5zIHByb3BlcnR5XG4vL1xuLy8gVzNDIHNwZWNpZmljYXRpb246IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdGV4dC8jaHlwaGVuc1xuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yICR0eXBlIDogYXV0bywgbWFudWFsLCBub25lXG4vL1xuLy8gRXhhbXBsZTpcbi8vICBwIHtcbi8vICAgIEBpbmNsdWRlIGh5cGhlbnMoYXV0byk7fVxuLy8gV2hpY2ggZ2VuZXJhdGVzOlxuLy8gIHAge1xuLy8gICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuLy8gICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuLy8gICAgaHlwaGVuczogYXV0bzt9XG4vL1xuQG1peGluIGh5cGhlbnMoJHZhbHVlOiBhdXRvKXtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGh5cGhlbnMsICR2YWx1ZSxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE1peGluIGZvciB4LWJyb3dzZXIgaHlwaGVuYXRpb24gYmFzZWQgb24gQGF1Y2hlbmJlcmcncyBwb3N0OlxuLy8gUmVtb3ZlcyB0aGUgbmVlZCBmb3IgdGhlIDx3YnIvPiBIVE1MIHRhZ1xuLy8gaHR0cDovL2Jsb2cua2VubmV0aC5pby9ibG9nLzIwMTIvMDMvMDQvd29yZC13cmFwcGluZy1oeXBlcm5hdGlvbi11c2luZy1jc3MvXG4vL1xuLy8gIEV4YW1wbGU6XG4vLyAgZGl2IHtAaW5jbHVkZSBoeXBoZW5hdGlvbjt9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczpcbi8vICAgIGRpdiB7XG4vLyAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbi8vICAgICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuLy8gICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4vLyAgICAgIGh5cGhlbnM6IGF1dG87fVxuLy9cbkBtaXhpbiBoeXBoZW5hdGlvbntcbiAgQGluY2x1ZGUgd29yZC1icmVhayhicmVhay1hbGwpO1xuICBAaW5jbHVkZSBoeXBoZW5zO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIHN1cHBvcnQgZm9yIHRoZSB1cGNvbWluZyAoPykgY3NzMyBmaWx0ZXIgcHJvcGVydHkuXG4vL1xuLy8gRWFjaCBmaWx0ZXIgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gZmlsdGVyIHByb3BlcnR5LlxuQG1peGluIGZpbHRlciAoXG4gICRmaWx0ZXItMSxcbiAgJGZpbHRlci0yIDogZmFsc2UsXG4gICRmaWx0ZXItMyA6IGZhbHNlLFxuICAkZmlsdGVyLTQgOiBmYWxzZSxcbiAgJGZpbHRlci01IDogZmFsc2UsXG4gICRmaWx0ZXItNiA6IGZhbHNlLFxuICAkZmlsdGVyLTcgOiBmYWxzZSxcbiAgJGZpbHRlci04IDogZmFsc2UsXG4gICRmaWx0ZXItOSA6IGZhbHNlLFxuICAkZmlsdGVyLTEwOiBmYWxzZVxuKSB7XG4gICRmaWx0ZXIgOiBjb21wYWN0KCRmaWx0ZXItMSwgJGZpbHRlci0yLCAkZmlsdGVyLTMsICRmaWx0ZXItNCwgJGZpbHRlci01LCAkZmlsdGVyLTYsICRmaWx0ZXItNywgJGZpbHRlci04LCAkZmlsdGVyLTksICRmaWx0ZXItMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmlsdGVyLCAkZmlsdGVyLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSB1c2UgU2FzcydzIEBleHRlbmQgZGlyZWN0aXZlIHRvIGFwcGx5IHRoZSBiZWhhdmlvclxuLy8gdG8geW91ciBQSUUgZWxlbWVudHMuIFRvIGFzc2lzdCB5b3UsIENvbXBhc3MgcHJvdmlkZXMgdGhpcyB2YXJpYWJsZS5cbi8vIFdoZW4gc2V0LCBpdCB3aWxsIGNhdXNlIHRoZSBgQGluY2x1ZGUgcGllYCBtaXhpbiB0byBleHRlbmQgdGhpcyBjbGFzcy5cbi8vIFRoZSBjbGFzcyBuYW1lIHlvdSBwcm92aWRlIHNob3VsZCAqKm5vdCoqIGluY2x1ZGUgdGhlIGAuYC5cbiRwaWUtYmFzZS1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGFwcHJvYWNoIHRvIHVzaW5nIFBJRS5cbi8vIENhbiBiZSBvbmUgb2Y6XG4vL1xuLy8gKiByZWxhdGl2ZSAoZGVmYXVsdClcbi8vICogei1pbmRleFxuLy8gKiBub25lXG4kcGllLWRlZmF1bHQtYXBwcm9hY2g6IHJlbGF0aXZlICFkZWZhdWx0O1xuXG4vLyBUaGUgbG9jYXRpb24gb2YgeW91ciBQSUUgYmVoYXZpb3IgZmlsZVxuLy8gVGhpcyBzaG91bGQgYmUgcm9vdC1yZWxhdGl2ZSB0byB5b3VyIHdlYiBzZXJ2ZXJcbi8vIHJlbGF0aXZlIGFzc2V0cyBkb24ndCB3b3JrLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0XG4vLyB5b3Ugc2V0IHRoaXMgeW91cnNlbGYuXG4kcGllLWJlaGF2aW9yOiBzdHlsZXNoZWV0LXVybChcIlBJRS5odGNcIikgIWRlZmF1bHQ7XG5cbi8vIFdoZW4gdXNpbmcgdGhlIHotaW5kZXggYXBwcm9hY2gsIHRoZVxuLy8gZmlyc3QgYW5jZXN0b3Igb2YgdGhlIFBJRSBlbGVtZW50IGF0XG4vLyBvciBiZWZvcmUgdGhlIGNvbnRhaW5lcidzIG9wYXF1ZSBiYWNrZ3JvdW5kXG4vLyBzaG91bGQgaGF2ZSBhIHotaW5kZXggc2V0IGFzIHdlbGwgdG8gZW5zdXJlXG4vLyBwcm9wZXJ0IHotaW5kZXggc3RhY2tpbmcuXG4vL1xuLy8gVGhlIGAkcG9zaXRpb25gIGFyZ3VtZW50IG11c3QgYmUgc29tZSBub24tc3RhdGljXG4vLyB2YWx1ZSAoYWJzb2x1dGUsIHJlbGF0aXZlLCBldGMuKVxuQG1peGluIHBpZS1jb250YWluZXIoJHotaW5kZXg6IDAsICRwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgei1pbmRleDogJHotaW5kZXg7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG59XG5cbi8vIFBJRSBlbGVtZW50cyBtdXN0IGhhdmUgdGhpcyBiZWhhdmlvciBhdHRhY2hlZCB0byB0aGVtLlxuLy8gSUUgaXMgYnJva2VuIC0tIGl0IGRvZXNuJ3QgdGhpbmsgb2YgYmVoYXZpb3IgdXJscyBhc1xuLy8gcmVsYXRpdmUgdG8gdGhlIHN0eWxlc2hlZXQuIEl0IGNvbnNpZGVycyB0aGVtIHJlbGF0aXZlXG4vLyB0byB0aGUgd2VicGFnZS4gQXMgYSByZXN1bHQsIHlvdSBjYW5ub3QgcmVsaWFibHkgdXNlXG4vLyBjb21wYXNzJ3MgcmVsYXRpdmVfYXNzZXRzIHdpdGggUElFLlxuLy9cbi8vICogYCRhcHByb2FjaGAgLSBvbmUgb2Y6IHJlbGF0aXZlLCB6LWluZGV4LCBvciBub25lXG4vLyAqIGAkei1pbmRleGAgLSB3aGVuIHVzaW5nIHRoZSB6LWluZGV4IGFwcHJvYWNoLCB0aGlzXG4vLyAgICAgICAgICAgICAgICBpcyB0aGUgei1pbmRleCB0aGF0IGlzIGFwcGxpZWQuXG5AbWl4aW4gcGllLWVsZW1lbnQoXG4gICRhcHByb2FjaDogJHBpZS1kZWZhdWx0LWFwcHJvYWNoLFxuICAkei1pbmRleDogMFxuKSB7XG4gIGJlaGF2aW9yOiAkcGllLWJlaGF2aW9yO1xuICBAaWYgJGFwcHJvYWNoID09IHJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgQGVsc2UgaWYgJGFwcHJvYWNoID09IHotaW5kZXgge1xuICAgIHotaW5kZXg6ICR6LWluZGV4O1xuICB9XG59XG5cbi8vIGEgc21hcnQgbWl4aW4gdGhhdCBrbm93cyB0byBleHRlbmQgb3IgaW5jbHVkZSBwaWUtZWxlbWVudCBhY2NvcmRpbmdcbi8vIHRvIHlvdXIgc3R5bGVzaGVldCdzIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzLlxuQG1peGluIHBpZSgkYmFzZS1jbGFzczogJHBpZS1iYXNlLWNsYXNzKSB7XG4gIEBpZiAkYmFzZS1jbGFzcyB7XG4gICAgQGV4dGVuZCAuI3skYmFzZS1jbGFzc307XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIHBpZS1lbGVtZW50O1xuICB9XG59XG5cbi8vIFdhdGNoIGAkbmAgbGV2ZWxzIG9mIGFuY2VzdG9ycyBmb3IgY2hhbmdlcyB0byB0aGVpciBjbGFzcyBhdHRyaWJ1dGVcbi8vIFNvIHRoYXQgY2FzY2FkaW5nIHN0eWxlcyB3aWxsIHdvcmsgY29ycmVjdGx5IG9uIHRoZSBQSUUgZWxlbWVudC5cbkBtaXhpbiBwaWUtd2F0Y2gtYW5jZXN0b3JzKCRuKSB7XG4gIC1waWUtd2F0Y2gtYW5jZXN0b3JzOiAkbjtcbn1cbiIsIi8vIFVzZXIgSW50ZXJmYWNlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNhbiBiZSBleHBhbmRlZCB0byBoYW5kbGUgYWxsIHRoZSB1c2VyIGludGVyZmFjZSBwcm9wZXJ0aWVzIGFzXG4vLyB0aGV5IGJlY29tZSBhdmFpbGFibGUgaW4gYnJvd3NlcnM6XG4vLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAwL1dELWNzczMtdXNlcmludC0yMDAwMDIxNlxuQGltcG9ydCBcInNoYXJlZFwiO1xuXG5cbi8vIFRoaXMgcHJvcGVydHkgY29udHJvbHMgdGhlIHNlbGVjdGlvbiBtb2RlbCBhbmQgZ3JhbnVsYXJpdHkgb2YgYW4gZWxlbWVudC5cbi8vXG4vLyBAcGFyYW0gJHNlbGVjdFxuLy8gICBbIG5vbmUgfCB0ZXh0IHwgdG9nZ2xlIHwgZWxlbWVudCB8IGVsZW1lbnRzIHwgYWxsIHwgaW5oZXJpdCBdXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAkc2VsZWN0OiB1bnF1b3RlKCRzZWxlY3QpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodXNlci1zZWxlY3QsICRzZWxlY3QsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCAta2h0bWwsIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFN0eWxlIHRoZSBodG1sNSBpbnB1dCBwbGFjZWhvbGRlciBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgaXQuXG4vL1xuLy8gVGhlIHN0eWxlcyBmb3IgdGhlIGlucHV0IHBsYWNlaG9sZGVyIGFyZSBwYXNzZWQgYXMgbWl4aW4gY29udGVudFxuLy8gYW5kIHRoZSBzZWxlY3RvciBjb21lcyBmcm9tIHRoZSBtaXhpbidzIGNvbnRleHQuXG4vL1xuLy8gRm9yIGV4YW1wbGU6XG4vL1xuLy8gICAgICN7ZWxlbWVudHMtb2YtdHlwZSh0ZXh0LWlucHV0KX0ge1xuLy8gICAgICAgQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIge1xuLy8gICAgICAgICBjb2xvcjogI2JmYmZiZjtcbi8vICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vXG4vLyBpZiB5b3Ugd2FudCB0byBhcHBseSB0aGUgcGxhY2Vob2xkZXIgc3R5bGVzIHRvIGFsbCBlbGVtZW50cyBzdXBwb3J0aW5nXG4vLyB0aGUgYGlucHV0LXBsYWNlaG9sZGVyYCBwc2V1ZG8gY2xhc3MgKGJld2FyZSBvZiBwZXJmb3JtYW5jZSBpbXBhY3RzKTpcbi8vXG4vLyAgICAgKiB7XG4vLyAgICAgICBAaW5jbHVkZSBpbnB1dC1wbGFjZWhvbGRlciB7XG4vLyAgICAgICAgIGNvbG9yOiAjYmZiZmJmO1xuLy8gICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxuICAmOi1tb3otcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxuICAmOjotbW96LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc3VwcG9ydFwiO1xuQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGlzIGlzIHRoZSB1bmRlcmx5aW5nIGltcGxlbWVudGF0aW9uIGZvciBhbGwgdGhlIG90aGVyIG1peGlucyBpbiB0aGlzIG1vZHVsZS5cbi8vIEl0IGlzIHRoZSBvbmx5IHdheSB0byBhY2Nlc3MgcHJlZml4IHN1cHBvcnQgZm9yIG9sZGVyIHZlcnNpb25zIG9mIHRoZSBzcGVjLlxuLy8gRGV2aWF0ZXMgZnJvbSBjYW5vbmljYWwgQ29tcGFzcyBpbXBsZW1lbnRhdGlvbiBieSBkcm9wcGluZyBzdXBwb3J0IGZvclxuLy8gb2xkZXIgdmVyc2lvbnMgb2YgdGhlIEZsZXhib3ggc3BlYy5cbi8vXG4vLyBgJHByb3BlcnRpZXNgOiBtYXAgb2YgcHJvcGVydHktdmFsdWUgcGFpcnMgdGhhdCBzaG91bGQgYmUgcHJlZml4ZWRcbkBtaXhpbiBmbGV4Ym94KCRwcm9wZXJ0aWVzKSB7XG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiAkcHJvcCA9PSBkaXNwbGF5IHtcbiAgICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbC12YWx1ZShkaXNwbGF5LCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCgkcHJvcCwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFZhbHVlcyBmb3IgJGRpc3BsYXkgYXJlOiBmbGV4IChkZWZhdWx0KSwgaW5saW5lLWZsZXhcbkBtaXhpbiBkaXNwbGF5LWZsZXgoJGRpc3BsYXk6IGZsZXgpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZGlzcGxheTogJGRpc3BsYXkpKTtcbn1cblxuLy8gVmFsdWVzOiByb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbikpO1xufVxuXG4vLyBWYWx1ZXM6IG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2VcbkBtaXhpbiBmbGV4LXdyYXAoJHdyYXApIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC13cmFwOiAkd3JhcCkpO1xufVxuXG4vLyBTaG9ydGhhbmQgZm9yIGZsZXgtZGlyZWN0aW9uIGFuZCBmbGV4LXdyYXAuXG5AbWl4aW4gZmxleC1mbG93KCRmbG93KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtZmxvdzogJGZsb3cpKTtcbn1cblxuLy8gQWNjZXB0cyBhbiBpbnRlZ2VyXG5AbWl4aW4gb3JkZXIoJG9yZGVyKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKG9yZGVyOiAkb3JkZXIpKTtcbn1cblxuLy8gU2hvcnRoYW5kIGZvciBmbGV4LWdyb3csIGZsZXgtc2hyaW5rIGFuZCBvcHRpb25hbGx5IGZsZXgtYmFzaXMuXG4vLyBTcGFjZSBzZXBhcmF0ZWQsIGluIHRoYXQgb3JkZXIuXG5AbWl4aW4gZmxleCgkZmxleCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4OiAkZmxleCkpO1xufVxuXG4vLyBBY2NlcHRzIGEgbnVtYmVyLlxuQG1peGluIGZsZXgtZ3JvdygkZmxleC1ncm93KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtZ3JvdzogJGZsZXgtZ3JvdykpO1xufVxuXG4vLyBBY2NlcHRzIGEgbnVtYmVyLlxuQG1peGluIGZsZXgtc2hyaW5rKCRmbGV4LXNocmluaykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LXNocmluazogJGZsZXgtc2hyaW5rKSk7XG59XG5cbi8vIEFjY2VwdHMgYW55IGxlZ2FsIHZhbHVlIGZvciB0aGUgd2lkdGggcHJvcGVydHkuXG5AbWl4aW4gZmxleC1iYXNpcygkZmxleC1iYXNpcykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWJhc2lzOiAkZmxleC1iYXNpcykpO1xufVxuXG4vLyBMZWdhbCB2YWx1ZXM6IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmRcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJGp1c3RpZnktY29udGVudCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5LWNvbnRlbnQpKTtcbn1cblxuLy8gTGVnYWwgdmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1pdGVtcygkYWxpZ24taXRlbXMpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoYWxpZ24taXRlbXM6ICRhbGlnbi1pdGVtcykpO1xufVxuXG4vLyBMZWdhbCB2YWx1ZXM6IGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1zZWxmKCRhbGlnbi1zZWxmKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGFsaWduLXNlbGY6ICRhbGlnbi1zZWxmKSk7XG59XG5cbi8vIExlZ2FsIHZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1jb250ZW50KCRhbGlnbi1jb250ZW50KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGFsaWduLWNvbnRlbnQ6ICRhbGlnbi1jb250ZW50KSk7XG59XG4iLCJcbi8qIOODoeODh+OCo+OCouOCr+OCqOODquODvOeUqCAqL1xuQG1peGluIG1xKCRicmVha3BvaW50OiBzcCkge1xuICBAbWVkaWEgI3ttYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbi8qIHdlYmZvbnToqK3lrpogKi9cbkBtaXhpbiBmb250LWZhY2UoJGZhbWlseSwgJHBhdGgsICR3ZWlnaHQ6IG5vcm1hbCwgJHN0eWxlOiBub3JtYWwpIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmYW1pbHk7XG4gICAgc3JjOiB1cmwoJyN7JHBhdGh9LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuXHRcdFx0XHRcdHVybCgnI3skcGF0aH0ud29mZicpIGZvcm1hdCgnd29mZicpLFxuXHRcdFx0XHRcdHVybCgnI3skcGF0aH0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgfVxufVxuLyogQ0xFQVJGSVggKi9cbkBtaXhpbiBjbGVhcmZpeCB7XG5cdCp6b29tOiAxO1xuXHQmOjphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cblxuLyogMTAwdmjjg5XjgqPjg4Pjg4go5Li744GraU9T44Gr44GmKSAqL1xuQG1peGluIGNvdmVyLWZpdHtcblx0aGVpZ2h0OiAxMDB2aDtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXZoLCAxdmgpICogMTAwKTtcbn1cblxuLyog44Ob44OQ44O85pmCICovXG5AbWl4aW4gbGluay1jb2xvcigkY29sb3IpIHtcblx0XHRjb2xvcjogJGNvbG9yOyBcblx0XHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogbGlnaHRlbigkY29sb3IsIDIwJSk7XG5cdFx0fVxufVxuQG1peGluIGxpbmstYmctY29sb3IoJGNvbG9yKSB7XG5cdGJhY2tncm91bmQ6ICRjb2xvcjtcblx0dHJhbnNpdGlvbjogMXM7XG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcblx0YmFja2dyb3VuZDogbGlnaHRlbigkY29sb3IsIDIwJSk7XG5cdH1cbn1cbkBtaXhpbiBsaW5rLWJvcmRlci1jb2xvcigkY29sb3IpIHtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdHRyYW5zaXRpb246IDFzO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcblx0XHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHR9XG59XG5cbi8qIOibjeWFieODnuODvOOCq+ODvOOCkuW8leOBhOOBn+OCiOOBhuOBque3miAqL1xuQG1peGluIG1hcmtlcigkY29sb3Ipe1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LDApIDYwJSwgJGNvbG9yIDAlKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LDI1NSwyNTUsMCkgNjAlLCAkY29sb3IgMCUpO1xufVxuXG4vKiDkuK3lpK7phY3nva4gKi9cbkBtaXhpbiBwb3NpdGlvbi1jZW50ZXJ7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xufVxuXG4vKiDnlLvlg4/jgpLjg6Ljg47jgq/jg63jgavjgZnjgosgKi9cbkBtaXhpbiBtb25vcWxve1xuXHQubW9ub3Fsb3tcblx0XHQtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuXHRcdGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuXHR9XG59XG5cbi8qIEFOSU1BVElPTlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiDjgqvjg5Djg7znlLvlg4/jgpLjgrnjgq/jg63jg7zjg6vlhbHjgavjg5Xjgqfjg7zjg4njgZXjgZvjgosgKi9cbkBtaXhpbiBhbmltZS1jb3Zlci1mYWRle1xuXHQmLmNvdmVyLWZhZGV7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXMsIC13ZWJraXQtdHJhbnNmb3JtIDFzO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMXMsIC13ZWJraXQtdHJhbnNmb3JtIDFzO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcywgb3BhY2l0eSAxcztcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMsIG9wYWNpdHkgMXMsIC13ZWJraXQtdHJhbnNmb3JtIDFzO1xuXHRcdEBpbmNsdWRlIG1xKHBjKXtcblx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWFpbl9wYy5qcGcpIG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdFx0fVxuXHR9XG5cdCYuZW5ke1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcywgLXdlYmtpdC10cmFuc2Zvcm0gMXM7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAxcywgLXdlYmtpdC10cmFuc2Zvcm0gMXM7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzLCBvcGFjaXR5IDFzO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcywgb3BhY2l0eSAxcywgLXdlYmtpdC10cmFuc2Zvcm0gMXM7XG5cdH1cblx0Ji56LWluZGV4e1xuXHRcdHotaW5kZXg6IC0xO1xuXHR9XG59XG5cbi8qIOeCuea7heOCouODi+ODoeODvOOCt+ODp+ODsyAqL1xuQG1peGluIGFuaW1lLWJsaW5re1xuXHQuYmxpbmsge1xuXHRcdGFuaW1hdGlvbjogYmxpbmsgMnMgZWFzZSAwcyBpbmZpbml0ZSBub3JtYWw7XG5cdFx0LXdlYmtpdC1hbmltYXRpb246IGJsaW5rIDJzIGVhc2UgMHMgaW5maW5pdGUgbm9ybWFsIDtcblx0fVxuXHRAa2V5ZnJhbWVzIGJsaW5rIHtcblx0XHQwJSB7IG9wYWNpdHk6IDAgfVxuXHRcdFxuXHRcdDEwMCUgeyBvcGFjaXR5OiAxIH1cblx0fVxuXHRALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmsge1xuXHRcdDAlIHsgb3BhY2l0eTogMCB9XG5cblx0XHQxMDAlIHsgb3BhY2l0eTogMSB9XG5cdH1cbn1cblxuLyog44G144KP44Gj44Go44GZ44KL44Ki44OL44Oh44O844K344On44OzICovXG5AbWl4aW4gYW5pbWUtZnV3YXR7XG5cdC5mdXdhdEFuaW1lIHtcblx0LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHQtbXMtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblx0YW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblx0LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG5cdC1tcy1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZnV3YXRBbmltZTtcblx0LW1zLWFuaW1hdGlvbi1uYW1lOiBmdXdhdEFuaW1lO1xuXHRhbmltYXRpb24tbmFtZTogZnV3YXRBbmltZTtcblx0dmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXHR9XG5cdEAtd2Via2l0LWtleWZyYW1lcyBmdXdhdEFuaW1lIHtcblx0XHQwJSB7IG9wYWNpdHk6IDA7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7fVxuXHRcdDEwMCUgeyBvcGFjaXR5OiAxOy13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cdH1cblx0QGtleWZyYW1lcyBmdXdhdEFuaW1lIHtcblx0XHQwJSB7IG9wYWNpdHk6IDA7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7fVxuXHRcdDEwMCUgeyBvcGFjaXR5OiAxOy13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO31cblx0fVxufVxuXG4vKiDnlLvlg4/jgpLjg5vjg5Djg7zjgZnjgovjgajlpKfjgY3jgY/jgarjgosgKi9cbkBtaXhpbiBpbWdab29tIHtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IC4zcyBlYXNlLWluLW91dDtcblx0dHJhbnNpdGlvbjogLjNzIGVhc2UtaW4tb3V0O1xufVxuQG1peGluIGltZ1pvb21Ib3Zlcntcblx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cbi8qIFNWR+OCouODi+ODoeODvOOCt+ODp+ODsyjmloflrZfjgpLmm7jjgYTjgabjgovjgojjgYbjgarmhJ/jgZgpICovXG5AbWl4aW4gYW5pbWUtc3ZnKCRjb2xvcil7XG5cdC5kcmF3aW5nVGV4dHsgICAgXG5cdFx0XHRzdHJva2U6JGNvbG9yO1xuXHRcdFx0ZmlsbDokY29sb3I7XG5cdFx0XHRzdHJva2Utd2lkdGg6MTtcblx0XHRcdHN0cm9rZS1kYXNoYXJyYXk6IDMwMDA7XG5cdFx0XHRzdHJva2UtZGFzaG9mZnNldDozMDAwO1xuXHRcdFx0YW5pbWF0aW9uOiBEQVNIIDJzIGVhc2UtaW4gYWx0ZXJuYXRlIGZvcndhcmRzO1xuXHRcdFx0LXdlYmtpdC1hbmltYXRpb246REFTSCAycyBlYXNlLWluIGFsdGVybmF0ZSBmb3J3YXJkcztcblx0XHRcdC1vLWFuaW1hdGlvbjpEQVNIIDJzIGVhc2UtaW4gYWx0ZXJuYXRlIGZvcndhcmRzO1xuXHRcdFx0YW5pbWF0aW9uOkRBU0ggMnMgZWFzZS1pbiBhbHRlcm5hdGUgZm9yd2FyZHM7XG5cdH1cblx0QC13ZWJraXQta2V5ZnJhbWVzIERBU0h7XG5cdFx0MCV7c3Ryb2tlLWRhc2hvZmZzZXQ6MzAwMDtmaWxsLW9wYWNpdHk6IDA7fVxuXHRcdDgwJXtzdHJva2UtZGFzaG9mZnNldDowO2ZpbGwtb3BhY2l0eTogMDt9XG5cdFx0MTAwJXtmaWxsLW9wYWNpdHk6IDE7fVxuXHR9XG5cdEBrZXlmcmFtZXMgREFTSHtcblx0XHQwJXtzdHJva2UtZGFzaG9mZnNldDozMDAwO2ZpbGwtb3BhY2l0eTogMDt9XG5cdFx0ODAle3N0cm9rZS1kYXNob2Zmc2V0OjA7ZmlsbC1vcGFjaXR5OiAwO31cblx0XHQxMDAle2ZpbGwtb3BhY2l0eTogMTt9XG5cdH1cbn1cblxuLyog44Ot44O844OH44Kj44Oz44Kw55So44Ki44OL44Oh44O844K344On44OzICovXG5AbWl4aW4gbG9hZGluZ3tcblx0I2xvYWRlci1iZyB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwdmg7XG5cdFx0dG9wOiAwcHg7XG5cdFx0bGVmdDogMHB4O1xuXHRcdGJhY2tncm91bmQ6ICNGRkY7XG5cdFx0ei1pbmRleDogMTtcblx0XHR6LWluZGV4OiA5OTk5OTtcblx0XHRcblx0XHQjbG9hZGluZ3tcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRAaW5jbHVkZSBtcShwYyl7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHRcdGhlaWdodDoxMDAlXG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcShzcCl7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cblx0XHRcdGRpdntcblx0XHRcdFx0QGluY2x1ZGUgbXEocGMpe1xuXHRcdFx0XHRcdHdpZHRoOiAyMCU7XG5cdFx0XHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1xKHNwKXtcblx0XHRcdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qIOe3muOCkuW8leOBj+OCouODi+ODoeODvOOCt+ODp+ODsyAqL1xuQG1peGluIGFuaW1lLWRyYXdUaGVMaW5le1xuXHRALXdlYmtpdC1rZXlmcmFtZXMgIGRyYXdUaGVMaW5le1xuXHRcdGZyb217XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDAlIDEwMCU7XG5cdFx0fVxuXHRcdDEwMCV7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcblx0XHR9XG5cdH1cblxuXHRAa2V5ZnJhbWVzICBkcmF3VGhlTGluZXtcblx0XHRmcm9te1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAwJSAxMDAlO1xuXHRcdFx0LW1zLWJhY2tncm91bmQtc2l6ZTogMCUgMTAwJTtcblx0XHR9XG5cdFx0MTAwJXtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcblx0XHQtbXMtYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cdFx0fVxuXHR9XG5cbn1cblxuXG4vKiDnlLvlg4/jgpLlvpDjgIXjgavlh7rjgZnjgqLjg4vjg6Hjg7zjgrfjg6fjg7MgKi9cbi8vIOW3puOBi+OCieOCouODi+ODoeODvOOCt+ODp+ODs1xuQG1peGluIHNsaWRlLWluLWltZy1Me1xuXHQuaW1nLXdyYXBMIHtcblx0XHRhbmltYXRpb246IGltZy1vcGFjaXR5IDJzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpIGZvcndhcmRzO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cdFxuXHQuaW1nLXdyYXBMOmJlZm9yZSB7XG5cdFx0YW5pbWF0aW9uOiBpbWctd3JhcEwgMnMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSkgZm9yd2FyZHM7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRib3R0b206IDA7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0bGVmdDogMDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblx0QGtleWZyYW1lcyBpbWctb3BhY2l0eSB7XG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAxLjA7XG5cdFx0fVxuXHR9XG5cdEBrZXlmcmFtZXMgaW1nLXdyYXBMIHtcblx0XHQxMDAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0XHR9XG5cdH1cbn1cbi8vIOWPs+OBi+OCieOCouODi+ODoeODvOOCt+ODp+ODs1xuQG1peGluIHNsaWRlLWluLWltZy1Se1xuXHQuaW1nLXdyYXBSIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRhbmltYXRpb246IGltZy1vcGFjaXR5IDJzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpIGZvcndhcmRzO1xuXHR9XG5cdFxuXHQuaW1nLXdyYXBSOmJlZm9yZSB7XG5cdFx0YW5pbWF0aW9uOiBpbWctd3JhcFIgMnMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSkgZm9yd2FyZHM7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRib3R0b206IDA7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0bGVmdDogMDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblx0QGtleWZyYW1lcyBpbWctb3BhY2l0eSB7XG5cdFx0MTAwJSB7XG5cdFx0XHRvcGFjaXR5OiAxLjA7XG5cdFx0fVxuXHR9XG5cdEBrZXlmcmFtZXMgaW1nLXdyYXBSIHtcblx0XHQxMDAlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdFx0fVxuXHR9XG59XG4vLyDkuIrjgYvjgonjgqLjg4vjg6Hjg7zjgrfjg6fjg7NcbkBtaXhpbiBzbGlkZS1pbi1pbWctQntcblx0LmltZy13cmFwQiB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0YW5pbWF0aW9uOiBpbWctb3BhY2l0eSAycyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSBmb3J3YXJkcztcblx0fVxuXHRcblx0LmltZy13cmFwQjpiZWZvcmUge1xuXHRcdGFuaW1hdGlvbjogaW1nLXdyYXBCIDJzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpIGZvcndhcmRzO1xuXHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogMDtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cdEBrZXlmcmFtZXMgaW1nLW9wYWNpdHkge1xuXHRcdDEwMCUge1xuXHRcdFx0b3BhY2l0eTogMS4wO1xuXHRcdH1cblx0fVxuXHRAa2V5ZnJhbWVzIGltZy13cmFwQiB7XG5cdFx0MTAwJSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogalF1ZXJ5IEZsZXhTbGlkZXIgdjIuNy4wXG4gKiBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vZmxleHNsaWRlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxMiBXb29UaGVtZXNcbiAqIEZyZWUgdG8gdXNlIHVuZGVyIHRoZSBHUEx2MiBhbmQgbGF0ZXIgbGljZW5zZS5cbiAqIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxcbiAqXG4gKiBDb250cmlidXRpbmcgYXV0aG9yOiBUeWxlciBTbWl0aCAoQG1ibXVmZmZpbilcbiAqXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGT05ULUZBQ0VcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ZsZXhzbGlkZXItaWNvbic7XG4gIHNyYzogdXJsKCdmb250cy9mbGV4c2xpZGVyLWljb24uZW90Jyk7XG4gIHNyYzogdXJsKCdmb250cy9mbGV4c2xpZGVyLWljb24uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCdmb250cy9mbGV4c2xpZGVyLWljb24ud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJ2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnZm9udHMvZmxleHNsaWRlci1pY29uLnN2ZyNmbGV4c2xpZGVyLWljb24nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUkVTRVRTXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uZmxleC1jb250YWluZXIgYTpob3Zlcixcbi5mbGV4LXNsaWRlciBhOmhvdmVyIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5zbGlkZXMsXG4uc2xpZGVzID4gbGksXG4uZmxleC1jb250cm9sLW5hdixcbi5mbGV4LWRpcmVjdGlvbi1uYXYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uZmxleC1wYXVzZXBsYXkgc3BhbiB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEJBU0UgU1RZTEVTXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uZmxleHNsaWRlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5mbGV4c2xpZGVyIC5zbGlkZXMgPiBsaSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLmZsZXhzbGlkZXIgLnNsaWRlcyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZmxleHNsaWRlciAuc2xpZGVzOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBoZWlnaHQ6IDA7XG59XG5odG1sW3htbG5zXSAuZmxleHNsaWRlciAuc2xpZGVzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4qIGh0bWwgLmZsZXhzbGlkZXIgLnNsaWRlcyB7XG4gIGhlaWdodDogMSU7XG59XG4ubm8tanMgLmZsZXhzbGlkZXIgLnNsaWRlcyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogREVGQVVMVCBUSEVNRVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmZsZXhzbGlkZXIge1xuICBtYXJnaW46IDAgMCAwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgem9vbTogMTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJycgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLW1vei1ib3gtc2hhZG93OiAnJyAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAtby1ib3gtc2hhZG93OiAnJyAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3gtc2hhZG93OiAnJyAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLmZsZXhzbGlkZXIgLnNsaWRlcyB7XG4gIHpvb206IDE7XG59XG4uZmxleHNsaWRlciAuc2xpZGVzIGltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5mbGV4LXZpZXdwb3J0IHtcbiAgbWF4LWhlaWdodDogMjAwMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbn1cbi5sb2FkaW5nIC5mbGV4LXZpZXdwb3J0IHtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG59XG4uY2Fyb3VzZWwgbGkge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5mbGV4LWRpcmVjdGlvbi1uYXYge1xuICAqaGVpZ2h0OiAwO1xufVxuLmZsZXgtZGlyZWN0aW9uLW5hdiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAtMjBweCAwIDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHotaW5kZXg6IDEwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cbi5mbGV4LWRpcmVjdGlvbi1uYXYgYTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJmbGV4c2xpZGVyLWljb25cIjtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICdcXGYwMDEnO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cbi5mbGV4LWRpcmVjdGlvbi1uYXYgYS5mbGV4LW5leHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwMic7XG59XG4uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYge1xuICBsZWZ0OiAtNTBweDtcbn1cbi5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dCB7XG4gIHJpZ2h0OiAtNTBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYge1xuICBvcGFjaXR5OiAwLjc7XG4gIGxlZnQ6IDEwcHg7XG59XG4uZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXY6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0IHtcbiAgb3BhY2l0eTogMC43O1xuICByaWdodDogMTBweDtcbn1cbi5mbGV4c2xpZGVyOmhvdmVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dDpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMCFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB6LWluZGV4OiAtMTtcbn1cbi5mbGV4LXBhdXNlcGxheSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA1cHg7XG4gIGxlZnQ6IDEwcHg7XG4gIG9wYWNpdHk6IDAuODtcbiAgei1pbmRleDogMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMwMDA7XG59XG4uZmxleC1wYXVzZXBsYXkgYTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJmbGV4c2xpZGVyLWljb25cIjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICdcXGYwMDQnO1xufVxuLmZsZXgtcGF1c2VwbGF5IGE6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLmZsZXgtcGF1c2VwbGF5IGEuZmxleC1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDMnO1xufVxuLmZsZXgtY29udHJvbC1uYXYge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC00MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmxleC1jb250cm9sLW5hdiBsaSB7XG4gIG1hcmdpbjogMCA2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgem9vbTogMTtcbiAgKmRpc3BsYXk6IGlubGluZTtcbn1cbi5mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGEge1xuICB3aWR0aDogMTFweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogIzY2NjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAtby1ib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xufVxuLmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbn1cbi5mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGEuZmxleC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5mbGV4LWNvbnRyb2wtdGh1bWJzIHtcbiAgbWFyZ2luOiA1cHggMCAwO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZsZXgtY29udHJvbC10aHVtYnMgbGkge1xuICB3aWR0aDogMjUlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwO1xufVxuLmZsZXgtY29udHJvbC10aHVtYnMgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IC43O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xufVxuLmZsZXgtY29udHJvbC10aHVtYnMgaW1nOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5mbGV4LWNvbnRyb2wtdGh1bWJzIC5mbGV4LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBSRVNQT05TSVZFXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NjBweCkge1xuICAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbGVmdDogMTBweDtcbiAgfVxuICAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcmlnaHQ6IDEwcHg7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLyohXG4gKiBhbmltYXRlLmNzcyAtaHR0cDovL2RhbmVkZW4ubWUvYW5pbWF0ZVxuICogVmVyc2lvbiAtIDMuNi4yXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IERhbmllbCBFZGVuXG4gKi9cblxuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5hbmltYXRlZC5pbmZpbml0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktMDVzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAuNTFzO1xufVxuLmFuaW1hdGVkLmRlbGF5LTFzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDFzO1xuICBhbmltYXRpb24tZGVsYXk6IDFzO1xufVxuLmFuaW1hdGVkLmRlbGF5LTE1cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuNXM7XG59XG5cbi5hbmltYXRlZC5kZWxheS0ycyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAycztcbn1cblxuLmFuaW1hdGVkLmRlbGF5LTNzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDNzO1xuICBhbmltYXRpb24tZGVsYXk6IDNzO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktNHMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogNHM7XG4gIGFuaW1hdGlvbi1kZWxheTogNHM7XG59XG5cbi5hbmltYXRlZC5kZWxheS01cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiA1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiA1cztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNTMlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNTMlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sXG4gIDUwJSxcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGFzaCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xuICBhbmltYXRpb24tbmFtZTogZmxhc2g7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5ydWJiZXJCYW5kIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5cbi5zaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogc2hha2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICB9XG5cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG5cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgfVxuXG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuXG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uaGVhZFNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cblxuLnN3aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi50YWRhIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLndvYmJsZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sXG4gIDExLjElLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuXG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gIH1cblxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG5cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG5cbi5qZWxsbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLFxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4uYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbn1cblxuLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmFkZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmhpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi5qYWNrSW5UaGVCb3gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7XG4gIGFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4ucm9sbEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuLnJvbGxPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnpvb21JbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21Jbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuLnpvb21JbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuLnpvb21JbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG4uem9vbUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi56b29tT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FxRUNBLHdCQUF3QjtBQU14QixpQkFBaUI7QUFXakIsY0FBYztBQVVkLGdDQUFnQztBQU1oQyxjQUFjO0FBd0JkLGtD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 */
