@charset "UTF-8";
@media (max-width: 1130px) {
  html {
    /* ==========================================================================================
       ■■■■■■■■■■ Element ■■■■■■■■■■
    ========================================================================================== */
    /* ==========================================================================================
       ■■■■■■■■■■ Header ■■■■■■■■■■
    ========================================================================================== */
  }
  html #main_container > header #header_container {
    padding-right: 15px;
    padding-left: 15px;
  }
  html {
    /* ==========================================================================================
       ■■■■■■■■■■ Main ■■■■■■■■■■
    ========================================================================================== */
  }
  html #main_container > main > header {
    padding-right: 15px;
    padding-left: 15px;
  }
  html #main_container > main #body_container {
    padding-right: 15px;
    padding-left: 15px;
  }
  html #main_container > main #local_nav {
    padding-right: 15px;
    padding-left: 15px;
  }
  html #main_container > main #local_nav ul {
    display: flex;
    flex-wrap: wrap;
  }
  html #main_container > main #local_nav ul li:first-child {
    padding-left: 10px;
  }
  html #main_container > main #local_nav ul li {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  html #main_container > main #local_nav ul li:last-child {
    padding-right: 10px;
  }
  html {
    /* ===== ■■■■■■■■■■ お問い合わせ ■■■■■■■■■■ ====== */
  }
  html body[class*=body_inquiry] #main_container > main div[class*=horizontal] {
    flex-direction: row;
  }
  html body[class*=body_inquiry] #main_container > main div[class*=horizontal] .horizontal_column {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  html body[class*=body_inquiry] #main_container > main div[class*=horizontal] .horizontal_column:first-of-type {
    padding-left: 0 !important;
  }
  html body[class*=body_inquiry] #main_container > main div[class*=horizontal] .horizontal_column:last-of-type {
    padding-right: 0 !important;
  }
  html {
    /* ========== ■■■■■■■■■■ 汎用スタイル ■■■■■■■■■■ ========== */
  }
  html div[class*=horizontal] .horizontal_column {
    padding-right: 10px;
    padding-left: 10px;
  }
  html {
    /* ==========================================================================================
       ■■■■■■■■■■ Footer ■■■■■■■■■■
    ========================================================================================== */
  }
  html #main_container > main > footer {
    padding-right: 15px;
    padding-left: 15px;
  }
  html #main_container > main > footer #footer_container > .footer_container_column address {
    font-size: 0.96rem;
  }
  html #main_container > main > footer #footer_container > .footer_container_column a {
    color: #ffffff;
  }
}
@media (max-width: 767px) {
  html {
    /* ==========================================================================================
       ■■■■■■■■■■ Element ■■■■■■■■■■
    ========================================================================================== */
  }
  html a:hover {
    opacity: 1;
  }
  html table tbody tr th, html table tbody tr td {
    display: block;
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
  }
  html table tbody tr th, html table tbody tr td {
    border-bottom: none;
  }
  html table tbody tr:last-of-type td {
    border-bottom: solid 1px #999999;
  }
  html #sp_navi {
    z-index: 2000;
  }
  html #sp_navi a {
    display: block;
    width: 24px;
    height: 22px;
    margin-left: auto;
    position: relative;
  }
  html #sp_navi a::before, html #sp_navi a::after, html #sp_navi a > strong {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background-color: #333333;
    position: absolute;
    transition: linear 200ms all;
  }
  html #sp_navi a::before {
    top: 0;
    left: 0;
  }
  html #sp_navi a::after {
    bottom: 0;
    right: 0;
  }
  html #sp_navi a > strong {
    top: 50%;
    transform: translate3d(0, -50%, 0);
  }
  html #sp_navi a:hover {
    opacity: 1;
  }
  html #sp_navi a.selected::before {
    background-color: #ffffff;
    top: 50%;
    transform: translate(0, -50%) rotate(-45deg);
  }
  html #sp_navi a.selected::after {
    background-color: #ffffff;
    bottom: 50%;
    transform: translate(0, 50%) rotate(45deg);
  }
  html #sp_navi a.selected > strong {
    opacity: 0;
  }
  html #sp_drawer_menu {
    display: none;
    overflow: auto;
    background-color: #000000;
    position: absolute;
    padding: 45px 25px;
    height: 100dvh;
    top: 0;
    width: 100%;
    z-index: 1000;
    transition: linear 200ms all;
    color: #ffffff;
  }
  html #sp_drawer_menu #sp_drawer_menu_container {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  html #sp_drawer_menu #sp_drawer_menu_container #sp_drawer_menu_list {
    flex: 1;
    font-size: 1.152rem;
  }
  html #sp_drawer_menu #sp_drawer_menu_container > footer .footer_container_column h1 a {
    display: block;
  }
  html #sp_drawer_menu #sp_drawer_menu_container > footer .footer_container_column h1 a img {
    display: block;
    max-width: 350px;
    width: 70%;
    height: auto;
  }
  html #sp_drawer_menu #sp_drawer_menu_container > footer .footer_container_column address {
    font-style: normal;
    font-size: 0.896rem;
    line-height: 1.5;
    margin-top: 25px;
  }
  html #sp_drawer_menu ul {
    list-style-type: none;
  }
  html #sp_drawer_menu ul li {
    margin: 10px 0;
  }
  html #sp_drawer_menu ul li a {
    color: #ffffff;
    text-decoration: none;
    display: block;
  }
  html #sp_drawer_menu #sp_drawer_menu_close a {
    display: block;
    margin: 0 0 20px auto;
    width: 30px;
    height: 30px;
    position: relative;
  }
  html #sp_drawer_menu #sp_drawer_menu_close a::before, html #sp_drawer_menu #sp_drawer_menu_close a::after {
    content: "";
    display: block;
    position: absolute;
    width: 30px;
    height: 4px;
    background-color: #666666;
    top: 50%;
    transition: linear 150ms all;
  }
  html #sp_drawer_menu #sp_drawer_menu_close a::before {
    transform: rotate(-45deg);
  }
  html #sp_drawer_menu #sp_drawer_menu_close a::after {
    transform: rotate(45deg);
  }
  html #sp_drawer_menu #sp_drawer_menu_close a.selected::before, html #sp_drawer_menu #sp_drawer_menu_close a.selected::after {
    background-color: #328859;
  }
  html #main_container.open_sp_drawer_menu {
    overflow: hidden;
  }
  html {
    /* ==========================================================================================
       ■■■■■■■■■■ Header ■■■■■■■■■■
    ========================================================================================== */
  }
  html #main_container > header {
    height: 60px;
  }
  html #main_container > header #header_container {
    min-height: 60px;
  }
  html #main_container > header #header_container h1 img {
    width: auto;
    max-height: 30px;
  }
  html #main_container > header #header_container #global_nav {
    display: none;
  }
  html .body_index #main_container > header {
    z-index: auto;
  }
  html {
    /* ==========================================================================================
       ■■■■■■■■■■ Main ■■■■■■■■■■
    ========================================================================================== */
  }
  html #main_container > main h2 {
    font-size: 1.088rem;
    font-weight: normal;
  }
  html #main_container > main h2 span[lang=en] {
    font-size: 2.56rem;
  }
  html #main_container > main > header {
    height: 230px;
  }
  html #main_container > main #body_container h3 {
    font-size: 1.28rem;
    padding-left: 35px;
  }
  html #main_container > main #body_container h3::before {
    background-size: contain;
    top: 6px;
    width: 26px;
    height: 26px;
  }
  html #main_container > main #body_container img {
    width: 100%;
    height: auto;
  }
  html #main_container > main #local_nav {
    padding: 30px 15px;
  }
  html #main_container > main #local_nav ul {
    display: block;
  }
  html #main_container > main #local_nav ul li:first-child {
    padding-left: 0;
  }
  html #main_container > main #local_nav ul li {
    display: block;
    padding: 10px 0;
  }
  html #main_container > main #local_nav ul li a {
    justify-content: flex-start;
  }
  html #main_container > main #local_nav ul li:last-child {
    padding-right: 0;
  }
  html {
    /* ===== ■■■■■■■■■■ 設置例 ■■■■■■■■■■ ====== */
  }
  html #main_container > main #installation_list {
    flex-direction: column;
  }
  html #main_container > main #installation_list li {
    width: 100%;
  }
  html #main_container > main #installation_list li:nth-child(even) {
    padding-left: 0;
  }
  html #main_container > main #installation_list li:nth-child(odd) {
    padding-right: 0;
  }
  html {
    /* ===== ■■■■■■■■■■ Index ■■■■■■■■■■ ====== */
  }
  html .body_index #sp_navi a::before, html .body_index #sp_navi a::after, html .body_index #sp_navi a > strong {
    background-color: #ffffff;
  }
  html #slide_show {
    aspect-ratio: auto;
    height: 100dvh;
  }
  html #slide_show img {
    width: auto;
    height: 100%;
    object-fit: cover;
  }
  html #slide_show .bx-wrapper .bx-viewport .slider > div {
    height: 100% !important;
  }
  html #slide_corp_container {
    width: 100%;
  }
  html #slide_corp_container #slide_corp_wrapper {
    width: 100%;
  }
  html #slide_corp_container #slide_corp_wrapper img {
    width: 75%;
    margin: auto;
  }
  html #slide_corp_container #slide_corp_wrapper h2 {
    font-size: 0.96rem;
    margin-top: 20px;
  }
  html {
    /* ===== ■■■■■■■■■■ 会社概要 ■■■■■■■■■■ ====== */
  }
  html body[class*=body_company] #main_container > main #body_container #greeting_container {
    flex-direction: column;
    margin-top: 0;
  }
  html body[class*=body_company] #main_container > main #body_container #greeting_container .greeting_columns {
    padding: 20px 0;
  }
  html body[class*=body_company] #main_container > main #body_container #greeting_container .greeting_columns h4 {
    font-size: 1.152rem;
  }
  html body[class*=body_company] #main_container > main #body_container #greeting_container #ceo_image img {
    width: auto;
    margin: auto;
  }
  html body[class*=body_company] #main_container > main #body_container #greeting_container #ceo_image p:last-of-type {
    display: table;
    margin: 10px auto;
  }
  html body[class*=body_company] #main_container > main #body_container #greeting_container #ceo_sign {
    font-size: 1.152rem;
  }
  html body[class*=body_company] #main_container > main #body_container #greeting_container #ceo_sign strong {
    font-size: 0.768rem;
  }
  html body[class*=body_company] #main_container > main #body_container #eccj2000_container {
    background: none;
  }
  html body[class*=body_company] #main_container > main #body_container #history table tbody tr th {
    padding: 15px 10px 5px;
  }
  html body[class*=body_company] #main_container > main #body_container #history table tbody tr td {
    border-top: none;
    padding: 5px 10px 15px;
  }
  html body[class*=body_company] #main_container > main #body_container #article_nav {
    font-size: 1.024rem;
  }
  html body[class*=body_company] #main_container > main #body_container #article_nav ul {
    padding: 0;
  }
  html body[class*=body_company] #main_container > main #body_container #article_nav ul li a {
    padding-left: 15px !important;
  }
  html {
    /* ===== ■■■■■■■■■■ お問い合わせ ■■■■■■■■■■ ====== */
  }
  html body[class*=body_inquiry] #main_container > main #inquiry_complete_container {
    padding: 20px;
  }
  html body[class*=body_inquiry] #main_container > main #inquiry_complete_container h3 {
    line-height: 1.5;
  }
  html body[class*=body_inquiry] #main_container > main div[class*=horizontal] {
    flex-direction: row;
  }
  html body[class*=body_inquiry] #main_container > main div[class*=horizontal] .horizontal_column {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  html body[class*=body_inquiry] #main_container > main div[class*=horizontal] .horizontal_column:first-of-type {
    padding-left: 0 !important;
  }
  html body[class*=body_inquiry] #main_container > main div[class*=horizontal] .horizontal_column:last-of-type {
    padding-right: 0 !important;
  }
  html {
    /* ========== ■■■■■■■■■■ 汎用スタイル ■■■■■■■■■■ ========== */
  }
  html .list {
    font-size: 0.896rem;
  }
  html div[class*=horizontal] {
    flex-direction: column;
  }
  html div[class*=horizontal] .horizontal_column {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  html .results_list {
    flex-direction: column;
  }
  html .results_list li {
    width: 100%;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  html .results_list li a .results_thumbs {
    margin: auto;
  }
  html .results_list li a .results_thumbs img {
    height: 100% !important;
  }
  html .pagination {
    font-size: 1.024rem;
  }
  html .pagination ul {
    padding-right: 74px;
    padding-left: 74px;
  }
  html .pagination ul li {
    padding: 2px;
  }
  html .pagination ul li strong, html .pagination ul li a {
    width: 35px;
    height: 35px;
  }
  html {
    /* ==========================================================================================
       ■■■■■■■■■■ Footer ■■■■■■■■■■
    ========================================================================================== */
  }
  html #main_container > main > footer {
    padding-top: 30px;
  }
  html #main_container > main > footer #footer_container {
    flex-direction: column;
    align-items: flex-start;
  }
  html #main_container > main > footer #footer_container > .footer_container_column h1 {
    width: 75%;
    margin-bottom: 30px;
  }
  html #main_container > main > footer #footer_container > .footer_container_column h1 img {
    width: 100%;
    height: auto;
    display: block;
  }
  html #main_container > main > footer #footer_container > .footer_container_column address {
    text-align: left;
    font-size: 0.896rem;
    padding: 0;
  }
  html #main_container > main > footer #footer_container #page_top {
    right: -10px;
  }
  html #main_container > main > footer small {
    font-size: 0.768rem;
    text-align: left;
    margin: 15px 0;
    padding-left: 0;
  }
  html {
    /* ==========================================================================================
       ■■■■■■■■■■ Common Class ■■■■■■■■■■
    ========================================================================================== */
  }
}
/* ==========================================================================================
   ■■■■■■■■■■ Element ■■■■■■■■■■
========================================================================================== */
* {
  margin: 0;
  padding: 0;
  border: none;
  box-sizing: border-box;
}

