﻿@charset "UTF-8";
:root {
  --pc-contents-max-width:1200px;
  --z-index-header:1000;
  --hover-opacity-duration:.2s;
  --hover-opacity-ease:ease;
  --color-white:#FFFFFF;
  --color-black:#000000;
  --color-gray900:#222222;
  --color-gray800:#323232;
  --color-gray600:#505050;
  --color-gray500:#666666;
  --color-gray400:#B0B0B0;
  --color-gray300:#D7D7D7;
  --color-gray200:#EDEDED;
  --color-gray100:#F0F0F0;
  --color-blue1200:#1D60B0;
  --color-blue1000:#2588FE;
  --color-blue900:#2577D8;
  --color-blue800:#4085D6;
  --color-blue400:#A6C5E5;
  --color-blue300:#C0D9F2;
  --color-blue200:#EAF3FC;
  --color-blue100:#F0F6FB;
  --color-green100:#DDF1D9;
  --color-red900:#EE2F34;
}

/*
pxをvwに変換
*/
/************************************************************
header用
*************************************************************/
/*
メディアクエリ
記述例
body{
  @include mixin.ms-w('max',1200){
    background-color: red;
  }
}
*/
/*
フォームリセット
*/
/*
ICON FONT
*/
.table-wrap {
  position: relative;
  background: #fff;
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
  .table-wrap {
    width: calc(var(--vw-noscrbar) - var(--vw-noscrbar) * 0.1719 / 2);
  }
}
@media only screen and (max-width:768px) {
  .table-wrap {
    width: calc(var(--vw-noscrbar) - (var(--vw-noscrbar) - 87.6923076923vw) / 2);
  }
}
.table-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  width: 20px;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}
.table-wrap::before {
  left: 0;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.3), transparent);
  opacity: 0;
  transition: opacity 0.2s;
}
.table-wrap.shadow-left::before {
  opacity: 1;
}
.table-wrap.shadow-right::after {
  opacity: 1;
}
.table-wrap .table-inner {
  overflow-x: auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
  .table-wrap .table-inner {
    cursor: grab;
  }
}
@media only screen and (max-width:768px) {
  .table-wrap .table-inner {
    cursor: grab;
  }
}
.table-wrap .table-inner.dragging {
  cursor: grabbing;
  user-select: none;
}
.table-wrap table {
  width: 100%;
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
  .table-wrap table {
    min-width: 105.6rem;
  }
}
@media only screen and (max-width:768px) {
  .table-wrap table {
    min-width: 105.6rem;
  }
}