html,
body {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "游ゴシック体", "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif;
  line-height: 1.75;
  /* display: flex;
  flex-direction: column; */
  height: 100%;
}

a {
  color: #000000;
  transition: all 200ms linear;
}

a:hover {
  opacity: 0.5;
}

p + p {
  margin: 30px 0;
}

h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p {
  margin-top: 15px;
}

table {
  border-collapse: collapse;
  width: 100%;
}
table tbody tr th, table tbody tr td {
  border: solid 1px #999999;
  padding: 15px 20px;
}
table tbody tr th {
  text-align: left;
  font-weight: 500;
  background-color: #e8eefa;
  white-space: nowrap;
  width: 20%;
}
table tbody tr td {
  width: 80%;
}
table tbody tr td .horizontal li {
  padding: 5px 15px 5px 0;
}

label.required {
  vertical-align: middle;
}

label.required::after {
  content: "必須";
  font-size: 0.64rem;
  color: #ffffff;
  background-color: #ff000f;
  line-height: 1;
  margin-left: 5px;
  padding: 0 8px;
  border-radius: 30px;
}

input[type=text], input[type=email], input[type=tel], select, textarea {
  background-color: #efefef;
  border-radius: 5px;
  padding: 10px;
  color: #000000;
  -webkit-appearance: none;
}

textarea {
  width: 100%;
  min-height: 150px;
}

.error input[type=text], .error input[type=email], .error input[type=tel], .error select, .error textarea {
  background-color: #ffd9d9;
}

input[type=submit], button {
  cursor: pointer;
  transition: all 200ms linear;
}

input[type=submit]:hover, button:hover {
  opacity: 0.5;
}

#main_container {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* ==========================================================================================
   ■■■■■■■■■■ Header ■■■■■■■■■■
========================================================================================== */
#main_container > header {
  font-size: 0.96rem;
  width: 100%;
}
#main_container > header #header_container {
  width: 100%;
  max-width: 1100px;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
}
#main_container > header #header_container h1 {
  padding-right: 10px;
}
#main_container > header #header_container h1 a, #main_container > header #header_container h1 img {
  display: block;
}
#main_container > header #header_container nav {
  padding-left: 10px;
  flex: 1;
}
#main_container > header #header_container nav ul {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
#main_container > header #header_container nav ul li {
  border-right: solid 1px #444444;
}
#main_container > header #header_container nav ul li a {
  display: block;
  padding: 0 20px;
  text-decoration: none;
  line-height: 1;
}

/* ===== ■■■■■■■■■■ Index ■■■■■■■■■■ ====== */
.body_index #main_container > header {
  position: absolute;
  z-index: 10;
}
.body_index #main_container > header #header_container h1 {
  display: none;
}
.body_index #main_container > header #header_container nav ul li {
  border-right: solid 1px #ffffff;
}
.body_index #main_container > header #header_container nav ul li a {
  color: #ffffff;
}

/* ==========================================================================================
   ■■■■■■■■■■ Main ■■■■■■■■■■
========================================================================================== */
#main_container > main {
  flex: 1;
  overflow: auto;
}
#main_container > main h2 {
  color: #ffffff;
  font-size: 1.6rem;
  line-height: 1.25;
  font-weight: 500;
}
#main_container > main h2 span[lang=en] {
  display: block;
  font-size: 3.84rem;
  font-weight: bold;
  margin-bottom: 5px;
}
#main_container > main > header {
  height: 340px;
  display: flex;
  align-items: center;
  background: #eeeeee url("../images/bg_common.jpg") no-repeat center center;
  background-size: cover;
}
#main_container > main > header h2 {
  width: 100%;
  max-width: 1100px;
  margin: auto;
}
#main_container > main #body_container {
  width: 100%;
  max-width: 1100px;
  margin: auto;
  font-size: 0.96rem;
}
#main_container > main #body_container .body_block {
  margin: 60px 0;
}
#main_container > main #body_container h3 {
  font-size: 1.92rem;
  position: relative;
  margin: 20px 0;
  padding-left: 45px;
  font-weight: normal;
}
#main_container > main #body_container h3::before {
  content: "";
  display: block;
  width: 34px;
  height: 34px;
  background: url("../images/ico_mhead.png") no-repeat center center;
  position: absolute;
  top: 10px;
  left: 0;
}
#main_container > main #body_container h4 {
  background-color: #328859;
  color: #ffffff;
  font-size: 1.28rem;
  border-radius: 10px 0 10px 0/10px 0 10px 0;
  font-weight: normal;
  margin-bottom: 20px;
  padding: 5px 15px;
  line-height: 1.5;
}
#main_container > main #body_container h5 {
  font-size: 1.152rem;
  font-weight: 500;
  margin-bottom: 20px;
  padding: 5px 0;
  line-height: 1.5;
  border-bottom: dotted 1px #328859;
}
#main_container > main #body_container ul {
  list-style-type: none;
  margin: 5px 0 5px 30px;
}
#main_container > main #body_container ul li {
  position: relative;
  margin: 10px 0;
}
#main_container > main #body_container ul li:first-child {
  margin-top: 0;
}
#main_container > main #body_container ul li:last-child {
  margin-bottom: 0;
}
#main_container > main #body_container ul li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-right: solid 2px #328859;
  border-bottom: solid 2px #328859;
  position: absolute;
  top: 10px;
  left: -20px;
  transform: rotate(-45deg);
}
#main_container > main #local_nav {
  background-color: #ececec;
  padding: 60px 0;
}
#main_container > main #local_nav ul {
  list-style-type: none;
  max-width: 1100px;
  margin: auto;
  display: table;
}
#main_container > main #local_nav ul li {
  padding: 0 10px;
  display: table-cell;
  vertical-align: middle;
}
#main_container > main #local_nav ul li a {
  display: flex;
  background-color: #ffffff;
  border-radius: 5px;
  min-width: 260px;
  min-height: 60px;
  position: relative;
  padding: 5px 35px;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  line-height: 1.25;
}
#main_container > main #local_nav ul li a::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-right: solid 2px #328859;
  border-bottom: solid 2px #328859;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%) rotate(-45deg);
  margin-top: 1px;
}
#main_container > main #local_nav ul li:first-child {
  padding-left: 0;
}
#main_container > main #local_nav ul li:last-child {
  padding-right: 0;
}

/* ===== ■■■■■■■■■■ Index ■■■■■■■■■■ ====== */
#slide_show {
  height: 100dvh;
  position: fixed;
  z-index: -1;
  top: 0;
}
#slide_show img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#slide_show .bx-wrapper {
  box-shadow: none;
  border: none;
  background: transparent;
  margin-bottom: 0;
  height: 100dvh;
}
#slide_show .bx-wrapper .bx-viewport {
  height: 100dvh !important;
}
#slide_show .bx-wrapper .bx-viewport .slider {
  height: 100dvh;
}
#slide_show .bx-wrapper .bx-viewport .slider > div {
  height: 100dvh;
}

#slide_show::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  transition: all 200ms linear;
}

.body_index:has(#news_container .list.inview) #slide_show::after {
  background-color: rgba(0, 0, 0, 0.7);
}

#slide_corp_container {
  width: 100%;
  height: 100dvh;
  position: relative;
}
#slide_corp_container #slide_corp_wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
}
#slide_corp_container #slide_corp_wrapper img {
  width: auto;
  display: block;
}
#slide_corp_container #slide_corp_wrapper h2 {
  font-family: "Noto Serif JP", "Yu Mincho Medium", "游明朝 Medium", "Yu Mincho", "游明朝", "游明朝体", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HGP明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  text-align: center;
  font-weight: 500;
  font-size: 1.28rem;
  line-height: 1.5;
  margin-top: 35px;
}

#news_container {
  padding: 100px 10px;
}
#news_container #news_container_wrap {
  width: 100%;
  max-width: 1100px;
  margin: auto;
  color: #ffffff;
}
#news_container #news_container_wrap a {
  color: #ffffff;
}
#news_container #news_container_wrap ul {
  margin-top: 60px;
}

/* ===== ■■■■■■■■■■ Single, Page ■■■■■■■■■■ ====== */
.body_detail #main_container main #body_container {
  margin: 70px auto;
}

/* ===== ■■■■■■■■■■ Results ■■■■■■■■■■ ====== */
#results_thumbs_container {
  margin: 30px 0;
}
#results_thumbs_container img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: auto;
}

#results_info_table {
  margin-top: 70px;
}

#results_map {
  margin-top: 20px;
  min-height: 300px;
}

/* ===== ■■■■■■■■■■ 設置例 ■■■■■■■■■■ ====== */
#main_container > main #installation_list {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  margin: 40px 0 60px;
}
#main_container > main #installation_list li {
  width: 50%;
  padding-bottom: 20px;
}
#main_container > main #installation_list li h3 {
  padding-left: 0;
  font-weight: 500;
  font-size: 1.152rem;
  border-bottom: dotted 1px #328859;
  margin-bottom: 15px;
  padding-bottom: 5px;
}
#main_container > main #installation_list li h3::before {
  display: none;
}
#main_container > main #installation_list li:nth-child(even) {
  padding-left: 20px;
}
#main_container > main #installation_list li:nth-child(odd) {
  padding-right: 20px;
}

/* ===== ■■■■■■■■■■ 風力発電 ■■■■■■■■■■ ====== */
body[class*=body_wind] #main_container > main > header {
  background: #eeeeee url("../images/bg_wind.jpg") no-repeat center center;
  background-size: cover;
}

/* ===== ■■■■■■■■■■ 会社概要 ■■■■■■■■■■ ====== */
body[class*=body_company] #main_container > main > header {
  background: #eeeeee url("../images/bg_company.jpg") no-repeat center center;
  background-size: cover;
}
body[class*=body_company] #main_container > main #body_container #greeting_container {
  margin: 30px 0;
  display: flex;
}
body[class*=body_company] #main_container > main #body_container #greeting_container .greeting_columns {
  padding: 0 20px;
}
body[class*=body_company] #main_container > main #body_container #greeting_container .greeting_columns h4 {
  font-family: "Noto Serif JP", "Yu Mincho Medium", "游明朝 Medium", "Yu Mincho", "游明朝", "游明朝体", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HGP明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 1.5rem;
  font-weight: 500;
  background-color: transparent;
  color: #000000;
  padding: 0;
}
body[class*=body_company] #main_container > main #body_container #greeting_container .greeting_columns:first-of-type {
  padding-left: 0;
}
body[class*=body_company] #main_container > main #body_container #greeting_container .greeting_columns:last-of-type {
  padding-right: 0;
}
body[class*=body_company] #main_container > main #body_container #greeting_container #ceo_image p {
  margin: 0;
}
body[class*=body_company] #main_container > main #body_container #greeting_container #ceo_image p img {
  display: block;
}
body[class*=body_company] #main_container > main #body_container #greeting_container #ceo_image p:last-of-type {
  margin-top: 10px;
  font-size: 1.5rem;
  line-height: 1.25;
}
body[class*=body_company] #main_container > main #body_container #greeting_container #ceo_image p:last-of-type strong {
  display: block;
  font-weight: normal;
  font-size: 0.9rem;
}
body[class*=body_company] #main_container > main #body_container #greeting_container #ceo_sign {
  text-align: right;
  font-size: 1.5rem;
  line-height: 1.25;
}
body[class*=body_company] #main_container > main #body_container #greeting_container #ceo_sign strong {
  font-weight: normal;
  font-size: 0.9rem;
  margin-right: 20px;
}
body[class*=body_company] #main_container > main #body_container #eccj2000_container {
  margin: 40px 0;
  background: url("../images/img_company01.jpg") no-repeat center left;
  background-size: contain;
  height: 300px;
}
body[class*=body_company] #main_container > main #body_container #eccj2000_container #eccj2000_block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #000000;
  max-width: 400px;
  height: 100%;
  margin-left: auto;
  color: #ffffff;
}
body[class*=body_company] #main_container > main #body_container #eccj2000_container #eccj2000_block #eccj2000_block_wrapper {
  font-family: "Noto Serif JP", "Yu Mincho Medium", "游明朝 Medium", "Yu Mincho", "游明朝", "游明朝体", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HGP明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-weight: 500;
}
body[class*=body_company] #main_container > main #body_container #eccj2000_container #eccj2000_block #eccj2000_block_wrapper p {
  margin: 10px 0;
  text-align: center;
  line-height: 1.5;
}
body[class*=body_company] #main_container > main #body_container #eccj2000_container #eccj2000_block #eccj2000_block_wrapper p img {
  display: block;
  margin: auto;
}
body[class*=body_company] #main_container > main #body_container #eccj2000_container #eccj2000_block #eccj2000_block_wrapper p time {
  font-size: 0.9rem;
}
body[class*=body_company] #main_container > main #body_container #eccj2000_container #eccj2000_block #eccj2000_block_wrapper p strong {
  font-size: 0.96rem;
  font-weight: normal;
}
body[class*=body_company] #main_container > main #body_container #eccj2000_container #eccj2000_block #eccj2000_block_wrapper p em {
  font-style: normal;
  font-size: 1.2rem;
}
body[class*=body_company] #main_container > main #body_container #history {
  margin: 30px 0;
}
body[class*=body_company] #main_container > main #body_container #history table tbody tr th, body[class*=body_company] #main_container > main #body_container #history table tbody tr td {
  border-right: none;
  border-left: none;
}
body[class*=body_company] #main_container > main #body_container #history table tbody tr th {
  background-color: transparent;
}

/* ===== ■■■■■■■■■■ お問い合わせ ■■■■■■■■■■ ====== */
body[class*=body_inquiry] #main_container > main > header {
  background: #eeeeee url("../images/bg_inquiry.jpg") no-repeat center center;
  background-size: cover;
}
body[class*=body_inquiry] #main_container > main #inquiry_read {
  margin-bottom: 30px;
}
body[class*=body_inquiry] #main_container > main #inquiry_complete_container {
  padding: 30px;
  border: solid 1px #999999;
}
body[class*=body_inquiry] #main_container > main #inquiry_complete_container h3 {
  text-align: center;
  padding-left: 0;
  font-size: 1.6rem;
}
body[class*=body_inquiry] #main_container > main #inquiry_complete_container h3::before {
  display: none;
}

/* ===== ■■■■■■■■■■ 新着情報 ■■■■■■■■■■ ====== */
body[class*=body_news] #main_container > main > header {
  background: #eeeeee url("../images/bg_company.jpg") no-repeat center center;
  background-size: cover;
}
body[class*=body_news] #main_container > main #body_container > time {
  display: block;
  text-align: right;
}
body[class*=body_news] #main_container > main #body_container #body_news_container {
  margin: 60px 0;
}

/* ========== ■■■■■■■■■■ 汎用スタイル ■■■■■■■■■■ ========== */
.list {
  list-style-type: none;
}
.list li {
  margin: 20px 0;
}
.list li a, .list li strong {
  text-decoration: none;
  display: flex;
  width: 100%;
  align-items: center;
  min-height: 60px;
  font-weight: normal;
}
.list li a .list_head, .list li strong .list_head {
  border-right: solid 1px #ffffff;
  min-height: 60px;
  display: flex;
  align-items: center;
  padding-right: 20px;
}
.list li a .list_content, .list li strong .list_content {
  min-height: 60px;
  display: flex;
  align-items: center;
  padding-left: 20px;
}

ul[class*=horizontal], ol[class*=horizontal] {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0 !important;
}
ul[class*=horizontal] li, ol[class*=horizontal] li {
  margin: 0 !important;
  padding: 10px 20px;
}
ul[class*=horizontal] li .next, ol[class*=horizontal] li .next {
  margin-left: 0;
}
ul[class*=horizontal] li::before, ol[class*=horizontal] li::before {
  display: none !important;
}

div[class*=horizontal] {
  display: flex;
}
div[class*=horizontal] .horizontal_column {
  flex: 1;
  padding: 10px 20px;
  display: block;
}
div[class*=horizontal] .horizontal_column:first-of-type {
  padding-left: 0;
}
div[class*=horizontal] .horizontal_column:last-of-type {
  padding-right: 0;
}

div[class*=horizontal].horizontal_center {
  justify-content: center;
}
div[class*=horizontal].horizontal_center .horizontal_column {
  flex: none;
}