[class^=icons-], [class*=" icons-"] {
  display: inline-block;
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icons-arrow-1:before {
  content: "\ea01";
}

.icons-arrow-2:before {
  content: "\ea02";
}

.icons-search:before {
  content: "\ea03";
}

.icons-lang:before {
  content: "\ea04";
}

.icons-circle-plus:before {
  content: "\ea05";
}

.icons-check:before {
  content: "\ea06";
}

.icons-close:before {
  content: "\ea07";
}

.icons-slash:before {
  content: "\ea08";
}

.icons-download:before {
  content: "\ea09";
}

.icons-blank:before {
  content: "\ea0a";
}

.icons-circle-minus:before {
  content: "\ea0b";
}

.icons-bldg:before {
  content: "\ea0c";
}

.icons-pen:before {
  content: "\ea0d";
}

.icons-flow:before {
  content: "\ea0e";
}

.icons-prize:before {
  content: "\ea0f";
}

.icons-global:before {
  content: "\ea10";
}

.icons-strength:before {
  content: "\ea11";
}

.icons-tel:before {
  content: "\ea12";
}

.icons-mail:before {
  content: "\ea13";
}

.icons-wakaba:before {
  content: "\ea14";
}

.icons-faq:before {
  content: "\ea15";
}

.icons-x:before {
  content: "\ea16";
}

.icons-facebook:before {
  content: "\ea17";
}

.icons-instagram:before {
  content: "\ea18";
}

.icons-youtube:before {
  content: "\ea19";
}

.icons-line:before {
  content: "\ea1a";
}

/*
mixin
*/
/*
*
CTA お問合せ　メルマガ
*
*/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.l-about-download {
  padding-bottom: 8rem;
}
@media only screen and (min-width:769px) {
  .l-about-download {
    padding-top: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .l-about-download {
    padding-top: 6.4rem;
  }
}
.l-about-download__inner {
  border-radius: 8px;
  background: var(--color-gray100);
}
@media only screen and (min-width:769px) {
  .l-about-download__inner {
    padding: 3.2rem;
  }
}
@media only screen and (max-width:768px) {
  .l-about-download__inner {
    padding: 6.1538461538vw 4.1025641026vw 4.1025641026vw;
  }
}
.l-about-download__title {
  color: var(--color-gray900);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 150%;
}
.l-about-download__text {
  color: var(--color-gray900);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 170%;
}
.l-about-download__text-note {
  display: inline-block;
  text-indent: -0.5em;
  padding-left: 0.5em;
}
.l-about-download__text a {
  color: var(--color-blue900);
  text-decoration: underline;
}
.l-about-download__text b {
  font-weight: 500;
}
.l-about-download__title + .l-about-download__text {
  margin-top: 0.8rem;
}
.l-about-download__text + .l-about-download__text {
  margin-top: 0.8rem;
}
.l-about-download__text--cookie + .l-about-download__text--cookie {
  margin-top: 0.8rem;
}
.l-about-download__cookie {
  margin-top: 1.6rem;
  border-radius: 4px;
  background: var(--color-white);
}
@media only screen and (min-width:769px) {
  .l-about-download__cookie {
    padding: 1.6rem;
  }
}
@media only screen and (max-width:768px) {
  .l-about-download__cookie {
    padding: 4.1025641026vw;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.l-products__software-download {
  color: var(--color-gray900);
}
.l-products__software-download .l-about-download {
  padding: 0;
}
.l-products__software-download .l-about-download .c-contentbox {
  width: 100%;
}
@media only screen and (min-width:769px) {
  .l-products__software-download-items .l-products__software-download-item:nth-child(n+2) .l-products__software-download-item-link > li {
    min-width: 33.6rem;
  }
}
.l-products__software-download-item {
  margin-top: 5.6rem;
}
.l-products__software-download-item-text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  margin-top: 1.6rem;
}
.l-products__software-download-item-text .color-blue {
  color: var(--color-blue900);
}
.l-products__software-download-item-link {
  margin-top: 3.2rem;
}
@media only screen and (min-width:769px) {
  .l-products__software-download-item-link {
    display: flex;
    flex-wrap: wrap;
    gap: 2.4rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__software-download-item-link > li {
    width: calc((100% - 4.8rem) / 3);
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .l-products__software-download-item-link > li {
    width: calc((100% - 2.4rem) / 2);
  }
}
@media only screen and (max-width:768px) {
  .l-products__software-download-item-link > li:nth-child(n+2) {
    margin-top: 1.6rem;
  }
}
.l-products__software-download-item-link > li a {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  display: flex;
  gap: 8px;
  padding: 1.6rem 0;
}
.l-products__software-download-item-link > li a .ext {
  min-width: 4.2rem;
  font-size: 1.2rem;
  text-align: center;
  color: var(--color-blue900);
  background-color: var(--color-white);
  border-radius: 0.4rem;
  padding: 0.2rem 0.5rem;
}
.l-products__software-download-item-link > li a .c-roundbtn__icon {
  overflow: visible;
}
.l-products__software-download-item-link > li .page-name {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 0.8rem;
}
.l-products__software-download-item-link.dl-doc > li a {
  height: 100%;
  justify-content: flex-start;
  padding-right: 1.6rem;
  padding-left: 1.6rem;
}
.l-products__software-download-item#comprehensive-catalog-download {
  padding-top: 11.2rem;
  margin-top: -5.6rem;
}

.form-common-style input[type=checkbox] {
  width: 0 !important;
  height: 0 !important;
  display: block !important;
  position: absolute !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.form-common-style input[type=checkbox] + label {
  width: 1.6rem;
  height: 1.6rem;
  font-size: 0;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray300);
  border-radius: 0.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
  margin: 0 auto;
  transition: background-color 0.2s, border 0.2s;
}
.form-common-style input[type=checkbox] + label::after {
  content: "";
  content: "\ea06";
  display: inline-block;
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 0.8rem;
  color: var(--color-white);
  opacity: 0;
  transform: translateY(-200%);
  transition: opacity 0.2s, transform 0.3s;
}
.form-common-style input[type=checkbox]:checked + label {
  border-color: var(--color-blue900);
  background-color: var(--color-blue900);
}
.form-common-style input[type=checkbox]:checked + label::after {
  opacity: 1;
  transform: translateY(0);
}
.form-common-style input[type=checkbox]:disabled + label {
  opacity: 0.2;
  cursor: not-allowed;
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.l-products__list table {
  border-collapse: collapse;
}
.l-products__list table tr th.nowrap, .l-products__list table tr td.nowrap {
  white-space: nowrap;
}
.l-products__list table thead tr th {
  min-width: 4rem;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-white);
  background-color: var(--color-gray800);
  border: 1px solid var(--color-gray600);
  padding: 0.5rem;
  position: relative;
  white-space: nowrap;
}
.l-products__list table tbody tr:nth-child(2n+1) {
  background-color: var(--color-white);
}
.l-products__list table tbody tr:nth-child(2n+2) {
  background-color: var(--color-gray200);
}
.l-products__list table tbody tr:last-child th, .l-products__list table tbody tr:last-child td {
  border-bottom: 1px solid var(--color-gray300);
}
.l-products__list table tbody tr td {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.5;
  padding: 0.8rem;
  vertical-align: middle;
}
.l-products__list table tbody tr td:not(:last-child) {
  border-right: 1px solid var(--color-gray300);
}
.l-products__list table tbody tr td:nth-child(2) {
  white-space: nowrap;
}
.l-products__list table tbody tr td .new {
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-red900);
  display: block;
}
.l-products__list table tbody tr td a {
  color: var(--color-blue900);
  text-decoration: underline;
}
.l-products__list .table-wrap::before {
  left: 4rem;
}
.l-products__list .table-wrap table thead tr th:nth-child(1),
.l-products__list .table-wrap table tbody tr td:nth-child(1) {
  position: sticky;
  left: -1px;
  z-index: 10;
}
.l-products__list .table-wrap table thead tr th:nth-child(1) {
  width: 4rem;
}
.l-products__list .table-wrap table thead tr th:nth-child(1)::after {
  content: "";
  width: 1px;
  height: 100%;
  background-color: var(--color-gray600);
  position: absolute;
  top: 0;
  right: -1px;
}
.l-products__list .table-wrap table tbody tr:nth-child(2n+1) td:nth-child(1) {
  background-color: var(--color-white);
}
.l-products__list .table-wrap table tbody tr:nth-child(2n+2) td:nth-child(1) {
  background-color: var(--color-gray200);
}
.l-products__list .table-wrap table tbody tr td:nth-child(1) {
  text-align: center;
}
.l-products__list .table-wrap table tbody tr td:nth-child(1)::after {
  content: "";
  width: 1px;
  height: 100%;
  background-color: var(--color-gray300);
  position: absolute;
  top: 0;
  right: -1px;
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.l-products__comparison-select {
  color: var(--color-gray900);
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: calc(var(--z-index-header) / 10);
}
.l-products__comparison-select:not(.on) {
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  display: block !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select {
    padding: 1.6rem 0;
  }
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select {
    padding: 2.5rem 0 2.4rem;
  }
}
.l-products__comparison-select::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: var(--color-gray900);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.15;
  z-index: 1;
}
.l-products__comparison-select .c-contentbox {
  position: relative;
  z-index: 2;
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select .c-contentbox {
    max-width: 80rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-panel {
    display: flex;
  }
  .l-products__comparison-select-panel .l-products__comparison-select-list {
    width: calc(100% - 10rem);
  }
  .l-products__comparison-select-panel .l-products__comparison-select-link {
    width: 10rem;
  }
}
.l-products__comparison-select-list {
  background-color: var(--color-white);
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-list {
    border-radius: 0.8rem 0 0 0.8rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-list {
    border-radius: 0.8rem 0.8rem 0 0;
  }
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-list {
    padding: 2.4rem 2.4rem 1.8rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-list {
    padding: 1.6rem;
  }
}
.l-products__comparison-select-list__inner {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-list__inner {
    gap: 1.6rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-list__inner {
    gap: 0 2.4rem;
  }
}
.l-products__comparison-select-list-item {
  position: relative;
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-list-item {
    width: calc((100% - 4.8rem) / 4);
  }
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-list-item {
    width: calc((100% - 2.4rem) / 2);
    display: flex;
    gap: 0.8rem;
  }
  .l-products__comparison-select-list-item:nth-child(n+3) {
    margin-top: 1.6rem;
  }
}
@media screen and (min-width: 650px) and (max-width: 768px) {
  .l-products__comparison-select-list-item {
    width: calc((100% - 7.2rem) / 4);
    gap: 0.8rem;
  }
  .l-products__comparison-select-list-item:nth-child(n+3) {
    margin-top: 0;
  }
}
.l-products__comparison-select-list-item:not(.on) {
  opacity: 0 !important;
  pointer-events: none !important;
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-list-item:not(.on) {
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
  }
}
@media screen and (min-width: 600px) and (max-width: 768px) {
  .l-products__comparison-select-list-item:not(.on) {
    width: calc((100% - 7.2rem) / 4);
    gap: 0.8rem;
  }
}
.l-products__comparison-select-list-item .close {
  color: var(--color-white);
  background-color: var(--color-blue900);
  border-radius: 50%;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  overflow: hidden;
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-list-item .close {
    width: 2rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-list-item .close {
    width: 1.6rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-list-item .close {
    height: 2rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-list-item .close {
    height: 1.6rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-list-item .close {
    position: absolute;
    top: -0.8rem;
    right: -1.3rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-list-item .close .icons-close {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-list-item .close .icons-close {
    font-size: 0.6rem;
  }
}
@media (hover: hover) {
  .l-products__comparison-select-list-item .close:hover {
    background-color: var(--color-blue1000);
  }
  .l-products__comparison-select-list-item .close:hover .icons-close {
    animation: down-on 0.45s ease-in-out;
  }
}
.l-products__comparison-select-list-item figure {
  font-size: 0;
  border: 2px solid var(--color-gray300);
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-list-item figure {
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    display: block !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}
.l-products__comparison-select-list-item figure img {
  width: 100%;
}
.l-products__comparison-select-list-item .name {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-list-item .name {
    margin-top: 0.8rem;
  }
}
.l-products__comparison-select-link [type=submit] {
  width: 100%;
  height: 100%;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.01em;
  text-align: center;
  color: var(--color-white);
  background-color: var(--color-blue900);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  outline: none;
  border: none;
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-link [type=submit] {
    border-radius: 0 0.8rem 0.8rem 0;
  }
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-link [type=submit] {
    border-radius: 0 0 0.8rem 0.8rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-link [type=submit] {
    padding: 1.2rem 0;
  }
}
@media only screen and (max-width:768px) {
  .l-products__comparison-select-link [type=submit] .inner {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
  }
}
.l-products__comparison-select-link [type=submit] .arrow {
  width: 2rem;
  height: 2rem;
  font-size: 0.8rem;
  color: var(--color-blue900);
  background-color: var(--color-white);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
@media only screen and (min-width:769px) {
  .l-products__comparison-select-link [type=submit] .arrow {
    margin: 0.8rem auto 0;
  }
}
@media (hover: hover) {
  .l-products__comparison-select-link [type=submit]:hover {
    background-color: var(--color-blue1000);
  }
  .l-products__comparison-select-link [type=submit]:hover .icons-arrow-1 {
    animation: circlearrow-on 0.5s ease-in-out;
  }
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
h3 {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
}

b {
  font-weight: 500;
}

.c-products-link {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  transition: 0.3s !important;
  position: relative;
  padding-left: 2.8rem;
}
@media (hover: hover) {
  .c-products-link:hover {
    color: var(--color-blue900);
  }
  .c-products-link:hover .c-roundbtn__circlearrow span {
    animation: circlearrow-on 0.5s ease-in-out;
  }
}
.c-products-link-arrow {
  width: 2rem;
  height: 2rem;
  font-size: 0.8rem;
  color: var(--color-white);
  background-color: var(--color-blue900);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  transform: rotate(180deg);
  transition: 0.3s !important;
}

.c-roundbtn {
  position: relative;
}
.c-roundbtn__icon {
  line-height: 1.5;
  margin-left: auto;
  overflow: hidden;
}
.c-roundbtn__icon span {
  display: flex;
  align-items: center;
}
@media (hover: hover) {
  .c-roundbtn:hover .c-roundbtn__icon span {
    animation: down-on 0.45s ease-in-out;
  }
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.software-download {
  padding-top: 12rem;
  margin-top: -12rem;
}
@media only screen and (min-width:769px) {
  .software-download {
    padding-bottom: 15rem;
  }
}
@media only screen and (max-width:768px) {
  .software-download {
    padding-bottom: 10rem;
  }
}
.software-download .l-products__software-download {
  margin-top: 4rem;
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.other-products {
  color: var(--color-gray900);
  position: relative;
}
@media only screen and (min-width:769px) {
  .other-products {
    padding-top: 10rem;
  }
}
@media only screen and (max-width:768px) {
  .other-products {
    padding-top: 8rem;
  }
}
@media only screen and (min-width:769px) {
  .other-products {
    padding-bottom: 10rem;
  }
}
@media only screen and (max-width:768px) {
  .other-products {
    padding-bottom: 8rem;
  }
}
.other-products::before {
  content: "";
  width: 100%;
  height: 12rem;
  background: linear-gradient(to bottom, var(--color-blue100), var(--color-white));
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.other-products .c-other-products-list {
  margin-top: 4rem;
}
@media only screen and (min-width:769px) {
  .other-products .c-other-products-list {
    display: flex;
    gap: 3.2rem;
  }
  .other-products .c-other-products-list .c-other-products-item {
    width: calc((100% - 3.2rem) / 3);
  }
}
.other-products .c-other-products-item {
  display: block;
}
@media only screen and (max-width:768px) {
  .other-products .c-other-products-item:nth-child(n+2) {
    margin-top: 3rem;
  }
}
.other-products .c-other-products-item-text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  display: flex;
  position: relative;
  margin-top: 1.6rem;
}
.other-products .c-other-products-item-text .c-products-link-arrow2 {
  width: 3.2rem;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.other-products .c-other-products-item-text .c-products-link-arrow2 .icons-arrow-1 {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--color-blue900);
}
@media only screen and (min-width:769px) {
  .other-products .c-other-products-item-text .c-products-link-arrow2 .icons-arrow-1 {
    padding-top: 0.2rem;
  }
}
@media only screen and (max-width:768px) {
  .other-products .c-other-products-item-text .c-products-link-arrow2 .icons-arrow-1 {
    padding-top: 0.25rem;
  }
}
@media (hover: hover) {
  .other-products .c-other-products-item:hover .c-other-products-item-text {
    color: var(--color-blue900);
  }
  .other-products .c-other-products-item:hover .c-other-products-item-text .c-products-link-arrow2 .icons-arrow-1 {
    animation: circlearrow-on 0.5s ease-in-out;
  }
}
@media only screen and (min-width:769px) {
  .other-products-link {
    margin-top: 4rem;
  }
}
@media only screen and (max-width:768px) {
  .other-products-link {
    margin-top: 4.8rem;
  }
} /************************************************************
SCREEN RESPONSIVE
*************************************************************/
.category-child {
  color: var(--color-gray900);
  padding-top: 4rem;
  margin-top: -4rem;
}
@media only screen and (min-width:769px) {
  .category-child__inner {
    padding-top: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .category-child__inner {
    padding-top: 6.4rem;
  }
}
@media only screen and (min-width:769px) {
  .category-child-list {
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width:768px) {
  .category-child-list {
    margin-top: 4rem;
  }
}
@media only screen and (min-width:769px) {
  .category-child-item {
    display: flex;
    gap: 4.8rem;
  }
  .category-child-item-img {
    width: 41.66%;
  }
  .category-child-item-text {
    width: calc(58.34% - 4.8rem);
  }
}
.category-child-item:nth-child(n+2) {
  margin-top: 5.6rem;
}
.category-child-item-img figure {
  text-align: center;
}
@media only screen and (max-width:768px) {
  .category-child-item-img figure {
    max-width: 68.4rem;
    margin: 0 auto;
  }
}
.category-child-item-img figure img {
  width: 100%;
}
@media only screen and (max-width:768px) {
  .category-child-item-text {
    margin-top: 1.6rem;
  }
}
.category-child-item-name + .category-child-item-summary, .category-child-item-feature {
  margin-top: 1.6rem;
}
.category-child-item-summary > dt, .category-child-item-feature > dt {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  padding-left: 1.75rem;
  position: relative;
}
.category-child-item-summary > dt::before, .category-child-item-feature > dt::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--color-blue900);
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  transform: translateY(-1px);
}
.category-child-item-summary > dd, .category-child-item-feature > dd {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 0.8rem;
}
.category-child-item-link {
  margin-top: 2.4rem;
}
.category-child-item-link a {
  width: 24rem;
  height: 5.6rem;
}
@media only screen and (min-width:769px) {
  .category-child-item-link a {
    margin-left: auto;
  }
}
@media only screen and (max-width:768px) {
  .category-child-item-link a {
    margin: 0 auto;
  }
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.category-child {
  padding-top: 4rem;
  margin-top: -4rem;
}
@media only screen and (min-width:769px) {
  .category-child__inner {
    padding-top: 6.4rem;
  }
}
@media only screen and (max-width:768px) {
  .category-child__inner {
    padding-top: 4.8rem;
  }
}
.category-child-list {
  margin-top: 0;
}
@media only screen and (min-width:769px) {
  .category-child-item {
    gap: 9rem;
  }
  .category-child-item-img {
    width: 41.66%;
  }
  .category-child-item-text {
    width: calc(58.34% - 9rem);
  }
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
@media only screen and (min-width:769px) {
  .c-anchor-nav {
    padding-top: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .c-anchor-nav {
    padding-top: 6.4rem;
  }
} /************************************************************
SCREEN RESPONSIVE
*************************************************************/
.lineup-list {
  color: var(--color-gray900);
}
@media only screen and (min-width:769px) {
  .lineup-list__inner {
    padding-top: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .lineup-list__inner {
    padding-top: 6.4rem;
  }
}
@media only screen and (max-width:768px) {
  .lineup-list__inner {
    padding-top: 10rem;
    margin-top: -3.6rem;
  }
}
.lineup-list__message {
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 4rem;
}
@media only screen and (min-width:769px) {
  .lineup-list .l-products__lineup-table {
    margin-top: 1.6rem;
  }
}
@media only screen and (max-width:768px) {
  .lineup-list .l-products__lineup-table {
    margin-top: 2rem;
  }
}
.lineup-list__notes {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
}
@media only screen and (min-width:769px) {
  .lineup-list__notes {
    margin-top: 2.4rem;
  }
}
@media only screen and (max-width:768px) {
  .lineup-list__notes {
    margin-top: 2rem;
  }
}
@media only screen and (min-width:769px) {
  .lineup-list + .software-download {
    margin-top: 3rem;
  }
}
@media only screen and (max-width:768px) {
  .lineup-list + .software-download {
    margin-top: 2.4rem;
  }
} /************************************************************
SCREEN RESPONSIVE
*************************************************************/
.accessories {
  color: var(--color-gray900);
  padding-top: 4rem;
  margin-top: -4rem;
}
@media only screen and (min-width:769px) {
  .accessories__inner {
    padding-top: 15rem;
  }
}
@media only screen and (max-width:768px) {
  .accessories__inner {
    padding-top: 10rem;
  }
}
@media only screen and (min-width:769px) {
  .accessories__inner {
    padding-bottom: 15rem;
  }
}
@media only screen and (max-width:768px) {
  .accessories__inner {
    padding-bottom: 10rem;
  }
}
.accessories__inner.dummy {
  padding-top: 0;
}
.accessories .c-accessories-list {
  margin-top: 4rem;
}
@media only screen and (min-width:769px) {
  .accessories .c-accessories-item {
    display: flex;
    gap: 4.8rem;
  }
  .accessories .c-accessories-item-img {
    width: 33.33%;
  }
  .accessories .c-accessories-item-text {
    width: calc(66.67% - 4.8rem);
  }
}
.accessories .c-accessories-item:nth-child(n+2) {
  margin-top: 5.6rem;
}
@media only screen and (max-width:768px) {
  .accessories .c-accessories-item-img figure {
    max-width: 68.4rem;
    margin: 0 auto;
  }
}
.accessories .c-accessories-item-img figure img {
  width: 100%;
}
.accessories .c-accessories-item-text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
}
@media only screen and (max-width:768px) {
  .accessories .c-accessories-item-text {
    margin-top: 3rem;
  }
}
.accessories .c-accessories-item-text > *:nth-child(n+2) {
  margin-top: 2.4rem;
}
.accessories .c-accessories-item-text small {
  font-size: 1.4rem;
  color: var(--color-gray500);
}
.accessories .c-accessories-item-text p + p {
  margin-top: 0.8rem !important;
}
@media only screen and (min-width:769px) {
  .accessories .c-accessories-item-text .table-wrap {
    width: 100%;
  }
}
@media only screen and (min-width:769px) {
  .accessories .c-accessories-item-text .table-wrap .table-inner {
    padding-right: 0;
  }
}
@media only screen and (min-width:769px) {
  .accessories .c-accessories-item-text .table-wrap table {
    min-width: initial;
  }
}
.accessories .c-accessories-item-text table {
  width: 100%;
  border-collapse: collapse;
}
@media only screen and (max-width:768px) {
  .accessories .c-accessories-item-text table tr th.nowrap, .accessories .c-accessories-item-text table tr td.nowrap {
    white-space: nowrap;
  }
}
.accessories .c-accessories-item-text table tr th {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-white);
  background-color: var(--color-gray800);
  border: 1px solid var(--color-gray600);
  padding: 0.5rem;
}
.accessories .c-accessories-item-text table tr td {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid var(--color-gray300);
  padding: 0.8rem;
}
.accessories .c-accessories-item-text ul > li {
  text-indent: -1em;
  padding-left: 1em;
}
@media only screen and (max-width:768px) {
  .accessories .c-accessories-item-text .table-wrap table {
    min-width: 50rem;
  }
} /************************************************************
SCREEN RESPONSIVE
*************************************************************/
.category {
  background-color: var(--color-blue100);
}
@media only screen and (min-width:769px) {
  .category {
    padding-top: 9.6rem;
  }
}
@media only screen and (max-width:768px) {
  .category {
    padding-top: 8rem;
  }
}
@media only screen and (min-width:769px) {
  .category {
    padding-bottom: 9.5rem;
  }
}
@media only screen and (max-width:768px) {
  .category {
    padding-bottom: 8rem;
  }
}
.category-link {
  color: var(--color-gray900);
}
@media only screen and (min-width:769px) {
  .category-link {
    margin-top: 4rem;
  }
}
@media only screen and (max-width:768px) {
  .category-link {
    margin-top: 4.8rem;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJfZm91bmRhdGlvbi9fdmFycy5zY3NzIiwiX2ZvdW5kYXRpb24vX2Z1bmN0aW9uLnNjc3MiLCJfZm91bmRhdGlvbi9fbWVkaWEuc2NzcyIsIl9mb3VuZGF0aW9uL19taXhpbi5zY3NzIiwiX29iamVjdC9fY29tcG9uZW50L190YWJsZS13cmFwLnNjc3MiLCJfZm91bmRhdGlvbi9faWNvbmZvbnQuc2NzcyIsIl9sYXlvdXQvX2Fib3V0LWRvd25sb2FkLnNjc3MiLCJfbGF5b3V0L19wcm9kdWN0c19fc29mdHdhcmUtZG93bmxvYWQuc2NzcyIsIl9sYXlvdXQvX2Zvcm0uc2NzcyIsIl9sYXlvdXQvX3Byb2R1Y3RzX19saXN0LnNjc3MiLCJfbGF5b3V0L19wcm9kdWN0c19fY29tcGFyaXNvbi1zZWxlY3Quc2NzcyIsInBhZ2VzL3Byb2R1Y3RzL2luZGV4X3N0eWxlcy9fcHJvZHVjdC1jb21tb24uc2NzcyIsInBhZ2VzL3Byb2R1Y3RzL2luZGV4X3N0eWxlcy9fc29mdHdhcmUtZG93bmxvYWQuc2NzcyIsInBhZ2VzL3Byb2R1Y3RzL2luZGV4X3N0eWxlcy9fb3RoZXItcHJvZHVjdHMuc2NzcyIsInBhZ2VzL3Byb2R1Y3RzX2NhdGUvaW5kZXhfc3R5bGVzL19jYXRlZ29yeS1jaGlsZC5zY3NzIiwicGFnZXMvcHJvZHVjdHNfY2F0ZS9jaGlsZF9zdHlsZXMvX2NhdGVnb3J5LWNoaWxkLnNjc3MiLCJwYWdlcy9wcm9kdWN0c19jYXRlL2NoaWxkX3N0eWxlcy9fYW5jaG9yLW5hdi5zY3NzIiwicGFnZXMvcHJvZHVjdHNfY2F0ZS9jaGlsZF9zdHlsZXMvX2xpbmV1cC1saXN0LnNjc3MiLCJwYWdlcy9wcm9kdWN0c19jYXRlL2NoaWxkX3N0eWxlcy9fYWNjZXNzb3JpZXMuc2NzcyIsInBhZ2VzL3Byb2R1Y3RzX2NhdGUvaW5kZXhfc3R5bGVzL19jYXRlZ29yeS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFNQTtFQUNFO0VBQ0E7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Qjs7O0FmNUJ4QztFZThCQTtJZnhCYyxZZXlCbUI7OztBZjVCakM7RWUyQkE7SWZ2QmMsWWV3QndCOztFQzVCeEM7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7O0FoQlZBO0VnQldBO0loQkxjLGFnQk1vQjs7O0FoQlRsQztFZ0JRQTtJaEJKYyxhZ0JLMEI7OztBaEJaeEM7RWdCV0E7SWhCTGMsZ0JnQk91Qjs7O0FoQlZyQztFZ0JRQTtJaEJKYyxnQmdCTTZCOzs7QUFDekM7RUFDRTs7QUFJRjtFQUNFOztBaEJwQko7RWdCc0JFO0lBRUk7SUFDQTs7RUFDQTtJQUFROztFQUNSO0lBQVM7OztBQUVYO0VBQ0U7O0FoQjNCTjtFZ0I4Qk07SUFFSTtJQUNBOzs7QUFFRjtFQUNFOztBQUlOO0VBQ0U7RUFDQTtFQUNBOztBaEIzQ047RWdCd0NJO0lBS0k7OztBQUVGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBOztBQUdBO0VBQ0U7O0FoQjNEVjtFZ0I4RE07SUFFSTs7O0FoQmhFVjtFZ0JrRVE7SUFFSTs7O0FoQnBFWjtFZ0J1RVE7SUFFSTs7O0FBSU47RUFDRTtFQUNBOztBaEI1RVI7RWdCK0VZO0lBRUk7OztBQUlOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtKO0VBQ0U7RUFDQTs7QWhCMUdWO0VnQjhHUTtJQUVJOztFQ2hIZDtBQUFBO0FBQUE7QUFJQTtFQUNFOztBakJSQTtFaUJPRjtJakJEZ0IsYWlCR2tCOzs7QWpCTmhDO0VpQklGO0lqQkFnQixhaUJFeUI7OztBakJUdkM7RWlCT0Y7SWpCRGdCLGdCaUJJcUI7OztBakJQbkM7RWlCSUY7SWpCQWdCLGdCaUJHNEI7OztBQUMxQztFQUNFOztBakJaRjtFaUJXQTtJakJMYyxZaUJPbUI7OztBakJWakM7RWlCUUE7SWpCSmMsWWlCTXdCIiwiZmlsZSI6InBhZ2VzL3Byb2R1Y3RzX2NhdGUvY2hpbGQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJHNjcmVlbl9zcDpcInNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweClcIjtcbiRzY3JlZW5fcGM6XCJzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY5cHgpXCI7XG5cbiRzY3JlZW5faGVhZGVyX3NwOlwic2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwODBweClcIjtcbiRzY3JlZW5faGVhZGVyX3BjOlwic2NyZWVuIGFuZCAobWluLXdpZHRoOjEwODFweClcIjtcblxuOnJvb3Qge1xuICAtLXBjLWNvbnRlbnRzLW1heC13aWR0aDoxMjAwcHg7IC8vUEPjga7jgrPjg7Pjg4bjg7Pjg4TluYXjga7mnIDlpKdcbiAgLS16LWluZGV4LWhlYWRlcjoxMDAwOyAvL+ODmOODg+ODgOODvOOBrnotaW5kZXhcblxuICAvL+mAj+mBjuOChOiJsuWkieabtOezu+OBruOCouODi+ODoeODvOOCt+ODp+ODs+WApFxuICAtLWhvdmVyLW9wYWNpdHktZHVyYXRpb246LjJzO1xuICAtLWhvdmVyLW9wYWNpdHktZWFzZTplYXNlO1xuXG4gIC0tY29sb3Itd2hpdGU6I0ZGRkZGRjtcbiAgLS1jb2xvci1ibGFjazojMDAwMDAwO1xuICAtLWNvbG9yLWdyYXk5MDA6IzIyMjIyMjtcbiAgLS1jb2xvci1ncmF5ODAwOiMzMjMyMzI7XG4gIC0tY29sb3ItZ3JheTYwMDojNTA1MDUwO1xuICAtLWNvbG9yLWdyYXk1MDA6IzY2NjY2NjtcbiAgLS1jb2xvci1ncmF5NDAwOiNCMEIwQjA7XG4gIC0tY29sb3ItZ3JheTMwMDojRDdEN0Q3O1xuICAtLWNvbG9yLWdyYXkyMDA6I0VERURFRDtcbiAgLS1jb2xvci1ncmF5MTAwOiNGMEYwRjA7XG4gIC0tY29sb3ItYmx1ZTEyMDA6IzFENjBCMDtcbiAgLS1jb2xvci1ibHVlMTAwMDojMjU4OEZFO1xuICAtLWNvbG9yLWJsdWU5MDA6IzI1NzdEODtcbiAgLS1jb2xvci1ibHVlODAwOiM0MDg1RDY7XG4gIC0tY29sb3ItYmx1ZTQwMDojQTZDNUU1O1xuICAtLWNvbG9yLWJsdWUzMDA6I0MwRDlGMjtcbiAgLS1jb2xvci1ibHVlMjAwOiNFQUYzRkM7XG4gIC0tY29sb3ItYmx1ZTEwMDojRjBGNkZCO1xuICAtLWNvbG9yLWdyZWVuMTAwOiNEREYxRDk7XG4gIC0tY29sb3ItcmVkOTAwOiNFRTJGMzQ7XG59XG5cblxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vKlxucHjjgpJ2d+OBq+WkieaPm1xuKi9cbkBmdW5jdGlvbiBnZXR2dygkc2l6ZSwgJHZpZXdwb3J0OjM5MCl7XG4gICRyYXRlOiBtYXRoLmRpdigxMDAsJHZpZXdwb3J0KTtcbiAgQHJldHVybiAkcmF0ZSAqICRzaXplICogMXZ3O1xufVxuXG4vL++8heOCkui/lOOBmVxuQGZ1bmN0aW9uIGdldHBlcigkc2l6ZSwgJHBhcmVudCl7XG4gICRyYXRlOiBtYXRoLmRpdigxMDAsJHBhcmVudCk7XG4gIEByZXR1cm4gJHJhdGUgKiAkc2l6ZSAqIDElO1xufVxuXG4vL+WNiuWIhuOBruOCteOCpOOCuuOCknB444Gn6L+U44GZXG5AZnVuY3Rpb24gZ2V0aGFsZigkc2l6ZSl7XG4gIEByZXR1cm4gJHNpemUgKiAwLjVweDtcbn1cblxuLy9yZW3jgpLov5TjgZlcbkBmdW5jdGlvbiBnZXRyZW0oJHNpemUsICRiYXNlOiAxNikge1xuXHRAcmV0dXJuIG1hdGguZGl2KCRzaXplLCAkYmFzZSkgKyByZW07XG59XG5cbi8vbGluZS1oZWlnaHTjga5lbeOCkuioiOeul1xuQGZ1bmN0aW9uIGdldGxoZW0oJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG5cdEByZXR1cm4gbWF0aC5kaXYoJGxpbmUtaGVpZ2h0LCRmb250LXNpemUpICsgZW07XG59XG5cbi8vbGV0dGVyLXNwYWNpbmfjga5lbeOCkuioiOeul1xuQGZ1bmN0aW9uIGdldGxzZW0oJGZvbnQtc2l6ZSwgJHB4KSB7XG5cdEByZXR1cm4gbWF0aC5kaXYoJHB4LCRmb250LXNpemUpICsgZW07XG59IiwiQHVzZSBcIi4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuXG5AbWl4aW4gcGMge1xuICBAbWVkaWEgb25seSAje3ZhcnMuJHNjcmVlbl9wY30geyBAY29udGVudDsgfVxufVxuQG1peGluIHNwIHtcbiAgQG1lZGlhIG9ubHkgI3t2YXJzLiRzY3JlZW5fc3B9IHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiByZXNwKCRhdHIsICRwYywgJHNwKSB7XG4gIEBpbmNsdWRlIHBjIHsgI3skYXRyfTogJHBjOyB9XG4gIEBpbmNsdWRlIHNwIHsgI3skYXRyfTogJHNwOyB9XG59XG5cbkBtaXhpbiBob3ZlcntcbiAgQG1lZGlhKGhvdmVyOmhvdmVyKSB7XG4gICAgJjpob3ZlcntcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5oZWFkZXLnlKhcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBtaXhpbiBoZWFkZXJfcGMge1xuICBAbWVkaWEgb25seSAje3ZhcnMuJHNjcmVlbl9oZWFkZXJfcGN9IHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiBoZWFkZXJfc3Age1xuICBAbWVkaWEgb25seSAje3ZhcnMuJHNjcmVlbl9oZWFkZXJfc3B9IHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiBoZWFkZXJfcmVzcCgkYXRyLCAkcGMsICRzcCkge1xuICBAaW5jbHVkZSBoZWFkZXJfcGMgeyAjeyRhdHJ9OiAkcGM7IH1cbiAgQGluY2x1ZGUgaGVhZGVyX3NwIHsgI3skYXRyfTogJHNwOyB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi9tZWRpYVwiIGFzIG1lZGlhO1xuXG4vKlxu44Oh44OH44Kj44Ki44Kv44Ko44OqXG7oqJjov7DkvotcbmJvZHl7XG4gIEBpbmNsdWRlIG1peGluLm1zLXcoJ21heCcsMTIwMCl7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICB9XG59XG4qL1xuQG1peGluIG1zLXcoJG1heG1pbiwkdmFsKXtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKCN7JG1heG1pbn0td2lkdGg6I3skdmFsfXB4KXtcbiAgICBAY29udGVudDtcbiAgfTtcbn1cblxuLypcbuODleOCqeODvOODoOODquOCu+ODg+ODiFxuKi9cbkBtaXhpbiBmb3JtLXJlc2V0e1xuICBidXR0b24sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGNvbG9yOmluaGVyaXQ7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICBpbnB1dFt0eXBlPVwidXJsXCJdLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gIHRleHRhcmVhe1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cblxuLypcbklDT04gRk9OVFxuKi9cblxuQG1peGluIGljb25zLWZvbnR7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBtaXhpbiBpY29ucy14eyBjb250ZW50OiBcIlxcRUEwNFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtZmFjZWJvb2t7IGNvbnRlbnQ6IFwiXFxFQTA1XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1pbnN0YWdyYW17IGNvbnRlbnQ6IFwiXFxFQTA2XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy15b3V0dWJleyBjb250ZW50OiBcIlxcRUEwN1wiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtbGluZXsgY29udGVudDogXCJcXEVBMDhcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuXG5AbWl4aW4gZHJvcHNoYWRvd0ZyYW1lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3JkZXItcmFkaXVzOiAxLjZyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLDRyZW0sMi40cmVtIDEuNnJlbSk7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlMTIwMCk7XG4gICAgZmlsdGVyOiBibHVyKDEuNnJlbSk7XG4gICAgYm9yZGVyLXJhZGl1czogMS42cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuOHJlbTtcbiAgICBsZWZ0OiAwLjhyZW07XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlIHtcbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn0iLCJAdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcblxuLnRhYmxlLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS12dy1ub3NjcmJhcikgLSAodmFyKC0tdnctbm9zY3JiYXIpICogKDEgLSAwLjgyODEpIC8gMikpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS12dy1ub3NjcmJhcikgLSAoKHZhcigtLXZ3LW5vc2NyYmFyKSAtIGZ1bmMuZ2V0dncoMzQyKSkgLyAyKSk7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMyksIHRyYW5zcGFyZW50KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgfVxuXG4gICYuc2hhZG93LWxlZnQ6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuc2hhZG93LXJpZ2h0OjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAudGFibGUtaW5uZXIge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgIGN1cnNvcjogZ3JhYjtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgY3Vyc29yOiBncmFiO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgY3Vyc29yOiBncmFiYmluZztcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cbiAgfVxuICB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgIG1pbi13aWR0aDogMTA1LjZyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICAgIG1pbi13aWR0aDogMTA1LjZyZW07XG4gICAgfVxuICB9XG59IiwiW2NsYXNzXj1cImljb25zLVwiXSwgW2NsYXNzKj1cIiBpY29ucy1cIl17XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImljb25zXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbi5pY29ucy1hcnJvdy0xOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTAxXCIgfVxuLmljb25zLWFycm93LTI6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDJcIiB9XG4uaWNvbnMtc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTAzXCIgfVxuLmljb25zLWxhbmc6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDRcIiB9XG4uaWNvbnMtY2lyY2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDVcIiB9XG4uaWNvbnMtY2hlY2s6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDZcIiB9XG4uaWNvbnMtY2xvc2U6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDdcIiB9XG4uaWNvbnMtc2xhc2g6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDhcIiB9XG4uaWNvbnMtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDlcIiB9XG4uaWNvbnMtYmxhbms6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMEFcIiB9XG4uaWNvbnMtY2lyY2xlLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBCXCIgfVxuLmljb25zLWJsZGc6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMENcIiB9XG4uaWNvbnMtcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBEXCIgfVxuLmljb25zLWZsb3c6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMEVcIiB9XG4uaWNvbnMtcHJpemU6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMEZcIiB9XG4uaWNvbnMtZ2xvYmFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTEwXCIgfVxuLmljb25zLXN0cmVuZ3RoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTExXCIgfVxuLmljb25zLXRlbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExMlwiIH1cbi5pY29ucy1tYWlsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTEzXCIgfVxuLmljb25zLXdha2FiYTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExNFwiIH1cbi5pY29ucy1mYXE6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTVcIiB9XG4uaWNvbnMteDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExNlwiIH1cbi5pY29ucy1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExN1wiIH1cbi5pY29ucy1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogXCJcXEVBMThcIiB9XG4uaWNvbnMteW91dHViZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExOVwiIH1cbi5pY29ucy1saW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTFBXCIgfVxuXG5cbi8qXG5taXhpblxuKi9cblxuQG1peGluIGljb25zLWZvbnR7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImljb25zXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGljb25zLWFycm93LTEgeyBjb250ZW50OiBcIlxcRUEwMVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtYXJyb3ctMiB7IGNvbnRlbnQ6IFwiXFxFQTAyXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1zZWFyY2ggeyBjb250ZW50OiBcIlxcRUEwM1wiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtbGFuZyB7IGNvbnRlbnQ6IFwiXFxFQTA0XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1jaXJjbGUtcGx1cyB7IGNvbnRlbnQ6IFwiXFxFQTA1XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1jaGVjayB7IGNvbnRlbnQ6IFwiXFxFQTA2XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1jbG9zZSB7IGNvbnRlbnQ6IFwiXFxFQTA3XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1zbGFzaCB7IGNvbnRlbnQ6IFwiXFxFQTA4XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1kb3dubG9hZCB7IGNvbnRlbnQ6IFwiXFxFQTA5XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1ibGFuayB7IGNvbnRlbnQ6IFwiXFxFQTBBXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1jaXJjbGUtbWludXMgeyBjb250ZW50OiBcIlxcRUEwQlwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtYmxkZyB7IGNvbnRlbnQ6IFwiXFxFQTBDXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1wZW4geyBjb250ZW50OiBcIlxcRUEwRFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtZmxvdyB7IGNvbnRlbnQ6IFwiXFxFQTBFXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1wcml6ZSB7IGNvbnRlbnQ6IFwiXFxFQTBGXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1nbG9iYWwgeyBjb250ZW50OiBcIlxcRUExMFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtc3RyZW5ndGggeyBjb250ZW50OiBcIlxcRUExMVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtdGVsIHsgY29udGVudDogXCJcXEVBMTJcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLW1haWwgeyBjb250ZW50OiBcIlxcRUExM1wiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtd2FrYWJhIHsgY29udGVudDogXCJcXEVBMTRcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWZhcSB7IGNvbnRlbnQ6IFwiXFxFQTE1XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy14IHsgY29udGVudDogXCJcXEVBMTZcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWZhY2Vib29rIHsgY29udGVudDogXCJcXEVBMTdcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWluc3RhZ3JhbSB7IGNvbnRlbnQ6IFwiXFxFQTE4XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy15b3V0dWJlIHsgY29udGVudDogXCJcXEVBMTlcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWxpbmUgeyBjb250ZW50OiBcIlxcRUExQVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5cbiIsIkB1c2UgXCIuLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uL19mb3VuZGF0aW9uL2ljb25mb250XCIgYXMgaWNvbnM7XG5cbi8qXG4qXG5DVEEg44GK5ZWP5ZCI44Gb44CA44Oh44Or44Oe44KsXG4qXG4qL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmwtYWJvdXQtZG93bmxvYWR7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsOHJlbSw2LjRyZW0pO1xuICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcblxuICAmX19pbm5lcntcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheTEwMCk7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLDMuMnJlbSxmdW5jLmdldHZ3KDI0KSBmdW5jLmdldHZ3KDE2KSBmdW5jLmdldHZ3KDE2KSk7XG4gIH1cbiAgJl9fdGl0bGV7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXk5MDApO1xuICAgIGZvbnQtc2l6ZToxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgfVxuICAmX190ZXh0e1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5OTAwKTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzAlO1xuICAgICYtbm90ZXtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtaW5kZW50OiAtLjVlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogLjVlbTtcbiAgICB9XG4gICAgYXtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICBie1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbiAgJl9fdGl0bGUgKyAmX190ZXh0e1xuICAgIG1hcmdpbi10b3A6IC44cmVtO1xuICB9XG4gICZfX3RleHQgKyAmX190ZXh0e1xuICAgIG1hcmdpbi10b3A6IC44cmVtO1xuICB9XG4gICZfX3RleHQtLWNvb2tpZSArICZfX3RleHQtLWNvb2tpZXtcbiAgICBtYXJnaW4tdG9wOiAuOHJlbTtcbiAgfVxuICAmX19jb29raWV7XG4gICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLDEuNnJlbSxmdW5jLmdldHZ3KDE2KSk7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFNQXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fc3B9e1xuXG5cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFBDXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fcGN9e1xuXG5cbn1cbiIsIkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL2ljb25mb250XCIgYXMgaWNvbnM7XG5cbkB1c2UgXCIuLi8uLi9fbGF5b3V0L2Fib3V0LWRvd25sb2FkXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4ubC1wcm9kdWN0c19fc29mdHdhcmUtZG93bmxvYWQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheTkwMCk7XG4gIC5sLWFib3V0LWRvd25sb2FkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC5jLWNvbnRlbnRib3gge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gICYtaXRlbXMge1xuICAgIC5sLXByb2R1Y3RzX19zb2Z0d2FyZS1kb3dubG9hZC1pdGVtIHtcbiAgICAgICY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICAubC1wcm9kdWN0c19fc29mdHdhcmUtZG93bmxvYWQtaXRlbS1saW5rIHtcbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMy42cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDUuNnJlbTtcbiAgICAmLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgICAuY29sb3ItYmx1ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IDMuMnJlbTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDIuNHJlbTtcbiAgICAgIH1cbiAgICAgID4gbGkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyLjRyZW0gKiAyKSAvIDMpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyLjRyZW0gKiAxKSAvIDIpO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHsgbWFyZ2luLXRvcDogMS42cmVtOyB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgcGFkZGluZzogMS42cmVtIDA7XG4gICAgICAgICAgLmV4dCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQuMnJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWU5MDApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC4ycmVtIDAuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmMtcm91bmRidG5fX2ljb24ge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYWdlLW5hbWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuZGwtZG9jIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNnJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJiNjb21wcmVoZW5zaXZlLWNhdGFsb2ctZG93bmxvYWQge1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoNS42cmVtICsgNS42cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IC01LjZyZW07XG4gICAgfVxuICB9XG59IiwiQHVzZSBcIi4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuLmZvcm0tY29tbW9uLXN0eWxlIHtcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xuICAgICsgbGFiZWwge1xuICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTMwMCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzLGJvcmRlciAuMnM7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBAaW5jbHVkZSBpY29ucy5pY29ucy1jaGVjaztcbiAgICAgICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyx0cmFuc2Zvcm0gLjNzO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsdWU5MDApO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZTkwMCk7XG4gICAgICAmOjphZnRlcntcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICsgbGFiZWwge1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9pY29uZm9udFwiIGFzIGljb25zO1xuXG5AdXNlIFwiLi4vLi4vX2xheW91dC9mb3JtXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmwtcHJvZHVjdHNfX2xpc3Qge1xuICB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICB0ciB7XG4gICAgICB0aCwgdGQge1xuICAgICAgICAmLm5vd3JhcCB7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGVhZCB7XG4gICAgICB0ciB7XG4gICAgICAgIHRoIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDRyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheTgwMCk7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTYwMCk7XG4gICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgJjpudGgtY2hpbGQoMm4rMSkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7IH1cbiAgICAgICAgJjpudGgtY2hpbGQoMm4rMikgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5MjAwKTsgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTMwMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRkIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAubmV3IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcmVkOTAwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGFibGUtd3JhcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDRyZW07XG4gICAgfVxuICAgIHRhYmxlIHtcbiAgICAgIHRoZWFkIHRyIHRoLFxuICAgICAgdGJvZHkgdHIgdGQge1xuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGVhZCB0ciB0aCB7XG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5NjAwKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGJvZHkgdHIge1xuICAgICAgICAmOm50aC1jaGlsZCgybisxKSB0ZDpudGgtY2hpbGQoMSkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7IH1cbiAgICAgICAgJjpudGgtY2hpbGQoMm4rMikgdGQ6bnRoLWNoaWxkKDEpIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheTIwMCk7IH1cbiAgICAgICAgdGQge1xuICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheTMwMCk7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICByaWdodDogLTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9pY29uZm9udFwiIGFzIGljb25zO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmwtcHJvZHVjdHNfX2NvbXBhcmlzb24tc2VsZWN0IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXk5MDApO1xuICAmOm5vdCgub24pIHtcbiAgICBAaW5jbHVkZSBtaXhpbi5oaWRlO1xuICB9XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLDEuNnJlbSAwLCAyLjVyZW0gMCAyLjRyZW0pO1xuICB6LWluZGV4OiBjYWxjKHZhcigtLXotaW5kZXgtaGVhZGVyKSAvIDEwKTtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheTkwMCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDAuMTU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAuYy1jb250ZW50Ym94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICBtYXgtd2lkdGg6IDgwcmVtO1xuICAgIH1cbiAgfVxuICAmLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLmwtcHJvZHVjdHNfX2NvbXBhcmlzb24tc2VsZWN0LWxpc3QgeyB3aWR0aDogY2FsYygxMDAlIC0gMTByZW0pOyB9XG4gICAgICAubC1wcm9kdWN0c19fY29tcGFyaXNvbi1zZWxlY3QtbGluayB7IHdpZHRoOiAxMHJlbTsgfVxuICAgIH1cbiAgfVxuICAmLWxpc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGJvcmRlci1yYWRpdXMsMC44cmVtIDAgMCAwLjhyZW0sMC44cmVtIDAuOHJlbSAwIDApO1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZywgMi40cmVtIDIuNHJlbSAxLjhyZW0sIDEuNnJlbSk7XG4gICAgJl9faW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZ2FwLDEuNnJlbSwwIDIuNHJlbSk7XG4gICAgfVxuICAgICYtaXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMS42cmVtICogMykgLyA0KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyLjRyZW0pIC8gMik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICAmOm50aC1jaGlsZChuKzMpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY1MHB4KSBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyLjRyZW0gKiAzKSAvIDQpO1xuICAgICAgICBnYXA6IDAuOHJlbTtcbiAgICAgICAgJjpudGgtY2hpbGQobiszKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpub3QoLm9uKSB7XG4gICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyLjRyZW0gKiAzKSAvIDQpO1xuICAgICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2xvc2Uge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKHdpZHRoLDJyZW0sMS42cmVtKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChoZWlnaHQsMnJlbSwxLjZyZW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEucGMge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IC0wLjhyZW07XG4gICAgICAgICAgcmlnaHQ6IC0xLjNyZW07XG4gICAgICAgIH1cbiAgICAgICAgLmljb25zLWNsb3NlIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwwLjhyZW0sMC42cmVtKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS5ob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZTEwMDApO1xuICAgICAgICAgIC5pY29ucy1jbG9zZSB7XG4gICAgICAgICAgICBhbmltYXRpb246IGRvd24tb24gMC40NXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmaWd1cmUge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMDApO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWl4aW4uaGlkZTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEucGMgeyBtYXJnaW4tdG9wOiAwLjhyZW07IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi1saW5rIHtcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWU5MDApO1xuICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChib3JkZXItcmFkaXVzLDAgMC44cmVtIDAuOHJlbSAwLDAgMCAwLjhyZW0gMC44cmVtKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgQGluY2x1ZGUgbWVkaWEuc3AgeyBwYWRkaW5nOiAxLjJyZW0gMDsgfVxuICAgICAgLmlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5hcnJvdyB7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZTkwMCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEucGMgeyBtYXJnaW46IDAuOHJlbSBhdXRvIDA7IH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZTEwMDApO1xuICAgICAgICAuaWNvbnMtYXJyb3ctMSB7XG4gICAgICAgICAgYW5pbWF0aW9uOiBjaXJjbGVhcnJvdy1vbiAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmgzIHtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmIge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uYy1wcm9kdWN0cy1saW5rIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRyYW5zaXRpb246IDAuM3MgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMnJlbSArIDAuOHJlbSk7XG4gIEBpbmNsdWRlIG1lZGlhLmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZTkwMCk7XG4gICAgLmMtcm91bmRidG5fX2NpcmNsZWFycm93IHNwYW4ge1xuICAgICAgYW5pbWF0aW9uOiBjaXJjbGVhcnJvdy1vbiAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIH1cbiAgfVxuICAmLWFycm93IHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5jLXJvdW5kYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmX19pY29uIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEuaG92ZXIge1xuICAgIC5jLXJvdW5kYnRuX19pY29uIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBhbmltYXRpb246IGRvd24tb24gMC40NXMgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5zb2Z0d2FyZS1kb3dubG9hZCB7XG4gIHBhZGRpbmctdG9wOiAxMnJlbTtcbiAgbWFyZ2luLXRvcDogLTEycmVtO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmctYm90dG9tLDE1cmVtLDEwcmVtKTtcbiAgLmwtcHJvZHVjdHNfX3NvZnR3YXJlLWRvd25sb2FkIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICB9XG59IiwiQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5vdGhlci1wcm9kdWN0cyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5OTAwKTtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLXRvcCwxMHJlbSw4cmVtKTtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLWJvdHRvbSwxMHJlbSw4cmVtKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTJyZW07XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdmFyKC0tY29sb3ItYmx1ZTEwMCksIHZhcigtLWNvbG9yLXdoaXRlKSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gIC5jLW90aGVyLXByb2R1Y3RzLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgQGluY2x1ZGUgbWVkaWEucGMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMy4ycmVtO1xuICAgICAgLmMtb3RoZXItcHJvZHVjdHMtaXRlbSB7IHdpZHRoOiBjYWxjKCgxMDAlIC0gMy4ycmVtKSAvIDMpOyB9XG4gICAgfVxuICB9XG4gIC5jLW90aGVyLXByb2R1Y3RzIHtcbiAgICAmLWl0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbiAgICAgICAgLmMtcHJvZHVjdHMtbGluay1hcnJvdzIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDAuOHJlbSArIDEuMnJlbSAqIDIpO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAuaWNvbnMtYXJyb3ctMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZTkwMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmctdG9wLDAuMnJlbSwwLjI1cmVtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLmhvdmVyIHtcbiAgICAgICAgLmMtb3RoZXItcHJvZHVjdHMtaXRlbS10ZXh0IHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZTkwMCk7XG4gICAgICAgICAgLmMtcHJvZHVjdHMtbGluay1hcnJvdzIge1xuICAgICAgICAgICAgLmljb25zLWFycm93LTEge1xuICAgICAgICAgICAgICBhbmltYXRpb246IGNpcmNsZWFycm93LW9uIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtbGluayB7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLDRyZW0sNC44cmVtKTtcbiAgfVxufSIsIkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2ljb25mb250XCIgYXMgaWNvbnM7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uY2F0ZWdvcnktY2hpbGQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheTkwMCk7XG4gIHBhZGRpbmctdG9wOiA0cmVtO1xuICBtYXJnaW4tdG9wOiAtNHJlbTtcbiAgJl9faW5uZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsOHJlbSw2LjRyZW0pO1xuICB9XG4gICYtbGlzdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLDQuOHJlbSw0cmVtKTtcbiAgfVxuICAmLWl0ZW0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDQuOHJlbTtcbiAgICAgICYtaW1nIHsgd2lkdGg6IDQxLjY2JTsgfVxuICAgICAgJi10ZXh0IHsgd2lkdGg6IGNhbGMoMTAwJSAtIDQxLjY2JSAtIDQuOHJlbSk7IH1cbiAgICB9XG4gICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICBtYXJnaW4tdG9wOiA1LjZyZW07XG4gICAgfVxuICAgICYtaW1nIHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgIG1heC13aWR0aDogNjguNHJlbTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5zcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1uYW1lICsgJi1zdW1tYXJ5LFxuICAgICYtZmVhdHVyZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgfVxuICAgICYtc3VtbWFyeSxcbiAgICAmLWZlYXR1cmUge1xuICAgICAgPiBkdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMC44cmVtICsgMC45NXJlbSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMC44cmVtO1xuICAgICAgICAgIGhlaWdodDogMC44cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWU5MDApO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgID4gZGQge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgbWFyZ2luLXRvcDogMC44cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLWxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgICAgYSB7XG4gICAgICAgIHdpZHRoOiAyNHJlbTtcbiAgICAgICAgaGVpZ2h0OiA1LjZyZW07XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3AgeyBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2ljb25mb250XCIgYXMgaWNvbnM7XG5cbkB1c2UgXCIuLi9pbmRleF9zdHlsZXMvY2F0ZWdvcnktY2hpbGRcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5jYXRlZ29yeS1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiA0cmVtO1xuICBtYXJnaW4tdG9wOiAtNHJlbTtcbiAgJl9faW5uZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsNi40cmVtLDQuOHJlbSk7XG4gIH1cbiAgJi1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICYtaXRlbSB7XG4gICAgQGluY2x1ZGUgbWVkaWEucGMge1xuICAgICAgZ2FwOiA5cmVtO1xuICAgICAgJi1pbWcgeyB3aWR0aDogNDEuNjYlOyB9XG4gICAgICAmLXRleHQgeyB3aWR0aDogY2FsYygxMDAlIC0gNDEuNjYlIC0gOXJlbSk7IH1cbiAgICB9XG4gIH1cbn0iLCJAdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9pY29uZm9udFwiIGFzIGljb25zO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmMtYW5jaG9yLW5hdiB7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsOHJlbSw2LjRyZW0pO1xufSIsIkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2ljb25mb250XCIgYXMgaWNvbnM7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4ubGluZXVwLWxpc3Qge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheTkwMCk7XG4gICZfX2lubmVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmctdG9wLDhyZW0sNi40cmVtKTtcbiAgICBAaW5jbHVkZSBtZWRpYS5zcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTByZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMy42cmVtO1xuICAgIH1cbiAgfVxuICAmX19tZXNzYWdlIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gIH1cbiAgLmwtcHJvZHVjdHNfX2xpbmV1cC10YWJsZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLDEuNnJlbSwycmVtKTtcbiAgfVxuICAmX19ub3RlcyB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsMi40cmVtLDJyZW0pO1xuICB9XG4gICsgLnNvZnR3YXJlLWRvd25sb2FkIHtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsM3JlbSwyLjRyZW0pO1xuICB9XG59IiwiQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5hY2Nlc3NvcmllcyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5OTAwKTtcbiAgcGFkZGluZy10b3A6IDRyZW07XG4gIG1hcmdpbi10b3A6IC00cmVtO1xuICAmX19pbm5lciB7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLXRvcCwxNXJlbSwxMHJlbSk7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLWJvdHRvbSwxNXJlbSwxMHJlbSk7XG4gICAgJi5kdW1teSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgLmMtYWNjZXNzb3JpZXMge1xuICAgICYtbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIH1cbiAgICAmLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEucGMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDQuOHJlbTtcbiAgICAgICAgJi1pbWcgeyB3aWR0aDogMzMuMzMlOyB9XG4gICAgICAgICYtdGV4dCB7IHdpZHRoOiBjYWxjKDEwMCUgLSAzMy4zMyUgLSA0LjhyZW0pOyB9XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNS42cmVtO1xuICAgICAgfVxuICAgICAgJi1pbWcge1xuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjguNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgIH1cbiAgICAgICAgPiAqOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gICAgICAgIH1cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5NTAwKTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICArIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC44cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50YWJsZS13cmFwIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnRhYmxlLWlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEucGMge1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgIHRoLHRke1xuICAgICAgICAgICAgICAmLm5vd3JhcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXk4MDApO1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5NjAwKTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTMwMCk7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC0xZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRhYmxlLXdyYXAge1xuICAgICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICAgICAgICAgICAgbWluLXdpZHRoOiA1MHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9pY29uZm9udFwiIGFzIGljb25zO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmNhdGVnb3J5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZTEwMCk7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsOS42cmVtLDhyZW0pO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmctYm90dG9tLDkuNXJlbSw4cmVtKTtcbiAgJi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheTkwMCk7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLDRyZW0sNC44cmVtKTtcbiAgfVxufSJdfQ== */