.next {
  position: relative;
  margin-left: 20px;
  padding-bottom: 5px;
  text-decoration: none;
  border-bottom: solid 1px #000000;
}

.next::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-right: solid 2px #328859;
  border-bottom: solid 2px #328859;
  position: absolute;
  top: 9px;
  left: -20px;
  transform: rotate(-45deg);
}

.results_list {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 70px 0 !important;
}
.results_list li {
  width: 33.3333333333%;
  padding: 10px;
}
.results_list li a {
  display: block;
  text-decoration: none;
  overflow: hidden;
}
.results_list li a .results_thumbs {
  overflow: hidden;
  aspect-ratio: 3/2;
  height: 240px;
}
.results_list li a .results_thumbs img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 200ms linear;
}
.results_list li a .results_desc {
  padding: 15px 0;
}
.results_list li a .results_desc h3 {
  padding-left: 0 !important;
  font-size: 0.96rem !important;
  color: #328859;
  display: inline;
  border-bottom: solid 1px #328859;
}
.results_list li a .results_desc h3::before {
  display: none !important;
}
.results_list li a .results_desc p {
  margin: 0;
}
.results_list li a .results_desc .construction_date {
  padding: 5px 0;
}
.results_list li a:hover {
  opacity: 1;
}
.results_list li a:hover .results_thumbs img {
  transform: scale(1.1);
}
.results_list li:first-child {
  margin-top: 10px !important;
}
.results_list li:first-child, .results_list li:nth-child(3n+1) {
  padding-left: 0;
}
.results_list li:nth-child(3n) {
  padding-right: 0;
}
.results_list li::before {
  display: none !important;
}

.pagination {
  margin: 70px 0;
  font-size: 1.28rem;
}
.pagination ul {
  display: flex;
  list-style-type: none;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding-right: 110px;
  padding-left: 110px;
}
.pagination ul li {
  margin: 0 !important;
  padding: 5px;
}
.pagination ul li a, .pagination ul li strong {
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 500;
}
.pagination ul li a {
  border: solid 1px #ececec;
  background-color: #ffffff;
}
.pagination ul li strong {
  border: solid 1px #328859;
  background-color: #328859;
  color: #ffffff;
}
.pagination ul li::before {
  display: none !important;
}
.pagination ul .next {
  margin-left: 0;
  border-bottom: none;
}
.pagination ul .next::before {
  display: none;
}
.pagination ul:has(.prev_extend) {
  padding-left: 0;
}
.pagination ul:has(.next_extend) {
  padding-right: 0;
}

#article_nav {
  margin: 80px 0;
  font-size: 1.28rem;
  font-weight: 500;
}
#article_nav ul {
  list-style-type: none;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding-right: 53px;
  padding-left: 53px;
}
#article_nav ul li {
  margin: 0 !important;
  padding: 5px;
}
#article_nav ul li a {
  display: flex;
  min-width: 45px;
  min-height: 45px;
  border-radius: 5px;
  border: solid 1px #ececec;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 5px 30px;
  line-height: 1.5;
}
#article_nav ul li a .notes {
  display: block;
  text-align: right;
  font-size: 0.768rem;
  font-weight: normal;
}
#article_nav ul li a:has(.notes) {
  flex-direction: column;
  align-items: flex-end;
}
#article_nav ul li:first-child {
  padding-left: 0;
}
#article_nav ul li:last-child {
  padding-right: 0;
}
#article_nav ul li::before {
  display: none !important;
}
#article_nav ul .article_next, #article_nav ul .article_prev {
  font-size: 0.96rem;
  font-weight: bold;
}
#article_nav ul .article_next a, #article_nav ul .article_prev a {
  padding: 5px 15px;
}
#article_nav ul:has(.article_next) {
  padding-right: 0;
}
#article_nav ul:has(.article_prev) {
  padding-left: 0;
}

.list_style_no {
  list-style-type: none !important;
  margin-left: 0 !important;
}

.button {
  display: flex;
  align-items: center;
  justify-content: center;
}
.button a, .button input[type=submit], .button button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  min-height: 60px;
  border-radius: 10px;
  border: solid 1px #ececec;
  text-decoration: none;
  margin: 70px auto;
  padding: 10px 35px;
  background-color: #ffffff;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  font-size: 1.024rem;
  font-weight: 500;
  line-height: 1.5;
  color: #000000;
  -webkit-appearance: none;
}

.button a:hover, .button input[type=submit]:hover, .button button:hover {
  opacity: 1;
  color: #ffffff;
  background-color: #c0c0c0;
}

.next_button a, .next_button input[type=submit], .next_button button {
  position: relative;
}

.next_button a::after, .next_button input[type=submit]::after, .next_button button::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-right: solid 2px #328859;
  border-bottom: solid 2px #328859;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0, -50%) rotate(-45deg);
  transition: all linear 200ms;
}

.next_button a:hover::after, .next_button input[type=submit]:hover::after, .next_button button:hover::after {
  border-right: solid 2px #ffffff;
  border-bottom: solid 2px #ffffff;
}

.prev_button a, .prev_button input[type=submit], .prev_button button {
  position: relative;
}

.prev_button a::after, .prev_button input[type=submit]::after, .prev_button button::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-left: solid 2px #328859;
  border-bottom: solid 2px #328859;
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translate(0, -50%) rotate(45deg);
  transition: all linear 200ms;
}

.prev_button a:hover::after, .prev_button input[type=submit]:hover::after, .prev_button button:hover::after {
  border-left: solid 2px #ffffff;
  border-bottom: solid 2px #ffffff;
}

.error_message {
  color: #ff000f;
  font-size: 0.768rem;
  margin: 5px 0;
  padding-left: 15px;
  position: relative;
}

.error_message::before {
  content: "※";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.pdf {
  padding-right: 50px !important;
  background: url("../images/ico_pdf.png") no-repeat right 13px center;
  background-size: 24px;
}

#article_nav ul li .pdf {
  padding-left: 50px !important;
}

/* ==========================================================================================
   ■■■■■■■■■■ Footer ■■■■■■■■■■
========================================================================================== */
#main_container > main > footer {
  font-size: 0.96rem;
  color: #ffffff;
  background-color: #328859;
  padding: 60px 10px 10px;
}
#main_container > main > footer #footer_container {
  width: 100%;
  max-width: 1100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  position: relative;
}
#main_container > main > footer #footer_container > .footer_container_column {
  flex: 1;
}
#main_container > main > footer #footer_container > .footer_container_column h1 a {
  display: block;
}
#main_container > main > footer #footer_container > .footer_container_column address {
  display: block;
  text-align: right;
  font-style: normal;
  font-size: 1.024rem;
}
#main_container > main > footer #footer_container #page_top {
  position: absolute;
  right: 0;
  bottom: -50px;
}
#main_container > main > footer #footer_container #page_top a {
  display: block;
  width: 40px;
  height: 40px;
  position: relative;
  background-color: #ffffff;
  text-decoration: none;
}
#main_container > main > footer #footer_container #page_top a::after {
  content: "";
  color: #328859;
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: solid 1px #328859;
  border-right: solid 1px #328859;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  margin-top: 5px;
}
#main_container > main > footer small {
  text-align: center;
  display: block;
  margin-top: 30px;
  padding: 0 40px;
  font-size: 0.896rem;
  line-height: 1.25;
}

/* ==========================================================================================
   ■■■■■■■■■■ Common Class ■■■■■■■■■■
========================================================================================== */
.center {
  text-align: center !important;
}

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

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

.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.alignright {
  display: block;
  margin-left: auto;
}

.alignleft {
  display: block;
  margin-right: auto;
}

.leftbox, .imgleft {
  float: left;
  padding-right: 10px;
}

.rightbox, .imgright {
  float: right;
  padding-left: 10px;
}

.clear {
  clear: both;
}

/**************************************************
 Margin Class
 **************************************************/
.m0 {
  margin: 0px !important;
}

.m5 {
  margin: 5px !important;
}

.m10 {
  margin: 10px !important;
}

.m15 {
  margin: 15px !important;
}

.m20 {
  margin: 20px !important;
}

.m25 {
  margin: 25px !important;
}

.m30 {
  margin: 30px !important;
}

.m35 {
  margin: 35px !important;
}

.m40 {
  margin: 40px !important;
}

.m45 {
  margin: 45px !important;
}

.m50 {
  margin: 50px !important;
}

.m55 {
  margin: 55px !important;
}

.m60 {
  margin: 60px !important;
}

.m65 {
  margin: 65px !important;
}

.m70 {
  margin: 70px !important;
}

.m75 {
  margin: 75px !important;
}

.m80 {
  margin: 80px !important;
}

.m85 {
  margin: 85px !important;
}

.m90 {
  margin: 90px !important;
}

.m95 {
  margin: 95px !important;
}

.m100 {
  margin: 100px !important;
}

.mt0 {
  margin-top: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mr85 {
  margin-right: 85px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mr95 {
  margin-right: 95px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.ml85 {
  margin-left: 85px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.ml95 {
  margin-left: 95px !important;
}

.ml100 {
  margin-left: 100px !important;
}

/**************************************************
 Padding Class
 **************************************************/
.p0 {
  padding: 0px !important;
}

.p5 {
  padding: 5px !important;
}

.p10 {
  padding: 10px !important;
}

.p15 {
  padding: 15px !important;
}

.p20 {
  padding: 20px !important;
}

.p25 {
  padding: 25px !important;
}

.p30 {
  padding: 30px !important;
}

.p35 {
  padding: 35px !important;
}

.p40 {
  padding: 40px !important;
}

.p45 {
  padding: 45px !important;
}

.p50 {
  padding: 50px !important;
}

.p55 {
  padding: 55px !important;
}

.p60 {
  padding: 60px !important;
}

.p65 {
  padding: 65px !important;
}

.p70 {
  padding: 70px !important;
}

.p75 {
  padding: 75px !important;
}

.p80 {
  padding: 80px !important;
}

.p85 {
  padding: 85px !important;
}

.p90 {
  padding: 90px !important;
}

.p95 {
  padding: 95px !important;
}

.p100 {
  padding: 100px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pr65 {
  padding-right: 65px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pr75 {
  padding-right: 75px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pr85 {
  padding-right: 85px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pr95 {
  padding-right: 95px !important;
}

.pr100 {
  padding-right: 100px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pl65 {
  padding-left: 65px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.pl75 {
  padding-left: 75px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.pl85 {
  padding-left: 85px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.pl95 {
  padding-left: 95px !important;
}

.pl100 {
  padding-left: 100px !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl90YWJsZXQuc2NzcyIsIl92YXJpYWJsZS5zY3NzIiwiX3NwLnNjc3MiLCJzdHlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUE7RUFFSTtBQUVKO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTs7RUFLWTtJQUNJLGVDWks7SURhTCxjQ2JLOztFREpqQjtBQXVCSjtBQUFBO0FBQUE7O0VBS1k7SUFDSSxlQ3pCSztJRDBCTCxjQzFCSzs7RUQ2QlQ7SUFDSSxlQzlCSztJRCtCTCxjQy9CSzs7RURrQ1Q7SUFDSSxlQ25DSztJRG9DTCxjQ3BDSzs7RURzQ0w7SUFDSTtJQUNBOztFQUVBO0lBQ0k7O0VBRUo7SUFDSTtJQUNBOztFQUVKO0lBQ0k7O0VBdERwQjtBQThESjs7RUFLb0I7SUFDSTs7RUFFQTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQTlFeEI7QUF5Rko7O0VBR1k7SUFDSTtJQUNBOztFQTlGWjtBQW9HSjtBQUFBO0FBQUE7O0VBSVE7SUFDSSxlQ3JHUztJRHNHVCxjQ3RHUzs7RUQwR0Q7SUFDSTs7RUFHSjtJQUNJOzs7QUVySHhCO0VBRUk7QUFFSjtBQUFBO0FBQUE7O0VBSVE7SUFDSTs7RUFNUTtJQUNJO0lBQ0E7SUFDQTtJQUNBOztFQUVKO0lBQ0k7O0VBSUo7SUFDSTs7RUFNaEI7SUFDSTs7RUFFQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUo7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7SUFDQTtJQUNBOztFQUVKO0lBQ0k7SUFDQTtJQUNBOztFQUVKO0lBQ0k7O0VBSVI7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7RUFNUTtJQUNJOztFQUVBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7O0VBS1o7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7RUFNaEI7SUFDSTs7RUFFQTtJQUNJOztFQUVBO0lBQ0k7SUFDQTtJQUNBOztFQU1SO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0ksa0JEaktQOztFQ3NLTDtJQUNJOztFQTdLUjtBQW9MSjtBQUFBO0FBQUE7O0VBSVE7SUFDSSxRRDFMTzs7RUM0TFA7SUFDSSxZRDdMRzs7RUNnTUM7SUFDSTtJQUNBOztFQUlSO0lBQ0k7O0VBTVI7SUFDSTs7RUE3TVo7QUFtTko7QUFBQTtBQUFBOztFQU1ZO0lBQ0k7SUFDQTs7RUFFQTtJQUNJOztFQUlSO0lBQ0k7O0VBSUE7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBOztFQUlSO0lBQ0k7O0VBRUE7SUFDSTs7RUFFQTtJQUNJOztFQUVKO0lBQ0k7SUFDQTs7RUFFQTtJQUNJOztFQUdSO0lBQ0k7O0VBMVFwQjtBQWtSSjs7RUFJZ0I7SUFDSTs7RUFFQTtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFoU3BCO0FBd1NKOztFQUlnQjtJQUNJOztFQUtaO0lBQ0k7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7SUFDQTs7RUFNUTtJQUNJOztFQU9wQjtJQUNJOztFQUVBO0lBQ0k7O0VBRUE7SUFDSTtJQUNBOztFQUdKO0lBQ0k7SUFDQTs7RUFwVmhCO0FBMlZKOztFQU13QjtJQUNJO0lBQ0E7O0VBRUE7SUFDSTs7RUFFQTtJQUNJOztFQUtKO0lBQ0k7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7O0VBSVI7SUFDSTs7RUFFQTtJQUNJOztFQUtaO0lBQ0k7O0VBT1k7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7O0VBT3BCO0lBQ0k7O0VBRUE7SUFDSTs7RUFHSTtJQUNJOztFQTlacEM7QUEwYUo7O0VBS29CO0lBQ0k7O0VBRUE7SUFDSTs7RUFJUjtJQUNJOztFQUVBO0lBQ0k7SUFDQTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBbGN4QjtBQTZjSjs7RUFFUTtJQUNJOztFQUdKO0lBQ0k7O0VBRUE7SUFDSTtJQUNBOztFQUlSO0lBQ0k7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7O0VBR0k7SUFDSTs7RUFFQTtJQUNJOztFQU9wQjtJQUNJOztFQUVBO0lBQ0k7SUFDQTs7RUFFQTtJQUNJOztFQUVBO0lBQ0k7SUFDQTs7RUE1ZnBCO0FBbWdCSjtBQUFBO0FBQUE7O0VBSVE7SUFDSTs7RUFFQTtJQUNJO0lBQ0E7O0VBR0k7SUFDSTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBOztFQUlSO0lBQ0k7SUFDQTtJQUNBOztFQUlSO0lBQ0k7O0VBSVI7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7RUExaUJaO0FBaWpCSjtBQUFBO0FBQUE7OztBQ2pqQkE7QUFBQTtBQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7QUFDQTtBQUFBO0VBRUE7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTs7O0FBSUE7RUFDSTs7O0FBSUo7RUFDSTs7O0FBSVI7RUFDSTtFQUNBOztBQUlRO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFHSTtFQUNJOzs7QUFReEI7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBSUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBS0o7QUFBQTtBQUFBO0FBSUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQSxXRmxJSTtFRW1JSixZRmxJUTtFRW1JUjtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFTeEI7QUFHSTtFQUNJO0VBQ0E7O0FBR0k7RUFDSTs7QUFLSTtFQUNJOztBQUVBO0VBQ0k7OztBQVk1QjtBQUFBO0FBQUE7QUFJQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0EsV0Z4T0E7RUV5T0E7O0FBSVI7RUFDSTtFQUNBLFdGL09JO0VFZ1BKO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0ksa0JGalFDO0VFa1FEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS1o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQSxXRmhVQTtFRWlVQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR1I7RUFDSTs7QUFFSjtFQUNJOzs7QUFRaEI7QUFFQTtFQUVJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFFQTtFQUNJOzs7QUFNcEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7O0FBRUE7RUFDSTtFQUNBLFdGdGNJO0VFdWNKO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOzs7QUFPWjtBQUtZO0VBQ0k7OztBQVFoQjtBQUVBO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFLSjtBQUlRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7O0FBR1I7RUFDSTs7QUFFSjtFQUNJOzs7QUFRaEI7QUFLWTtFQUNJO0VBQ0E7OztBQVFoQjtBQUtZO0VBQ0k7RUFDQTs7QUFJQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJOztBQUVKO0VBQ0k7O0FBSUE7RUFDSTs7QUFFQTtFQUNJOztBQUdSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUtaO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBT3BCO0VBQ0k7O0FBS1k7RUFDSTtFQUNBOztBQUVKO0VBQ0k7OztBQWFwQztBQUtZO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOzs7QUFTcEI7QUFLWTtFQUNJO0VBQ0E7O0FBSUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7OztBQVVwQjtBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR1I7RUFDSTs7O0FBSVI7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7OztBQUdSO0VBQ0k7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQSxPRnAzQlA7RUVxM0JPO0VBQ0E7O0FBRUo7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBSVo7RUFDSTs7QUFHSTtFQUNJOztBQUtoQjtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0Esa0JGOTdCSDtFRSs3Qkc7O0FBR1I7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFHUjtFQUNJOztBQUVKO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJO0VBQ0E7O0FBR1I7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBSVo7RUFDSTs7QUFFSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBOzs7QUFLSjtFQUNJOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFLUTtFQUNJOzs7QUFRaEI7QUFBQTtBQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0Esa0JGL3BDUztFRWdxQ1Q7O0FBRUE7RUFDSTtFQUNBLFdGN3FDSTtFRThxQ0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdJO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0EsT0Yzc0NIO0VFNHNDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1SO0FBQUE7QUFBQTtBQUlBO0VBQVU7OztBQUNWO0VBQVM7OztBQUNUO0VBQVE7OztBQUNSO0VBQWU7RUFBZ0I7RUFBb0I7OztBQUNuRDtFQUFjO0VBQWdCOzs7QUFDOUI7RUFBYTtFQUFnQjs7O0FBRTdCO0VBQW9CO0VBQWE7OztBQUNqQztFQUFzQjtFQUFjOzs7QUFDcEM7RUFBUzs7O0FBR1Q7QUFBQTtBQUFBO0FBS0U7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBQWQ7RUFBYzs7O0FBSWQ7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBSWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBSWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBSWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBQWY7RUFBZTs7O0FBSWpCO0FBQUE7QUFBQTtBQUtFO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUFkO0VBQWM7OztBQUlkO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUlmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUlmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUlmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWU7OztBQUFmO0VBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICd2YXJpYWJsZScgQVMgdjtcclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiB2LiRtYXhfd2lkdGggKyB2LiRyZXNwb250aXZlX3BhZGRpbmcgKiAyKSB7XHJcbiAgICBcclxuICAgIGh0bWwge1xyXG4gICAgICAgIFxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagIEVsZW1lbnQg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICBcclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCBIZWFkZXIg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgICAgICAjbWFpbl9jb250YWluZXI+aGVhZGVyIHtcclxuICAgICAgICAgICAgI2hlYWRlcl9jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdi4kcmVzcG9udGl2ZV9wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2LiRyZXNwb250aXZlX3BhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICBcclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCBNYWluIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgICAgICAgI21haW5fY29udGFpbmVyPm1haW4ge1xyXG4gICAgICAgICAgICA+IGhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2LiRyZXNwb250aXZlX3BhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHYuJHJlc3BvbnRpdmVfcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgI2JvZHlfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHYuJHJlc3BvbnRpdmVfcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdi4kcmVzcG9udGl2ZV9wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAjbG9jYWxfbmF2IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHYuJHJlc3BvbnRpdmVfcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdi4kcmVzcG9udGl2ZV9wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgbGk6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsaTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuXHJcbi8qID09PT09IOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCDjgYrllY/jgYTlkIjjgo/jgZsg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagID09PT09PSAqL1xyXG5cclxuICAgICAgICBib2R5W2NsYXNzKj1cImJvZHlfaW5xdWlyeVwiXSB7XHJcbiAgICAgICAgICAgICNtYWluX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICA+IG1haW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpdltjbGFzcyo9XCJob3Jpem9udGFsXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5ob3Jpem9udGFsX2NvbHVtbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaG9yaXpvbnRhbF9jb2x1bW46Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaG9yaXpvbnRhbF9jb2x1bW46bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKiA9PT09PT09PT09IOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCDmsY7nlKjjgrnjgr/jgqTjg6sg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagID09PT09PT09PT0gKi9cclxuXHJcbiAgICAgICAgZGl2W2NsYXNzKj1cImhvcml6b250YWxcIl0ge1xyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbF9jb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgRm9vdGVyIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgICAgICAgI21haW5fY29udGFpbmVyPm1haW4+Zm9vdGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdi4kcmVzcG9udGl2ZV9wYWRkaW5nO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHYuJHJlc3BvbnRpdmVfcGFkZGluZztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICNmb290ZXJfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgID4gLmZvb3Rlcl9jb250YWluZXJfY29sdW1uIHtcclxuICAgICAgICAgICAgICAgICAgICBhZGRyZXNzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjk2cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiXHJcbiRtYXhfd2lkdGg6IDExMDBweDtcclxuJGhlYWRlcl9oZWlnaHQ6IDEwMHB4O1xyXG4kaGVhZGVyX3NwX2hlaWdodDogNjBweDtcclxuXHJcbiR0YWJsZXRfd2lkdGg6IDk2MHB4O1xyXG4kc3Bfd2lkdGg6IDc2N3B4O1xyXG5cclxuJHJlc3BvbnRpdmVfcGFkZGluZzogMTVweDtcclxuXHJcbiRtYWluX2NvbG9yOiAjMzI4ODU5OyIsIkB1c2UgJ3ZhcmlhYmxlJyBBUyB2O1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IHYuJHNwX3dpZHRoKSB7XHJcbiAgICBcclxuICAgIGh0bWwge1xyXG4gICAgICAgIFxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagIEVsZW1lbnQg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gICAgICAgIFxyXG4gICAgICAgIGE6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICM5OTk5OTk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICNzcF9uYXZpIHtcclxuICAgICAgICAgICAgei1pbmRleDogMjAwMDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGE6OmJlZm9yZSwgYTo6YWZ0ZXIsIGE+c3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGxpbmVhciAyMDBtcyBhbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYT5zdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGE6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhLnNlbGVjdGVkOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYS5zZWxlY3RlZDo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKSByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEuc2VsZWN0ZWQ+c3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICNzcF9kcmF3ZXJfbWVudSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQ1cHggMjVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGxpbmVhciAyMDBtcyBhbGw7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgI3NwX2RyYXdlcl9tZW51X2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgI3NwX2RyYXdlcl9tZW51X2xpc3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1MnJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPiBmb290ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5mb290ZXJfY29udGFpbmVyX2NvbHVtbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44OTZyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICNzcF9kcmF3ZXJfbWVudV9jbG9zZSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGE6OmJlZm9yZSwgYTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGxpbmVhciAxNTBtcyBhbGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYS5zZWxlY3RlZDo6YmVmb3JlLCBhLnNlbGVjdGVkOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdi4kbWFpbl9jb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAjbWFpbl9jb250YWluZXIub3Blbl9zcF9kcmF3ZXJfbWVudSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICBcclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCBIZWFkZXIg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgICAgICAjbWFpbl9jb250YWluZXI+aGVhZGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiB2LiRoZWFkZXJfc3BfaGVpZ2h0O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgI2hlYWRlcl9jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogdi4kaGVhZGVyX3NwX2hlaWdodDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaDEge1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgI2dsb2JhbF9uYXYge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmJvZHlfaW5kZXgge1xyXG4gICAgICAgICAgICAjbWFpbl9jb250YWluZXI+aGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICBcclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCBNYWluIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgICAgICAgI21haW5fY29udGFpbmVyPm1haW4ge1xyXG4gICAgXHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wODhyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG5cclxuICAgICAgICAgICAgICAgIHNwYW5bbGFuZz1cImVuXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNTZyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICA+IGhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAjYm9keV9jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yOHJlbTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoMzo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgI2xvY2FsX25hdiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IHYuJHJlc3BvbnRpdmVfcGFkZGluZztcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGxpOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsaTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuXHJcbi8qID09PT09IOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCDoqK3nva7kvosg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagID09PT09PSAqL1xyXG5cclxuICAgICAgICAjbWFpbl9jb250YWluZXIge1xyXG4gICAgICAgICAgICA+IG1haW4ge1xyXG4gICAgICAgICAgICAgICAgI2luc3RhbGxhdGlvbl9saXN0IHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsaTpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGxpOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcblxyXG5cclxuLyogPT09PT0g4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagIEluZGV4IOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCA9PT09PT0gKi9cclxuICAgICAgICBcclxuICAgICAgICAuYm9keV9pbmRleCB7XHJcbiAgICAgICAgICAgICNzcF9uYXZpIHtcclxuICAgICAgICAgICAgICAgIGE6OmJlZm9yZSwgYTo6YWZ0ZXIsIGE+c3Ryb25nIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAjc2xpZGVfc2hvdyB7XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XHJcbiAgICBcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAuYngtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAuYngtdmlld3BvcnQge1xyXG4gICAgICAgICAgICAgICAgICAgIC5zbGlkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICNzbGlkZV9jb3JwX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgI3NsaWRlX2NvcnBfd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjk2cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuXHJcbi8qID09PT09IOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCDkvJrnpL7mpoLopoEg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagID09PT09PSAqL1xyXG4gICAgXHJcbiAgICAgICAgYm9keVtjbGFzcyo9XCJib2R5X2NvbXBhbnlcIl0ge1xyXG4gICAgICAgICAgICAjbWFpbl9jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgPiBtYWluIHtcclxuICAgICAgICAgICAgICAgICAgICAjYm9keV9jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAjZ3JlZXRpbmdfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ3JlZXRpbmdfY29sdW1ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1MnJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNjZW9faW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHA6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Nlb19zaWduIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTUycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NjhyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAjZWNjajIwMDBfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICNoaXN0b3J5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHggNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHggMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgI2FydGljbGVfbmF2IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wMjRyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblxyXG5cclxuLyogPT09PT0g4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagIOOBiuWVj+OBhOWQiOOCj+OBmyDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgPT09PT09ICovXHJcblxyXG4gICAgICAgIGJvZHlbY2xhc3MqPVwiYm9keV9pbnF1aXJ5XCJdIHtcclxuICAgICAgICAgICAgI21haW5fY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgID4gbWFpbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgI2lucXVpcnlfY29tcGxldGVfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgZGl2W2NsYXNzKj1cImhvcml6b250YWxcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmhvcml6b250YWxfY29sdW1uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5ob3Jpem9udGFsX2NvbHVtbjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5ob3Jpem9udGFsX2NvbHVtbjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qID09PT09PT09PT0g4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagIOaxjueUqOOCueOCv+OCpOODqyDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgPT09PT09PT09PSAqL1xyXG5cclxuICAgICAgICAubGlzdCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44OTZyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXZbY2xhc3MqPVwiaG9yaXpvbnRhbFwiXSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbF9jb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yZXN1bHRzX2xpc3Qge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLnJlc3VsdHNfdGh1bWJzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucGFnaW5hdGlvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wMjRyZW07XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3NHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3NHB4O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9uZywgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCBGb290ZXIg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgICAgICAjbWFpbl9jb250YWluZXI+bWFpbj5mb290ZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICNmb290ZXJfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPiAuZm9vdGVyX2NvbnRhaW5lcl9jb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGFkZHJlc3Mge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODk2cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgI3BhZ2VfdG9wIHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NjhyZW07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCBDb21tb24gQ2xhc3Mg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5AdXNlICdsaWJzJztcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgRWxlbWVudCDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4qIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2FucyBKUFwiLCBcIll1IEdvdGhpYyBNZWRpdW1cIiwgXCLmuLjjgrTjgrfjg4Pjgq8gTWVkaXVtXCIsIFwiWXUgR290aGljXCIsIFwi5ri444K044K344OD44KvXCIsIFwi5ri444K044K344OD44Kv5L2TXCIsIFwi44Oh44Kk44Oq44KqXCIsIFwiTWVpcnlvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFByb04gVzNcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBcIk1TIFAgR290aGljXCIsIFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcbiAgICBsaW5lLWhlaWdodDogMS43NTtcclxuICAgIC8qIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAqL1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjtcclxufVxyXG5hOmhvdmVyIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxucCB7XHJcbiAgICArIHAge1xyXG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgfVxyXG59XHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgKyBwIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBcclxuICAgIHRib2R5IHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjOTk5OTk5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZWVmYTtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC5ob3Jpem9udGFsIHtcclxuICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxubGFiZWwucmVxdWlyZWQge1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5sYWJlbC5yZXF1aXJlZDo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJ+W/hemgiCc7XHJcbiAgICBmb250LXNpemU6IDAuNjRyZW07XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMGY7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICBwYWRkaW5nOiAwIDhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIHNlbGVjdCwgdGV4dGFyZWEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBjb2xvcjogIzAwMDAwMDtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy9pUGhvbmXnibnmnInjgqLjg5TjgqLjg6njg7Pjgrnjga7nhKHlirnljJZcclxufVxyXG50ZXh0YXJlYSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xyXG59XHJcblxyXG4uZXJyb3Ige1xyXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgc2VsZWN0LCB0ZXh0YXJlYSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDlkOTtcclxuICAgIH1cclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgYnV0dG9uIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XHJcbn1cclxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgYnV0dG9uOmhvdmVyIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuI21haW5fY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgSGVhZGVyIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiNtYWluX2NvbnRhaW5lcj5oZWFkZXIge1xyXG4gICAgZm9udC1zaXplOiAwLjk2cmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBcclxuICAgICNoZWFkZXJfY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IGxpYnMuJG1heF93aWR0aDtcclxuICAgICAgICBtaW4taGVpZ2h0OiBsaWJzLiRoZWFkZXJfaGVpZ2h0O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYSwgaW1nIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIG5hdiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggIzQ0NDQ0NDtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PSDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgSW5kZXgg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagID09PT09PSAqL1xyXG5cclxuLmJvZHlfaW5kZXgge1xyXG4gICAgI21haW5fY29udGFpbmVyID4gaGVhZGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgI2hlYWRlcl9jb250YWluZXIge1xyXG4gICAgICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBuYXYge1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgTWFpbiDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4jbWFpbl9jb250YWluZXI+bWFpbiB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBcclxuICAgIGgyIHtcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHNwYW5bbGFuZz1cImVuXCJdIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy44NHJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgID4gaGVhZGVyIHtcclxuICAgICAgICBoZWlnaHQ6IDM0MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlIHVybChcIi4uL2ltYWdlcy9iZ19jb21tb24uanBnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBsaWJzLiRtYXhfd2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICNib2R5X2NvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBsaWJzLiRtYXhfd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45NnJlbTtcclxuICAgICAgICBcclxuICAgICAgICAuYm9keV9ibG9jayB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNjBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjkycmVtO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzNHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29fbWhlYWQucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWJzLiRtYWluX2NvbG9yO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI4cmVtO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMTBweCAwLzEwcHggMCAxMHB4IDA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNTJyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4IGxpYnMuJG1haW5fY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDVweCAzMHB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGk6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGk6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggbGlicy4kbWFpbl9jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCBsaWJzLiRtYWluX2NvbG9yO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTIwcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAjbG9jYWxfbmF2IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xyXG4gICAgICAgIHBhZGRpbmc6IDYwcHggMDtcclxuICAgICAgICBcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBsaWJzLiRtYXhfd2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAzNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBsaWJzLiRtYWluX2NvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCBsaWJzLiRtYWluX2NvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGk6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKiA9PT09PSDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgSW5kZXgg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagID09PT09PSAqL1xyXG5cclxuI3NsaWRlX3Nob3cge1xyXG4gICAgLy9hc3BlY3QtcmF0aW86IDE2Lzk7XHJcbiAgICBoZWlnaHQ6IDEwMGR2aDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgXHJcbiAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmJ4LXdyYXBwZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmJ4LXZpZXdwb3J0IHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDBkdmggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5zbGlkZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMGR2aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4jc2xpZGVfc2hvdzo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XHJcbn1cclxuLmJvZHlfaW5kZXg6aGFzKCNuZXdzX2NvbnRhaW5lciAubGlzdC5pbnZpZXcpIHtcclxuICAgICNzbGlkZV9zaG93OjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4jc2xpZGVfY29ycF9jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMGR2aDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIFxyXG4gICAgI3NsaWRlX2NvcnBfd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICB6LWluZGV4OiAxMDA7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZiBKUFwiLCBcIll1IE1pbmNobyBNZWRpdW1cIiwgXCLmuLjmmI7mnJ0gTWVkaXVtXCIsIFwiWXUgTWluY2hvXCIsIFwi5ri45piO5pydXCIsIFwi5ri45piO5pyd5L2TXCIsIFwi44OS44Op44Ku44OO5piO5pydIFByb04gVzZcIiwgXCJIaXJhTWluUHJvTi1XNlwiLCBcIkhHUOaYjuacnUVcIiwgXCLvvK3vvLMg77yw5piO5pydXCIsIFwiTVMgUE1pbmNob1wiLCBcIk1TIOaYjuacnVwiLCBzZXJpZjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjhyZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jbmV3c19jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMTAwcHggMTBweDtcclxuICAgIFxyXG4gICAgI25ld3NfY29udGFpbmVyX3dyYXAge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogbGlicy4kbWF4X3dpZHRoO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICBcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyogPT09PT0g4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagIFNpbmdsZSwgUGFnZSDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgPT09PT09ICovXHJcblxyXG4uYm9keV9kZXRhaWwge1xyXG4gICAgI21haW5fY29udGFpbmVyIHtcclxuICAgICAgICBtYWluIHtcclxuICAgICAgICAgICAgI2JvZHlfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogNzBweCBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAgICBcclxufVxyXG5cclxuXHJcblxyXG4vKiA9PT09PSDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgUmVzdWx0cyDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgPT09PT09ICovXHJcblxyXG4jcmVzdWx0c190aHVtYnNfY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgXHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4jcmVzdWx0c19pbmZvX3RhYmxlIHtcclxuICAgIG1hcmdpbi10b3A6IDcwcHg7XHJcbn1cclxuXHJcbiNyZXN1bHRzX21hcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgbWluLWhlaWdodDogMzAwcHg7XHJcbn1cclxuXHJcblxyXG5cclxuLyogPT09PT0g4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagIOioree9ruS+iyDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgPT09PT09ICovXHJcblxyXG4jbWFpbl9jb250YWluZXIge1xyXG4gICAgPiBtYWluIHtcclxuICAgICAgICAjaW5zdGFsbGF0aW9uX2xpc3Qge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgNjBweDtcclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1MnJlbTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4IGxpYnMuJG1haW5fY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaDM6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaTpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyogPT09PT0g4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagIOmiqOWKm+eZuumbuyDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgPT09PT09ICovXHJcblxyXG5ib2R5W2NsYXNzKj1cImJvZHlfd2luZFwiXSB7XHJcbiAgICAjbWFpbl9jb250YWluZXIge1xyXG4gICAgICAgID4gbWFpbiB7XHJcbiAgICAgICAgICAgID4gaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWVlZWUgdXJsKFwiLi4vaW1hZ2VzL2JnX3dpbmQuanBnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKiA9PT09PSDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAg5Lya56S+5qaC6KaBIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCA9PT09PT0gKi9cclxuXHJcbmJvZHlbY2xhc3MqPVwiYm9keV9jb21wYW55XCJdIHtcclxuICAgICNtYWluX2NvbnRhaW5lciB7XHJcbiAgICAgICAgPiBtYWluIHtcclxuICAgICAgICAgICAgPiBoZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlZWVlZSB1cmwoXCIuLi9pbWFnZXMvYmdfY29tcGFueS5qcGdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAjYm9keV9jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgI2dyZWV0aW5nX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAuZ3JlZXRpbmdfY29sdW1ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGg0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWYgSlBcIiwgXCJZdSBNaW5jaG8gTWVkaXVtXCIsIFwi5ri45piO5pydIE1lZGl1bVwiLCBcIll1IE1pbmNob1wiLCBcIua4uOaYjuacnVwiLCBcIua4uOaYjuacneS9k1wiLCBcIuODkuODqeOCruODjuaYjuacnSBQcm9OIFc2XCIsIFwiSGlyYU1pblByb04tVzZcIiwgXCJIR1DmmI7mnJ1FXCIsIFwi77yt77yzIO+8sOaYjuacnVwiLCBcIk1TIFBNaW5jaG9cIiwgXCJNUyDmmI7mnJ1cIiwgc2VyaWY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZ3JlZXRpbmdfY29sdW1uczpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZ3JlZXRpbmdfY29sdW1uczpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAjY2VvX2ltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcDpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAjY2VvX3NpZ24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgI2VjY2oyMDAwX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ltZ19jb21wYW55MDEuanBnXCIpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAjZWNjajIwMDBfYmxvY2sge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAjZWNjajIwMDBfYmxvY2tfd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJOb3RvIFNlcmlmIEpQXCIsIFwiWXUgTWluY2hvIE1lZGl1bVwiLCBcIua4uOaYjuacnSBNZWRpdW1cIiwgXCJZdSBNaW5jaG9cIiwgXCLmuLjmmI7mnJ1cIiwgXCLmuLjmmI7mnJ3kvZNcIiwgXCLjg5Ljg6njgq7jg47mmI7mnJ0gUHJvTiBXNlwiLCBcIkhpcmFNaW5Qcm9OLVc2XCIsIFwiSEdQ5piO5pydRVwiLCBcIu+8re+8syDvvLDmmI7mnJ1cIiwgXCJNUyBQTWluY2hvXCIsIFwiTVMg5piO5pydXCIsIHNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTZyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICNoaXN0b3J5IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMDtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKiA9PT09PSDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAg44GK5ZWP44GE5ZCI44KP44GbIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCA9PT09PT0gKi9cclxuXHJcbmJvZHlbY2xhc3MqPVwiYm9keV9pbnF1aXJ5XCJdIHtcclxuICAgICNtYWluX2NvbnRhaW5lciB7XHJcbiAgICAgICAgPiBtYWluIHtcclxuICAgICAgICAgICAgPiBoZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlZWVlZSB1cmwoXCIuLi9pbWFnZXMvYmdfaW5xdWlyeS5qcGdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAjaW5xdWlyeV9yZWFkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICNpbnF1aXJ5X2NvbXBsZXRlX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzk5OTk5OTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoMzo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qID09PT09IOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCDmlrDnnYDmg4XloLEg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagID09PT09PSAqL1xyXG5cclxuYm9keVtjbGFzcyo9XCJib2R5X25ld3NcIl0ge1xyXG4gICAgI21haW5fY29udGFpbmVyIHtcclxuICAgICAgICA+IG1haW4ge1xyXG4gICAgICAgICAgICA+IGhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlIHVybChcIi4uL2ltYWdlcy9iZ19jb21wYW55LmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICNib2R5X2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICA+IHRpbWUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAjYm9keV9uZXdzX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA2MHB4IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qID09PT09PT09PT0g4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagIOaxjueUqOOCueOCv+OCpOODqyDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgPT09PT09PT09PSAqL1xyXG5cclxuLmxpc3Qge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgXHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgYSwgc3Ryb25nIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5saXN0X2hlYWQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5saXN0X2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG51bFtjbGFzcyo9XCJob3Jpem9udGFsXCJdLCBvbFtjbGFzcyo9XCJob3Jpem9udGFsXCJdIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIFxyXG4gICAgbGkge1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBcclxuICAgICAgICAubmV4dCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxpOjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuZGl2W2NsYXNzKj1cImhvcml6b250YWxcIl0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIFxyXG4gICAgLmhvcml6b250YWxfY29sdW1uIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIC5ob3Jpem9udGFsX2NvbHVtbjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICAuaG9yaXpvbnRhbF9jb2x1bW46bGFzdC1vZi10eXBlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcbmRpdltjbGFzcyo9XCJob3Jpem9udGFsXCJdLmhvcml6b250YWxfY2VudGVyIHtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgXHJcbiAgICAuaG9yaXpvbnRhbF9jb2x1bW4ge1xyXG4gICAgICAgIGZsZXg6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uZXh0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMDAwMDAwO1xyXG59XHJcbi5uZXh0OjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiA2cHg7XHJcbiAgICBoZWlnaHQ6IDZweDtcclxuICAgIGJvcmRlci1yaWdodDogc29saWQgMnB4IGxpYnMuJG1haW5fY29sb3I7XHJcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggbGlicy4kbWFpbl9jb2xvcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogOXB4O1xyXG4gICAgbGVmdDogLTIwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG4ucmVzdWx0c19saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDcwcHggMCAhaW1wb3J0YW50O1xyXG4gICAgXHJcbiAgICBsaSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAucmVzdWx0c190aHVtYnMge1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMy8yO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNDBweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnJlc3VsdHNfZGVzYyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTZyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlicy4kbWFpbl9jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IGxpYnMuJG1haW5fY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoMzo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLmNvbnN0cnVjdGlvbl9kYXRlIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhOmhvdmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5yZXN1bHRzX3RodW1icyB7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxpOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBsaTpmaXJzdC1jaGlsZCwgbGk6bnRoLWNoaWxkKDNuKzEpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICBsaTpudGgtY2hpbGQoM24pIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgbGk6OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnaW5hdGlvbiB7XHJcbiAgICBtYXJnaW46IDcwcHggMDtcclxuICAgIGZvbnQtc2l6ZTogMS4yOHJlbTtcclxuICAgIFxyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMTBweDtcclxuICAgICAgICBcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBhLCBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNlY2VjZWM7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCBsaWJzLiRtYWluX2NvbG9yO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlicy4kbWFpbl9jb2xvcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5uZXh0IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uZXh0OjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHVsOmhhcygucHJldl9leHRlbmQpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICB1bDpoYXMoLm5leHRfZXh0ZW5kKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxufVxyXG5cclxuI2FydGljbGVfbmF2IHtcclxuICAgIG1hcmdpbjogODBweCAwO1xyXG4gICAgZm9udC1zaXplOiAxLjI4cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIFxyXG4gICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTNweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUzcHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNDVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNlY2VjZWM7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMzBweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC5ub3RlcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc2OHJlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGE6aGFzKC5ub3Rlcykge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsaTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGk6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5hcnRpY2xlX25leHQsIC5hcnRpY2xlX3ByZXYge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTZyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHVsOmhhcyguYXJ0aWNsZV9uZXh0KSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuICAgIHVsOmhhcyguYXJ0aWNsZV9wcmV2KSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGlzdF9zdHlsZV9ubyB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5idXR0b24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIFxyXG4gICAgXHJcbiAgICBhLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBidXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtaW4td2lkdGg6IDE0MHB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjZWNlY2VjO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDcwcHggYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDM1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgICBmb250LXNpemU6IDEuMDI0cmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICBjb2xvcjogIzAwMDAwMDtcclxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vaVBob25l54m55pyJ44Ki44OU44Ki44Op44Oz44K544Gu54Sh5Yq55YyWXHJcbiAgICB9XHJcbn1cclxuLmJ1dHRvbiB7XHJcbiAgICBhOmhvdmVyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCBidXR0b246aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MwYzBjMDtcclxuICAgIH1cclxufVxyXG5cclxuLm5leHRfYnV0dG9uIHtcclxuICAgIGEsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIGJ1dHRvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG59XHJcbi5uZXh0X2J1dHRvbiB7XHJcbiAgICBhOjphZnRlciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIGJ1dHRvbjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiA2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggbGlicy4kbWFpbl9jb2xvcjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggbGlicy4kbWFpbl9jb2xvcjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAyMDBtcztcclxuICAgIH1cclxufVxyXG4ubmV4dF9idXR0b24ge1xyXG4gICAgYTpob3Zlcjo6YWZ0ZXIsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXI6OmFmdGVyLCBidXR0b246aG92ZXI6OmFmdGVyIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCAjZmZmZmZmO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAjZmZmZmZmO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJldl9idXR0b24ge1xyXG4gICAgYSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgYnV0dG9uIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbn1cclxuLnByZXZfYnV0dG9uIHtcclxuICAgIGE6OmFmdGVyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOjphZnRlciwgYnV0dG9uOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDZweDtcclxuICAgICAgICBoZWlnaHQ6IDZweDtcclxuICAgICAgICBib3JkZXItbGVmdDogc29saWQgMnB4IGxpYnMuJG1haW5fY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4IGxpYnMuJG1haW5fY29sb3I7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDE1cHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIDIwMG1zO1xyXG4gICAgfVxyXG59XHJcbi5wcmV2X2J1dHRvbiB7XHJcbiAgICBhOmhvdmVyOjphZnRlciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3Zlcjo6YWZ0ZXIsIGJ1dHRvbjpob3Zlcjo6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAycHggI2ZmZmZmZjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggI2ZmZmZmZjtcclxuICAgIH1cclxufVxyXG5cclxuLmVycm9yX21lc3NhZ2Uge1xyXG4gICAgY29sb3I6ICNmZjAwMGY7XHJcbiAgICBmb250LXNpemU6IDAuNzY4cmVtO1xyXG4gICAgbWFyZ2luOiA1cHggMDtcclxuICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uZXJyb3JfbWVzc2FnZTo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICfigLsnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG4ucGRmIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29fcGRmLnBuZ1wiKSBuby1yZXBlYXQgcmlnaHQgMTNweCBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XHJcbn1cclxuI2FydGljbGVfbmF2IHtcclxuICAgIHVsIHtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIC5wZGYge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoCBGb290ZXIg4pag4pag4pag4pag4pag4pag4pag4pag4pag4pagXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuI21haW5fY29udGFpbmVyPm1haW4+Zm9vdGVyIHtcclxuICAgIGZvbnQtc2l6ZTogMC45NnJlbTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlicy4kbWFpbl9jb2xvcjtcclxuICAgIHBhZGRpbmc6IDYwcHggMTBweCAxMHB4O1xyXG4gICAgXHJcbiAgICAjZm9vdGVyX2NvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBsaWJzLiRtYXhfd2lkdGg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgPiAuZm9vdGVyX2NvbnRhaW5lcl9jb2x1bW4ge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaDEge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGFkZHJlc3Mge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wMjRyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgI3BhZ2VfdG9wIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAtNTBweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbGlicy4kbWFpbl9jb2xvcjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4IGxpYnMuJG1haW5fY29sb3I7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCBsaWJzLiRtYWluX2NvbG9yO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgc21hbGwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDtcclxuICAgICAgICBmb250LXNpemU6IDAuODk2cmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICDilqDilqDilqDilqDilqDilqDilqDilqDilqDilqAgQ29tbW9uIENsYXNzIOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoOKWoFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxyXG4ucmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XHJcbi5sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XHJcbi5hbGlnbmNlbnRlciB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tcmlnaHQ6IGF1dG87IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XHJcbi5hbGlnbnJpZ2h0IHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XHJcbi5hbGlnbmxlZnQgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XHJcblxyXG4ubGVmdGJveCwuaW1nbGVmdCB7XHRmbG9hdDogbGVmdDsgcGFkZGluZy1yaWdodDogMTBweDsgfVxyXG4ucmlnaHRib3gsLmltZ3JpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cclxuLmNsZWFyIHsgY2xlYXI6IGJvdGg7IH1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuIE1hcmdpbiBDbGFzc1xyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoIDIwIHtcclxuICAubSN7JGkgKiA1fSB7IG1hcmdpbjogNXB4ICogJGkgIWltcG9ydGFudDsgfVxyXG59XHJcblxyXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoIDIwIHtcclxuICAubXQjeyRpICogNX0geyBtYXJnaW4tdG9wOiA1cHggKiAkaSAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMjAge1xyXG4gIC5tciN7JGkgKiA1fSB7IG1hcmdpbi1yaWdodDogNXB4ICogJGkgIWltcG9ydGFudDsgfVxyXG59XHJcblxyXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoIDIwIHtcclxuICAubWIjeyRpICogNX0geyBtYXJnaW4tYm90dG9tOiA1cHggKiAkaSAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMjAge1xyXG4gIC5tbCN7JGkgKiA1fSB7IG1hcmdpbi1sZWZ0OiA1cHggKiAkaSAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuIFBhZGRpbmcgQ2xhc3NcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAyMCB7XHJcbiAgLnAjeyRpICogNX0geyBwYWRkaW5nOiA1cHggKiAkaSAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMjAge1xyXG4gIC5wdCN7JGkgKiA1fSB7IHBhZGRpbmctdG9wOiA1cHggKiAkaSAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMjAge1xyXG4gIC5wciN7JGkgKiA1fSB7IHBhZGRpbmctcmlnaHQ6IDVweCAqICRpICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAyMCB7XHJcbiAgLnBiI3skaSAqIDV9IHsgcGFkZGluZy1ib3R0b206IDVweCAqICRpICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAyMCB7XHJcbiAgLnBsI3skaSAqIDV9IHsgcGFkZGluZy1sZWZ0OiA1cHggKiAkaSAhaW1wb3J0YW50OyB9XHJcbn0iXSwiZmlsZSI6InN0eWxlcy5jc3MifQ== */
