@charset "UTF-8";
@import "base.css";
@import "common.css";
/*---------------------------------
Page CSS 2018.05
CSS 担当者名 Document 2018.05
Last Update 2018.05 担当者名
---------------------------------*/
/*
トップページ
-------------------------------------*/
#Page.pageIndex #MainImg {
  width: 100%;
}
#Page.pageIndex #MainImg #MainImgInner {
  background-position: center center;
}
#Page.pageIndex #MainImg #MainImgInner .textBox {
  display: flex;

  align-items: center;
  justify-content: center;
}
#Page.pageIndex #MainImg #MainImgInner .textBox h2 {
  margin-top: 0;
  font-size: 50px;
  color: #fff;

  text-shadow: 0 3px 6px rgba(0, 91, 183, .9);
}
#Page.pageIndex #MainImg #MainImgInner .textBox h2 span {
  top: 0;
  margin-left: 0;
  font-size: 55px;
  color: #fff;
}
#Page.pageIndex #MainImg #MainImgInner .bannerBox {
  background-color: rgba(35, 25, 21, .5);
}
#Page.pageIndex #MainImg #MainImgInner .bannerBox ul li a {
  position: relative;
}
#Page.pageIndex #MainImg #MainImgInner .bannerBox ul li a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #fff;
  width: 100%;
  height: 100%;
}
#Page.pageIndex #Main {
  padding: 0;
}
#Page.pageIndex #Main .contBox .titleTypeBasic {
  text-align: center;
  color: #231915;
}
#Page.pageIndex #Main #ContBox01 {
  padding: 47px 0 84px;
}
#Page.pageIndex #Main #ContBox01 .innerBasic {
  max-width: 800px;
}
#Page.pageIndex #Main #ContBox01 .flex {
  display: flex;
  margin-bottom: 29px;

  justify-content: space-between;
  align-items: flex-end;
}
#Page.pageIndex #Main #ContBox01 .flex .titleTypeHasSub {
  text-align: left;
}
#Page.pageIndex #Main #ContBox01 .flex .titleTypeHasSub::before {
  display: inline-block;
  margin: 0 16px 0 0;
}
#Page.pageIndex #Main #ContBox01 .subBox {
  border: 1px solid #d0d0d0;
  padding: 40px;
}
#Page.pageIndex #Main #ContBox02 {
  padding: 105px 0 100px;
  background: url(../img/contents/top/bg_01.png) no-repeat center top;
  background-size: cover;
}
#Page.pageIndex #Main #ContBox02 .textBox {
  margin: 0 auto 70px;
  max-width: 800px;
}
#Page.pageIndex #Main #ContBox02 .textBox h3 {
  margin: 0 auto 40px;
  max-width: 540px;
  height: 132px;
  background: url(../img/contents/top/text_01.png) no-repeat left top;
  background-size: 100% auto;
  text-indent: -9999px;
}
#Page.pageIndex #Main #ContBox02 .textBox p:last-of-type {
  margin-bottom: 0;
}
#Page.pageIndex #Main #ContBox02 .btnTypeImage .link01 a figure {
  background-image: url(../img/contents/top/img_01.jpg);
}
#Page.pageIndex #Main #ContBox02 .btnTypeImage .link02 a figure {
  background-image: url(../img/contents/top/img_02.jpg);
}
#Page.pageIndex #Main #ContBox02 .btnTypeImage .link03 a figure {
  background-image: url(../img/contents/top/img_03.jpg);
}
#Page.pageIndex #Main #ContBox03 {
  padding: 72px 0 70px;
  background: url(../img/contents/top/bg_02.jpg) no-repeat center center;
  background-size: cover;
}
#Page.pageIndex #Main #ContBox03 .innerBasic {
  max-width: 840px;
}
#Page.pageIndex #Main #ContBox03 .titleTypeHasSub {
  margin-bottom: 38px;
  color: #fff;
}
#Page.pageIndex #Main #ContBox03 .titleTypeHasSub::before {
  color: #fff;
}
#Page.pageIndex #Main #ContBox03 .postTypeEvent> li {
  border-color: #fff;
}
#Page.pageIndex #Main #ContBox03 .btnTypeMore {
  margin-top: 20px;
  text-align: right;
}
#Page.pageIndex #Main #ContBox03 .btnTypeMore a {
  color: #fff;
}
#Page.pageIndex #Main #ContBox03 .btnTypeMore a::before {
  background-image: url(../img/arrow_02_bl_small.png);
  background-color: #fff;
}
#Page.pageIndex #Main #ContBox04 {
  padding: 62px 0 60px;
  background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgb(231, 247, 248) 100%);
}
#Page.pageIndex #Main #ContBox04 .innerBasic {
  max-width: 840px;
}
#Page.pageIndex #Main #ContBox04 .titleTypeHasSub {
  margin-bottom: 40px;
}
#Page.pageIndex #Main #ContBox04 .postTypeEvent> li {
  box-shadow: 0 0 20px rgba(0, 108, 108, .3);
  border-width: 0;
}
#Page.pageIndex #Main #ContBox04 .btnTypeMore {
  margin-top: 20px;
  text-align: right;
}
#Page.pageIndex #Main #ContBox05 {
  padding: 72px 0;
}
#Page.pageIndex #Main #ContBox05 .textBox {
  margin: 0 auto 60px;
  max-width: 800px;
}
#Page.pageIndex #Main #ContBox05 .textBox h3 {
  margin-bottom: 38px;
}
#Page.pageIndex #Main #ContBox05 .textBox p:last-of-type {
  margin-bottom: 0;
}
#Page.pageIndex #Main #ContBox05 .btnTypeImage {
  max-width: 940px;
}
#Page.pageIndex #Main #ContBox05 .btnTypeImage .link01 a figure {
  background-image: url(../img/contents/top/img_04.jpg);
}
#Page.pageIndex #Main #ContBox05 .btnTypeImage .link02 a figure {
  background-image: url(../img/contents/top/img_05.jpg);
}
#Page.pageIndex #Main #ContBox05 .btnTypeImage .link03 a figure {
  background-image: url(../img/contents/top/img_03.jpg);
}
#Page.pageIndex #Main #ContBox06 {
  padding: 60px 0;
  background-color: #f1f8fc;
}
#Page.pageIndex #Main #ContBox06 .innerBasic {
  max-width: 930px;
}
#Page.pageIndex #Main #ContBox06 .titleTypeBasic {
  margin-bottom: 20px;
}
#Page.pageIndex #Main #ContBox06 ul {
  display: flex;

  flex-wrap: wrap;
  gap: 15px 20px;
}
#Page.pageIndex #Main #ContBox06 ul> li {
  width: calc((100% - 60px) / 4);
}
#Page.pageIndex #Main #ContBox06 ul> li a {
  display: block;
  width: 100%;
}
#Page.pageIndex #Main #ContBox06 ul> li a img {
  width: 100%;
  height: auto;
}
#Page.pageIndex #Main #ContBox07 {
  padding: 70px 0;
}
#Page.pageIndex #Main #ContBox07 h3 {
  display: flex;
  margin-bottom: 50px;
  line-height: 45px;
  font-size: 30px;

  justify-content: center;
  align-items: center;
}
#Page.pageIndex #Main #ContBox07 h3 .icon {
  margin-right: 19px;
  width: 30px;
  height: 30px;
  background: url(../img/icon_ig.png) no-repeat left top;
  background-size: 100% auto;
  transform: translateY(2px);
}
#Page.pageIndex #Main #ContBox07 #Instagram ul {
  display: flex;

  flex-wrap: wrap;
  gap: 10px;
}
#Page.pageIndex #Main #ContBox07 #Instagram ul> li {
  width: calc((100% - 30px) / 4);
}
#Page.pageIndex #Main #ContBox07 #Instagram ul> li img {
  width: 100%;
  height: auto;
}
#Page.pageIndex #Main #ContBox07 .btnTypeInsta {
  display: flex;
  margin: 44px auto 0;
  border-radius: 5px;
  width: 100%;
  max-width: 232px;
  height: 44px;
  background-color: #408bd1;
  text-decoration: none;
  font-size: 14px;
  color: #fff;

  align-items: center;
  justify-content: center;
}
#Page.pageIndex #Main #ContBox07 .btnTypeInsta::before {
  content: "";
  display: block;
  margin-right: 8px;
  width: 17px;
  height: 17px;
  background: url(../img/icon_ig_wh.png) no-repeat left top;
  background-size: 100% auto;
}
#Page.pageIndex #Main #ContBox08 {
  padding: 70px 0 113px;
}
#Page.pageIndex #Main #ContBox08 h3 {
  margin-bottom: 17px;
}
#Page.pageIndex #Main #ContBox08 .listTypeMember:last-of-type {
  margin-bottom: 0;
}
#Page.pageIndex #Main #ContBox09 {
  padding: 80px 0;
  background-color: #f1f8fc;
}
#Page.pageIndex #Main #ContBox09 .innerBasic {
  max-width: 100%;
}
#Page.pageIndex #Main #ContBox09 .flex {
  display: flex;
}
#Page.pageIndex #Main #ContBox09 .flex> div {
  width: 50%;
}
#Page.pageIndex #Main #ContBox09 .flex .textBox {
  position: relative;
}
#Page.pageIndex #Main #ContBox09 .flex .textBox::before {
  content: "";
  position: absolute;
  top: 142px;
  left: 0;
  border-top: 1px solid #006cbc;
  width: calc(100% - 80px);
}
#Page.pageIndex #Main #ContBox09 .flex .textBox h3 {
  margin-bottom: 37px;
  text-align: left;
}
#Page.pageIndex #Main #ContBox09 .flex .textBox h4 {
  line-height: 33px;
  font-family: "Shippori Antique", sans-serif;
  font-size: 22px;
  color: #006cbc;
}
#Page.pageIndex #Main #ContBox09 .flex .textBox p {
  margin-bottom: 0;
  line-height: 25px;
}
#Page.pageIndex #Main #ContBox09 .flex .textBox .btnTypeBasic {
  margin-top: 52px;
}
#Page.pageIndex #Main #ContBox09 .flex .textBox .btnTypeBasic a {
  box-shadow: 0 0 20px rgba(0, 108, 188, .3);
  border-width: 0;
}
#Page.pageIndex #Main #ContBox09 .flex .mapBox .box {
  overflow: hidden;
  position: relative;
}
#Page.pageIndex #Main #ContBox09 .flex .mapBox .box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media print, screen and (min-width: 768px) {
  #Page.pageIndex {
    padding-left: 0 !important;
  }
  #Page.pageIndex #Header {
    box-shadow: none;
    background-color: transparent;
  }
  #Page.pageIndex #Header .box_logo {
    background-image: none;
  }
  #Page.pageIndex #Header .box_menu {
    box-shadow: 3px 3px 30px rgba(0, 91, 183, .3);
    background-color: #f7f7f7;
  }
  #Page.pageIndex #Header .box_menu .mainMenu {
    background-color: #fff;
  }
  #Page.pageIndex.fixed #Header .box_logo {
    box-shadow: 3px 3px 30px rgba(0, 91, 183, .3);
    background-image: url(../img/header/background.jpg);
  }
  #Page.pageIndex #MainImg {
    height: 664px;
  }
  #Page.pageIndex #MainImg #MainImgInner {
    flex-direction: column;
    padding-right: 0;
    padding-left: 280px;
    background-image: url(../img/contents/top/mainimg.jpg);
  }
  #Page.pageIndex #MainImg #MainImgInner .textBox {
    flex: 1;
  }
  #Page.pageIndex #MainImg #MainImgInner .bannerBox {
    padding: 25px 80px;
    width: 100%;
  }
  #Page.pageIndex #MainImg #MainImgInner .bannerBox ul {
    display: flex;
    margin: 0 auto;
    max-width: 1000px;

    flex-wrap: wrap;
    gap: 5px;
  }
  #Page.pageIndex #MainImg #MainImgInner .bannerBox ul li {
    width: calc((100% - 10px) / 3);
  }
  #Page.pageIndex #MainImg #MainImgInner .bannerBox ul li a {
    display: block;
    width: 100%;
  }
  #Page.pageIndex #MainImg #MainImgInner .bannerBox ul li a img {
    width: 100%;
    height: auto;
  }
  #Page.pageIndex #MainImg #MainImgInner .bannerBox ul li a:hover {
    opacity: .5;
  }
  #Page.pageIndex #Container {
    padding-left: 280px;
  }
  #Page.pageIndex #Main #ContBox06 ul li a {
    opacity: 1;
    transition: opacity .5s ease;
  }
  #Page.pageIndex #Main #ContBox06 ul li a:hover {
    opacity: .5;
  }
  #Page.pageIndex #Main #ContBox09 .flex .textBox {
    display: flex;

    justify-content: right;
  }
  #Page.pageIndex #Main #ContBox09 .flex .textBox .box {
    padding-right: 80px;
    max-width: 400px;
  }
  #Page.pageIndex #Main #ContBox09 .flex .mapBox .box {
    height: 431px;
  }
  #Page.pageIndex #Footer {
    padding-left: 280px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1150px) {
  #Page.pageIndex #Main #ContBox09 .flex {
    flex-direction: column;

    gap: 40px 0;
  }
  #Page.pageIndex #Main #ContBox09 .flex> div {
    width: 100%;
  }
  #Page.pageIndex #Main #ContBox09 .flex .textBox {
    justify-content: left;
  }
  #Page.pageIndex #Main #ContBox09 .flex .textBox::before {
    left: -20px;
  }
  #Page.pageIndex #Main #ContBox09 .flex .mapBox .box {
    max-width: 100%;
  }
}
@media print, screen and (max-width: 767px) {
  #Page.pageIndex:not(.fixed) #Header h1 a {
    background-image: url(../img/header/logo_sp.png);
  }
  #Page.pageIndex:not(.fixed) #MenuButton {
    background-image: url(../img/header/icon_01.png);
  }
  #Page.pageIndex #MainImg {
    position: relative;
    height: auto;
  }
  #Page.pageIndex #MainImg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 72px;
    background-color: rgba(11, 28, 132, .74);
    opacity: 1;
    transition: .5s ease;

    mix-blend-mode: multiply;
  }
  #Page.pageIndex #MainImg #MainImgInner {
    flex-direction: column;
    padding: 0;
  }
  #Page.pageIndex #MainImg #MainImgInner .textBox {
    padding-top: 72px;
    width: 100%;
    height: 272px;
    background: url(../img/contents/top/mainimg_sp.jpg) no-repeat center center;
    background-size: cover;
  }
  #Page.pageIndex #MainImg #MainImgInner .textBox h2 {
    line-height: 40px;
    font-size: 27px;
  }
  #Page.pageIndex #MainImg #MainImgInner .textBox h2 span {
    font-size: 30px;
  }
  #Page.pageIndex #MainImg #MainImgInner .bannerBox {
    padding: 10px 0;
    width: 100%;
    background-color: rgba(35, 25, 21, .5);
  }
  #Page.pageIndex #MainImg #MainImgInner .bannerBox ul li {
    margin: 0 6px;
  }
  #Page.pageIndex #MainImg #MainImgInner .bannerBox ul li a {
    display: block;
    text-decoration: none;
  }
  #Page.pageIndex #MainImg #MainImgInner .bannerBox ul li a img {
    width: 100%;
    height: auto;
  }
  #Page.pageIndex #Main #ContBox01 {
    padding: 32px 0 37px;
  }
  #Page.pageIndex #Main #ContBox01 .flex {
    margin-bottom: 18px;
  }
  #Page.pageIndex #Main #ContBox01 .flex .titleTypeHasSub::before {
    margin-right: 12px;
  }
  #Page.pageIndex #Main #ContBox01 .subBox {
    margin-left: -15px;
    padding: 40px 15px;
    width: calc(100% + 30px);
  }
  #Page.pageIndex #Main #ContBox01 .btnTypeMore {
    margin-top: 24px;
    text-align: right;
  }
  #Page.pageIndex #Main #ContBox02 {
    padding: 154px 0 64px;
    background-image: url(../img/contents/top/bg_01_sp.png);
  }
  #Page.pageIndex #Main #ContBox02 .textBox {
    margin-bottom: 32px;
  }
  #Page.pageIndex #Main #ContBox02 .textBox h3 {
    padding-top: 25%;
    max-width: 360px;
    height: 0;
  }
  #Page.pageIndex #Main #ContBox03 {
    padding: 32px 0 48px;
    background-image: url(../img/contents/top/bg_02_sp.jpg);
  }
  #Page.pageIndex #Main #ContBox03 .titleTypeHasSub {
    margin-bottom: 30px;
  }
  #Page.pageIndex #Main #ContBox03 .btnTypeMore {
    margin-top: 24px;
  }
  #Page.pageIndex #Main #ContBox04 {
    padding: 32px 0 48px;
  }
  #Page.pageIndex #Main #ContBox04 .titleTypeHasSub {
    margin-bottom: 30px;
  }
  #Page.pageIndex #Main #ContBox04 .btnTypeMore {
    margin-top: 24px;
  }
  #Page.pageIndex #Main #ContBox05 {
    padding: 32px 0 48px;
  }
  #Page.pageIndex #Main #ContBox05 .textBox {
    margin-bottom: 32px;
  }
  #Page.pageIndex #Main #ContBox05 .textBox .titleTypeHasSub {
    margin-bottom: 23px;
  }
  #Page.pageIndex #Main #ContBox06 {
    padding: 32px 0 48px;
  }
  #Page.pageIndex #Main #ContBox06 .titleTypeBasic {
    margin-bottom: 23px;
  }
  #Page.pageIndex #Main #ContBox06 ul {
    gap: 12px 16px;
  }
  #Page.pageIndex #Main #ContBox06 ul> li {
    width: calc((100% - 16px) / 2);
  }
  #Page.pageIndex #Main #ContBox07 {
    padding: 32px 0 48px;
  }
  #Page.pageIndex #Main #ContBox07 .titleTypeBasic {
    margin-bottom: 30px;
    line-height: 36px;
    font-size: 24px;
  }
  #Page.pageIndex #Main #ContBox07 .titleTypeBasic .icon {
    margin-right: 8px;
    width: 24px;
    height: 24px;
  }
  #Page.pageIndex #Main #ContBox07 #Instagram ul {
    gap: 4px;
  }
  #Page.pageIndex #Main #ContBox07 #Instagram ul> li {
    width: calc((100% - 8px) / 3);
  }
  #Page.pageIndex #Main #ContBox08 {
    padding: 32px 0 60px;
  }
  #Page.pageIndex #Main #ContBox08 .titleTypeBasic {
    margin-bottom: 30px;
  }
  #Page.pageIndex #Main #ContBox09 {
    padding: 32px 0 64px;
  }
  #Page.pageIndex #Main #ContBox09 .flex {
    flex-direction: column;

    gap: 24px 0;
  }
  #Page.pageIndex #Main #ContBox09 .flex> div {
    width: 100%;
  }
  #Page.pageIndex #Main #ContBox09 .flex .textBox .titleTypeHasSub {
    margin-bottom: 40px;
  }
  #Page.pageIndex #Main #ContBox09 .flex .textBox h4 {
    line-height: 29px;
    font-size: 20px;
  }
  #Page.pageIndex #Main #ContBox09 .flex .textBox p:last-of-type {
    margin-bottom: 0;
  }
  #Page.pageIndex #Main #ContBox09 .flex .textBox::before {
    top: 102px;
    left: -20px;
    width: calc(100vw - 54px);
  }
  #Page.pageIndex #Main #ContBox09 .flex .mapBox .box {
    padding-top: 51.4285714286%;
  }
  #Page.pageIndex #Main #ContBox09 .flex .mapBox .btnTypeBasic {
    margin: 32px auto 0;
    max-width: 300px;
  }
  #Page.pageIndex #Main #ContBox09 .flex .mapBox .btnTypeBasic a {
    box-shadow: 0 0 20px rgba(0, 108, 188, .3);
    border-width: 0;
  }
}
/*
当部会について 共通
-------------------------------------*/
#PageAbout #Main .menuBox {
  margin-top: 80px;
  margin-bottom: 0 !important;
}
#PageAbout #Main .menuBox .innerBasic {
  max-width: 900px;
}
#PageAbout #Main .menuBox ul {
  display: flex;

  flex-wrap: wrap;
  gap: 20px;
}
#PageAbout #Main .menuBox ul> li {
  width: calc((100% - 40px) / 3);
}
#PageAbout #Main .menuBox ul> li .btnTypeBasic {
  height: 100%;
}
#PageAbout #Main .menuBox ul> li .btnTypeBasic a {
  height: 100%;
}
#PageAbout #Main .menuBox ul> li .btnTypeBasic a .p {
  display: flex;

  justify-content: center;
  align-items: center;
}

@media print, screen and (max-width: 767px) {
  #PageAbout #Main .menuBox {
    margin-top: 40px;
  }
  #PageAbout #Main .menuBox ul> li {
    width: 100%;
  }
}
/*
当部会について
-------------------------------------*/
#PageAbout.pageIndex #Main {
  padding: 0;
}
#PageAbout.pageIndex #Main .contBox {
  margin-top: 0;
  padding: 70px 0 100px;
}

@media print, screen and (max-width: 767px) {
  #PageAbout.pageIndex #Main .contBox {
    padding: 64px 0;
  }
}
/*
部会長挨拶
-------------------------------------*/
#PageAbout.pageGreeting #Main {
  padding-top: 108px;
}
#PageAbout.pageGreeting #Main .contBox {
  overflow: hidden;
}
#PageAbout.pageGreeting #Main .contBox .innerBasic {
  max-width: 900px;
}
#PageAbout.pageGreeting #Main .contBox .photoBox {
  position: relative;
  display: flex;
  margin-bottom: 50px;

  align-items: center;
  gap: 0 40px;
}
#PageAbout.pageGreeting #Main .contBox .photoBox::before {
  content: "";
  position: absolute;
  top: 50%;
  z-index: -1;
  width: calc(100svw - 280px);
  height: calc(100% - 40px);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #e7f7f8 100%);
  transform: translateY(-50%);
}
#PageAbout.pageGreeting #Main .contBox .photoBox .text {
  flex: 1;
}
#PageAbout.pageGreeting #Main .contBox .photoBox .text h3 {
  text-align: justify;
  font-family: "Shippori Antique", sans-serif;
  font-size: 25px;
  color: #006cbc;
}
#PageAbout.pageGreeting #Main .contBox .photoBox .text p {
  display: flex;
  margin: 12px 0 0;
  line-height: 29px;
  font-size: 20px;

  flex-wrap: wrap;
  align-items: center;
}
#PageAbout.pageGreeting #Main .contBox .photoBox .text p small {
  margin-right: 12px;
  font-size: 14px;
  color: #006cbc;
}
#PageAbout.pageGreeting #Main .contBox .photoBox .text p span {
  font-size: 16px;
}
#PageAbout.pageGreeting #Main .contBox .photoBox .photo {
  max-width: 343px;
}
#PageAbout.pageGreeting #Main .contBox .photoBox .photo img {
  width: 100%;
  height: auto;
}
#PageAbout.pageGreeting #Main .contBox .textBox p:last-of-type {
  margin-bottom: 0;
}
#PageAbout.pageGreeting #Main #ContBox01 {
  margin-bottom: 80px;
}
#PageAbout.pageGreeting #Main #ContBox02 .contSubBox+ .contSubBox {
  margin-top: 20px;
}

@media print, screen and (min-width: 768px) {
  #PageAbout.pageGreeting #Main .contBox .photoBox::before {
    right: calc((1180px - 100svw) / 2);
  }
  #PageAbout.pageGreeting #Main #ContBox01 .photoBox,
  #PageAbout.pageGreeting #Main #ContBox01 .textBox {
    padding: 0 50px;
  }
  #PageAbout.pageGreeting #Main #ContBox02 .contSubBox .showBox {
    padding: 57px 50px 60px;
  }
}
@media print, screen and (max-width: 1000px) {
  #PageAbout.pageGreeting #Main {
    padding-top: 30px;
  }
  #PageAbout.pageGreeting #Main .contBox .photoBox {
    flex-direction: column;
    margin-bottom: 32px;
    padding-top: 40px;
  }
  #PageAbout.pageGreeting #Main .contBox .photoBox::before {
    top: 0;
    left: -10px;
    width: calc(100% + 20px);
    height: 290px;
    transform: translate(0, 0);
  }
  #PageAbout.pageGreeting #Main .contBox .photoBox .text {
    margin-bottom: 24px;
  }
  #PageAbout.pageGreeting #Main .contBox .photoBox .text h3 {
    margin-bottom: 10px;
    line-height: 29px;
    font-size: 20px;
  }
  #PageAbout.pageGreeting #Main .contBox .photoBox .text p {
    line-height: 26px;
    font-size: 18px;

    flex-wrap: wrap;
  }
  #PageAbout.pageGreeting #Main .contBox .photoBox .text p small {
    width: 100%;
    line-height: 20px;
    font-size: 14px;
  }
  #PageAbout.pageGreeting #Main .contBox .photoBox .text p span {
    font-size: 14px;
  }
  #PageAbout.pageGreeting #Main .contBox .photoBox .photo {
    margin: 0 auto;
    width: 100%;
    max-width: 350px;
  }
  #PageAbout.pageGreeting #Main #ContBox01 {
    margin-bottom: 62px;
  }
  #PageAbout.pageGreeting #Main #ContBox01 .photoBox {
    padding-top: 57px;
  }
  #PageAbout.pageGreeting #Main #ContBox01 .photoBox::before {
    left: -20px;
    width: calc(100% + 40px);
  }
  #PageAbout.pageGreeting #Main #ContBox02 .contSubBox .showBox {
    padding: 0 10px 28px;
  }
}
/*
部会規則
-------------------------------------*/
#PageAbout.pageRule #Main #ContBox01 .innerBasic {
  max-width: 800px;
}
#PageAbout.pageRule #Main #ContBox01 .box+ .box {
  margin-top: 35px;
}
#PageAbout.pageRule #Main #ContBox01 .box dt {
  line-height: 35px;
  font-size: 18px;
  font-weight: 600;
}
#PageAbout.pageRule #Main #ContBox01 .box dd *:last-child {
  margin-bottom: 0;
}
#PageAbout.pageRule #Main #ContBox01 .box dd table.pc_display {
  display: table;
}
#PageAbout.pageRule #Main #ContBox01 .box dd table {
  margin-bottom: 20px;
  width: 100%;
}
#PageAbout.pageRule #Main #ContBox01 .box dd table th,
#PageAbout.pageRule #Main #ContBox01 .box dd table td {
  border: 1px solid #d0d0d0;
  text-align: justify;
}
#PageAbout.pageRule #Main #ContBox01 .box dd table th {
  padding: 7px 20px;
  width: 200px;
  background-color: #f1f8fc;
}
#PageAbout.pageRule #Main #ContBox01 .box dd table td {
  padding: 8px 20px;
}

@media print, screen and (max-width: 767px) {
  #PageAbout.pageRule #Main #ContBox01 .box dd table {
    display: table;
  }
  #PageAbout.pageRule #Main #ContBox01 .box dd table.pc_display {
    display: none;
  }
  #PageAbout.pageRule #Main #ContBox01 .box dd table th {
    width: 100%;
  }
  #PageAbout.pageRule #Main #ContBox01 .box dd table td {
    width: 50%;
  }
}
/*
組織・委員
-------------------------------------*/
#PageAbout.pageOrganization #Main #ContBox01 .innerBasic {
  max-width: 900px;
}
#PageAbout.pageOrganization #Main #ContBox01 .innerBasic> .btnTypeBasic {
  margin-bottom: 80px;
}
#PageAbout.pageOrganization #Main #ContBox01 .innerBasic> .btnTypeBasic .p {
  padding: 22px 28px 23px;
}
#PageAbout.pageOrganization #Main #ContBox01 .innerBasic> .btnTypeBasic .icon {
  width: 60px;
}
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox+ .contSubBox {
  margin-top: 80px;
}
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox .titleTypeBasic {
  margin-bottom: 22px;
}
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox .tableBox {
  padding: 32px 50px 64px;
  background-color: #f1f8fc;
}
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox .tableBox table {
  width: 100%;
}
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox .tableBox table th,
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox .tableBox table td {
  border-bottom: 1px solid #d0d0d0;
  padding: 32px 0;
}
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox .tableBox table th {
  padding-right: 20px;
  width: 220px;
  font-weight: 400;
}
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox .click p {
  padding: 14px 40px 15px;
  line-height: 41px;
  font-size: 28px;
}
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox .showBox {
  padding: 40px 50px 0;
}
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox .showBox ul {
  display: flex;

  flex-wrap: wrap;
  gap: 20px;
}
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox .showBox ul> li {
  width: calc((100% - 60px) / 4);
}
#PageAbout.pageOrganization #Main #ContBox01 .contSubBox .showBox ul> li a .icon::before {
  background-size: 16px auto;
}
#PageAbout.pageOrganization #Main .menuBox {
  margin-top: 130px;
}

@media print, screen and (min-width: 768px) {
  #PageAbout.pageOrganization #Main #ContBox01 .innerBasic> .btnTypeBasic a:hover .icon::before {
    background-position: left 23px center;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox .showBox ul> li a:hover .icon::before {
    background-position: left 18px center;
  }
}
@media print, screen and (max-width: 767px) {
  #PageAbout.pageOrganization #Main #ContBox01 .innerBasic> .btnTypeBasic {
    margin-bottom: 65px;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .innerBasic> .btnTypeBasic a .p {
    text-align: justify;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .innerBasic> .btnTypeBasic a .icon {
    width: 60px;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox+ .contSubBox {
    margin-top: 64px;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox .tableBox {
    padding: 32px 20px;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox .tableBox table tr:first-of-type th {
    padding-top: 0;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox .tableBox table th,
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox .tableBox table td {
    display: block;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox .tableBox table th {
    margin-bottom: 8px;
    border-bottom-width: 0;
    padding: 24px 0 0 0;
    width: 100%;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox .tableBox table td {
    padding: 0 0 24px 0;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox .click p {
    padding: 17px 16px;
    line-height: 29px;
    font-size: 20px;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox .showBox {
    padding: 40px 0 0;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox .showBox ul {
    gap: 16px 10px;
  }
  #PageAbout.pageOrganization #Main #ContBox01 .contSubBox .showBox ul> li {
    width: calc((100% - 10px) / 2);
  }
  #PageAbout.pageOrganization #Main .menuBox {
    margin-top: 96px;
  }
}
/*
沿革
-------------------------------------*/
#PageAbout.pageHistory #Main {
  padding-top: 50px;
}
#PageAbout.pageHistory #Main .menuTypePageLink {
  margin-bottom: 50px;
}
#PageAbout.pageHistory #Main .innerBasic {
  max-width: 900px;
}
#PageAbout.pageHistory #Main .contBox {
  margin-bottom: 80px;
}
#PageAbout.pageHistory #Main .contBox .titleTypeBasic {
  margin-bottom: 22px;
}
#PageAbout.pageHistory #Main .contBox .titleTypeBottomLine {
  margin-bottom: 40px;
}
#PageAbout.pageHistory #Main #ContBox01 .contSubBox table th {
  padding: 30px 20px 30px 50px;
  width: 270px;
  font-weight: 600;
}
#PageAbout.pageHistory #Main #ContBox01 .contSubBox table td {
  padding: 30px 50px 30px 0;
}
#PageAbout.pageHistory #Main #ContBox02 .contSubBox+ .contSubBox {
  margin-top: 80px;
}
#PageAbout.pageHistory #Main #ContBox02 .contSubBox table thead th:nth-of-type(1) {
  width: 90px;
}
#PageAbout.pageHistory #Main #ContBox02 .contSubBox table thead th:nth-of-type(3) {
  width: 95px;
}
#PageAbout.pageHistory #Main #ContBox02 .contSubBox table thead th:nth-of-type(4) {
  width: 140px;
}
#PageAbout.pageHistory #Main #ContBox02 .contSubBox table thead th:nth-of-type(5) {
  width: 175px;
}
#PageAbout.pageHistory #Main #ContBox02 .contSubBox table tbody th,
#PageAbout.pageHistory #Main #ContBox02 .contSubBox table tbody td {
  text-align: center;
}
#PageAbout.pageHistory #Main #ContBox02 .contSubBox table tbody th:nth-of-type(2),
#PageAbout.pageHistory #Main #ContBox02 .contSubBox table tbody td:nth-of-type(2) {
  text-align: left;
}
#PageAbout.pageHistory #Main #ContBox02 .contSubBox04 table thead th:nth-of-type(1) {
  width: auto;
}
#PageAbout.pageHistory #Main #ContBox02 .contSubBox04 table thead th:nth-of-type(2) {
  width: 135px;
}
#PageAbout.pageHistory #Main #ContBox02 .contSubBox04 table tbody td:nth-of-type(1) {
  text-align: left;
}
#PageAbout.pageHistory #Main #ContBox02 .contSubBox04 table tbody td:nth-of-type(2) {
  text-align: center;
}

@media print, screen and (max-width: 767px) {
  #PageAbout.pageHistory #Main {
    padding-top: 89px;
  }
  #PageAbout.pageHistory #Main .menuTypePageLink {
    margin-bottom: 65px;
  }
  #PageAbout.pageHistory #Main .contBox {
    margin-bottom: 64px;
  }
  #PageAbout.pageHistory #Main #ContBox01 .contSubBox table th,
  #PageAbout.pageHistory #Main #ContBox01 .contSubBox table td {
    display: block;
  }
  #PageAbout.pageHistory #Main #ContBox01 .contSubBox table th {
    padding: 24px 20px 8px;
    width: 100%;
  }
  #PageAbout.pageHistory #Main #ContBox01 .contSubBox table td {
    padding: 0 24px 24px;
  }
  #PageAbout.pageHistory #Main .menuBox {
    margin-top: 96px;
  }
}
/*
歴代部会長
-------------------------------------*/
#PageAbout.pagePresidenthistory #Main #ContBox01 .innerBasic {
  max-width: 900px;
}
#PageAbout.pagePresidenthistory #Main #ContBox01 table {
  margin-bottom: 16px;
}
#PageAbout.pagePresidenthistory #Main #ContBox01 table thead th:nth-of-type(1) {
  width: 205px;
}
#PageAbout.pagePresidenthistory #Main #ContBox01 table thead th:nth-of-type(2) {
  width: 140px;
}
#PageAbout.pagePresidenthistory #Main #ContBox01 table thead th:nth-of-type(4) {
  width: 155px;
}
#PageAbout.pagePresidenthistory #Main #ContBox01 table td {
  text-align: center;
}
#PageAbout.pagePresidenthistory #Main #ContBox01 table td:nth-of-type(3) {
  text-align: justify;
}

@media print, screen and (max-width: 767px) {
  #Main #ContBox01 .contSubBox .listTypeNote {
    margin-top: 20px;
  }
}
/*
地方支部（共通）
-------------------------------------*/
#BranchMenuBox .innerBasic {
  max-width: 900px;
}
#BranchMenuBox .flex {
  display: flex;
  border-bottom: 1px solid #d0d0d0;
  padding-bottom: 80px;

  gap: 40px;
}
#BranchMenuBox .flex> div {
  width: calc((100% - 40px) / 2);
}

@media print, screen and (max-width: 767px) {
  #BranchMenuBox {
    margin-bottom: 80px;
  }
  #BranchMenuBox .flex {
    flex-wrap: wrap;
    gap: 20px;
  }
  #BranchMenuBox .flex .btnTypeBasic {
    width: 100%;
  }
}
/*
地方支部 下層
-------------------------------------*/
#PageAbout.pageKansai #Main #BranchMenuBox,
#PageAbout.pageKyushu #Main #BranchMenuBox {
  margin-bottom: 80px;
}
#PageAbout.pageKansai #Main #ContBox01 .innerBasic,
#PageAbout.pageKyushu #Main #ContBox01 .innerBasic {
  max-width: 800px;
}
#PageAbout.pageKansai #Main #ContBox01 h3.titleTypeBasic,
#PageAbout.pageKyushu #Main #ContBox01 h3.titleTypeBasic {
  margin-bottom: 30px;
  text-align: center;
}
#PageAbout.pageKansai #Main #ContBox01 .leadText,
#PageAbout.pageKyushu #Main #ContBox01 .leadText {
  margin-bottom: 50px;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox+ .contSubBox,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox+ .contSubBox {
  margin-top: 50px;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox h4.titleTypeBasic,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox h4.titleTypeBasic {
  line-height: 29px;
  font-size: 20px;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox .flex,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox .flex {
  display: flex;
  margin-top: 40px;

  flex-wrap: wrap;
  gap: 40px;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox .flex .box,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox .flex .box {
  padding: 32px 24px;
  width: calc((100% - 40px) / 2);
  background-color: #f1f8fc;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox .flex .box h5,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox .flex .box h5 {
  margin-bottom: 24px;
  line-height: 26px;
  font-size: 18px;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox01 h4,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox01 h4 {
  margin-bottom: 15px;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox01 p,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox01 p {
  margin-bottom: 35px;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox01 p:last-of-type,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox01 p:last-of-type {
  margin-bottom: 0;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox02 h4,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox02 h4 {
  margin-bottom: 40px;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox02 .subBox+ .subBox,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox02 .subBox+ .subBox {
  margin-top: 30px;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox02 .subBox h5,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox02 .subBox h5 {
  margin-bottom: 6px;
  padding-left: 10px;
  line-height: 26px;
  font-size: 18px;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox02 .subBox table td,
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox02 .subBox table td {
  padding: 12px 20px;
}
#PageAbout.pageKansai #Main #ContBox01 .contSubBox02 .subBox table td:nth-of-type(1),
#PageAbout.pageKyushu #Main #ContBox01 .contSubBox02 .subBox table td:nth-of-type(1) {
  padding: 12px 10px;
  width: 220px;
}
#PageAbout.pageKansai #Main #ContBox01 .btnTypeReturn,
#PageAbout.pageKyushu #Main #ContBox01 .btnTypeReturn {
  margin-top: 64px;
  text-align: center;
}

@media print, screen and (max-width: 767px) {
  #PageAbout.pageKansai #Main #ContBox01 .contSubBox .flex,
  #PageAbout.pageKyushu #Main #ContBox01 .contSubBox .flex {
    flex-wrap: wrap;
    gap: 20px;
  }
  #PageAbout.pageKansai #Main #ContBox01 .contSubBox .flex .box,
  #PageAbout.pageKyushu #Main #ContBox01 .contSubBox .flex .box {
    width: 100%;
  }
  #PageAbout.pageKansai #Main #ContBox01 .contSubBox02 .subBox table td,
  #PageAbout.pageKyushu #Main #ContBox01 .contSubBox02 .subBox table td {
    padding: 12px 10px;
  }
  #PageAbout.pageKansai #Main #ContBox01 .contSubBox02 .subBox table td:nth-of-type(1),
  #PageAbout.pageKyushu #Main #ContBox01 .contSubBox02 .subBox table td:nth-of-type(1) {
    width: 50%;
  }
}
/*
ニュースレター
-------------------------------------*/
#PageNewsletter.pageIndex #Main {
  padding-top: 82px;
}
#PageNewsletter.pageIndex #Main #ContBox01 .innerBasic {
  max-width: 900px;
}
#PageNewsletter.pageIndex #Main #ContBox01 figure {
  margin: 0 auto 50px;
  max-width: 310px;
}
#PageNewsletter.pageIndex #Main #ContBox01 figure img {
  width: 100%;
  height: auto;
}
#PageNewsletter.pageIndex #Main #ContBox01 .titleTypeBottomLine {
  margin-bottom: 30px;
  padding-bottom: 10px;
  line-height: 37px;
  text-align: center;
  font-size: 25px;
  color: #006cbc;
}
#PageNewsletter.pageIndex #Main #ContBox01 .textBox {
  margin: 0 auto;
  max-width: 800px;
}
#PageNewsletter.pageIndex #Main #ContBox01 .btnTypeBasic {
  margin-top: 64px;
}
#PageNewsletter.pageIndex #Main #ContBox01 .btnTypeBasic a {
  margin: 0 auto;
  max-width: 430px;
}
#PageNewsletter.pageIndex #Main .menuBox {
  margin-top: 80px;
}
#PageNewsletter.pageIndex #Main .menuBox .innerBasic {
  max-width: 900px;
}
#PageNewsletter.pageIndex #Main .menuBox ul {
  display: flex;

  flex-wrap: wrap;
  gap: 20px;
}
#PageNewsletter.pageIndex #Main .menuBox ul> li {
  width: calc((100% - 40px) / 3);
}

@media print, screen and (max-width: 767px) {
  #PageNewsletter.pageIndex #Main .menuBox ul> li {
    width: 100%;
  }
}
/*
部会だより
-------------------------------------*/
#PageBukaidayori.pageIndex #Main .contBox {
  margin-bottom: 80px;
}
#PageBukaidayori.pageIndex #Main .contBox .innerBasic {
  max-width: 900px;
}
#PageBukaidayori.pageIndex #Main .contBox .titleTypeBottomLine {
  margin-bottom: 32px;
  padding: 0 10px 11px 10px;
  color: #006cbc;
}
#PageBukaidayori.pageIndex #Main .contBox .contSubBox .flex {
  display: flex;
  padding: 0 30px;

  flex-wrap: wrap;
  gap: 20px 40px;
}
#PageBukaidayori.pageIndex #Main .contBox .contSubBox .btnTypeBasic {
  width: calc((100% - 40px) / 2);
}
#PageBukaidayori.pageIndex #Main .contBox .contSubBox .btnTypeBasic a {
  height: 100%;
}
#PageBukaidayori.pageIndex #Main .contBox .contSubBox .btnTypeBasic a .p {
  flex-direction: column;
  display: flex;
  line-height: 24px;
  text-align: left;
  font-size: 16px;

  align-items: flex-start;
  justify-content: center;
}
#PageBukaidayori.pageIndex #Main .contBox .contSubBox .btnTypeBasic a .p small {
  display: block;
  margin-bottom: 4px;
  line-height: 18px;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  color: #8d8d8d;
}
#PageBukaidayori.pageIndex #Main .contBox .contSubBox .btnTypeBasic a .icon {
  width: 53px;
}
#PageBukaidayori.pageIndex #Main .contBox .contSubBox .btnTypeBasic a .icon::before {
  background-size: 23px auto;
}
#PageBukaidayori.pageIndex #Main #ContBox01 .menuTypePageLink ul {
  gap: 30px 25px;
}
#PageBukaidayori.pageIndex #Main .menuBox {
  margin-top: 80px;
  margin-bottom: 0 !important;
}
#PageBukaidayori.pageIndex #Main .menuBox .innerBasic {
  max-width: 900px;
}
#PageBukaidayori.pageIndex #Main .menuBox ul {
  display: flex;

  flex-wrap: wrap;
  gap: 20px;
}
#PageBukaidayori.pageIndex #Main .menuBox ul> li {
  width: calc((100% - 40px) / 3);
}

@media print, screen and (max-width: 767px) {
  #PageBukaidayori.pageIndex #Main .contBox .contSubBox .flex {
    padding: 0;
  }
  #PageBukaidayori.pageIndex #Main .contBox .contSubBox .flex .btnTypeBasic {
    width: 100%;
  }
  #PageBukaidayori.pageIndex #Main .contBox .contSubBox .flex .btnTypeBasic a .icon::before {
    background-size: 20px auto;
  }
  #PageBukaidayori.pageIndex #Main .menuBox ul> li {
    width: 100%;
  }
}
/*
法人会員
-------------------------------------*/
#PageAbout.pageCompany #Main #ContBox01 .innerBasic {
  max-width: 900px;
}
#PageAbout.pageCompany #Main #ContBox01 .innerBasic> p {
  margin-bottom: 24px;
}
#PageAbout.pageCompany #Main #ContBox01 .box {
  display: flex;
  border-top: 1px solid #d0d0d0;
  padding: 24px 17px;
  min-height: 123px;

  align-items: center;
}
#PageAbout.pageCompany #Main #ContBox01 .box:last-of-type {
  border-bottom: 1px solid #d0d0d0;
}
#PageAbout.pageCompany #Main #ContBox01 .box dt {
  display: flex;
  padding-right: 17px;
  width: 50%;

  align-items: center;
  gap: 10px;
}
#PageAbout.pageCompany #Main #ContBox01 .box dt img {
  max-width: 100%;
  height: auto;
}
#PageAbout.pageCompany #Main #ContBox01 .box dt p {
  margin-bottom: 0;
  line-height: 15px;
  font-size: 14px;
}
#PageAbout.pageCompany #Main #ContBox01 .box dd {
  width: 50%;
}
#PageAbout.pageCompany #Main #ContBox01 .box dd a {
  display: block;
  line-height: 24px;
  text-decoration: none;
  color: #231915;
}
#PageAbout.pageCompany #Main #ContBox01 .box dd a span {
  display: block;
  margin-top: 2px;
  line-height: 18px;
  word-break: break-all;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  color: #8d8d8d;
}

@media print, screen and (min-width: 768px) {
  #PageAbout.pageCompany #Main #ContBox01 .contSubBox .box a span {
    transition: color .5s ease;
  }
  #PageAbout.pageCompany #Main #ContBox01 .contSubBox .box a:hover {
    text-decoration: underline;
    color: #006cbc;
  }
  #PageAbout.pageCompany #Main #ContBox01 .contSubBox .box a:hover span {
    color: #006cbc;
  }
}
@media print, screen and (max-width: 767px) {
  #PageAbout.pageCompany #Main #ContBox01 .box {
    flex-direction: column;

    align-items: flex-start;
    gap: 12px 0;
  }
  #PageAbout.pageCompany #Main #ContBox01 .box dt {
    padding-right: 0;
    width: 100%;
  }
  #PageAbout.pageCompany #Main #ContBox01 .box dd {
    width: 100%;
  }
}
/*
新着情報 共通
-------------------------------------*/
#PageNews #Main,
#PageInfo #Main,
#PageEvent #Main,
#PageAwards #Main {
  padding: 62px 0 100px;
}
#PageNews #Main .innerBasic,
#PageInfo #Main .innerBasic,
#PageEvent #Main .innerBasic,
#PageAwards #Main .innerBasic {
  max-width: 900px;
}
#PageNews #Main h3.titleTypeBottomLine,
#PageInfo #Main h3.titleTypeBottomLine,
#PageEvent #Main h3.titleTypeBottomLine,
#PageAwards #Main h3.titleTypeBottomLine {
  margin-bottom: 34px;
  padding-bottom: 10px;
  line-height: 37px;
  text-align: center;
  font-size: 25px;
  color: #006cbc;
}
#PageNews #Main .titleTypeBottomLine:not(h3),
#PageInfo #Main .titleTypeBottomLine:not(h3),
#PageEvent #Main .titleTypeBottomLine:not(h3),
#PageAwards #Main .titleTypeBottomLine:not(h3) {
  margin-bottom: 50px;
  padding-bottom: 11px;
  line-height: 29px;
  font-size: 20px;
  color: #006cbc;
}
#PageNews #Main .menuTypeNews,
#PageInfo #Main .menuTypeNews,
#PageEvent #Main .menuTypeNews,
#PageAwards #Main .menuTypeNews {
  margin-bottom: 65px;
}
#PageNews #Main .postTypeNews> li,
#PageInfo #Main .postTypeNews> li,
#PageEvent #Main .postTypeNews> li,
#PageAwards #Main .postTypeNews> li {
  border-bottom: 1px solid #d0d0d0;
}
#PageNews #Main .postTypeNews> li+ li,
#PageInfo #Main .postTypeNews> li+ li,
#PageEvent #Main .postTypeNews> li+ li,
#PageAwards #Main .postTypeNews> li+ li {
  margin-top: 0;
}
#PageNews #Main .postTypeNews> li a,
#PageInfo #Main .postTypeNews> li a,
#PageEvent #Main .postTypeNews> li a,
#PageAwards #Main .postTypeNews> li a {
  padding: 24px 0;
}
#PageNews #Main .postBox+ .postBox,
#PageInfo #Main .postBox+ .postBox,
#PageEvent #Main .postBox+ .postBox,
#PageAwards #Main .postBox+ .postBox {
  margin-top: 64px;
}
#PageNews #Main .postBox,
#PageInfo #Main .postBox,
#PageEvent #Main .postBox,
#PageAwards #Main .postBox {
  border: 1px solid #006cbc;
  padding: 40px 50px;
}
#PageNews #Main .postBox dl dt,
#PageInfo #Main .postBox dl dt,
#PageEvent #Main .postBox dl dt,
#PageAwards #Main .postBox dl dt {
  margin-bottom: 32px;
  border-bottom: 1px solid #006cbc;
  padding-bottom: 20px;
}
#PageNews #Main .postBox dl dt .date,
#PageInfo #Main .postBox dl dt .date,
#PageEvent #Main .postBox dl dt .date,
#PageAwards #Main .postBox dl dt .date {
  display: block;
  margin-bottom: 4px;
  line-height: 18px;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  color: #8d8d8d;
}
#PageNews #Main .postBox dl dt .title,
#PageInfo #Main .postBox dl dt .title,
#PageEvent #Main .postBox dl dt .title,
#PageAwards #Main .postBox dl dt .title {
  margin-bottom: 0;
  line-height: 26px;
  font-size: 18px;
}
#PageNews #Main .postBox dl dd> *:last-child,
#PageInfo #Main .postBox dl dd> *:last-child,
#PageEvent #Main .postBox dl dd> *:last-child,
#PageAwards #Main .postBox dl dd> *:last-child {
  margin-bottom: 0;
}
#PageNews #Main .postBox .btnTypeMore,
#PageInfo #Main .postBox .btnTypeMore,
#PageEvent #Main .postBox .btnTypeMore,
#PageAwards #Main .postBox .btnTypeMore {
  margin-top: 40px;
}
#PageNews #Main .postBox .btnTypeMore a::before,
#PageInfo #Main .postBox .btnTypeMore a::before,
#PageEvent #Main .postBox .btnTypeMore a::before,
#PageAwards #Main .postBox .btnTypeMore a::before {
  margin: 0 0 0 5px;
  background-image: url(../img/arrow_02_wh_small.png);
  background-size: 3px auto;

  order: 1;
}
#PageNews #Main .btnTypeMore,
#PageInfo #Main .btnTypeMore,
#PageEvent #Main .btnTypeMore,
#PageAwards #Main .btnTypeMore {
  margin-top: 64px;
  text-align: center;
}
#PageNews #Main .btnTypeMore a::before,
#PageInfo #Main .btnTypeMore a::before,
#PageEvent #Main .btnTypeMore a::before,
#PageAwards #Main .btnTypeMore a::before {
  background-image: url(../img/arrow_05_wh_small.png);
  background-size: 7px auto;
}

@media print, screen and (min-width: 768px) {
  #PageNews #Main .postBox .btnTypeMore a:hover::before,
  #PageInfo #Main .postBox .btnTypeMore a:hover::before,
  #PageEvent #Main .postBox .btnTypeMore a:hover::before,
  #PageAwards #Main .postBox .btnTypeMore a:hover::before {
    background-position: left 10px center;
  }
  #PageNews #Main .btnTypeMore a:hover::before,
  #PageInfo #Main .btnTypeMore a:hover::before,
  #PageEvent #Main .btnTypeMore a:hover::before,
  #PageAwards #Main .btnTypeMore a:hover::before {
    background-position: center top 10px;
  }
}
@media print, screen and (max-width: 767px) {
  #PageNews #Main .menuTypeNews,
  #PageInfo #Main .menuTypeNews,
  #PageEvent #Main .menuTypeNews,
  #PageAwards #Main .menuTypeNews {
    margin-bottom: 65px;
    padding: 0 20px;
  }
  #PageNews #Main .menuTypeNews ul,
  #PageInfo #Main .menuTypeNews ul,
  #PageEvent #Main .menuTypeNews ul,
  #PageAwards #Main .menuTypeNews ul {
    gap: 16px 10px;
  }
  #PageNews #Main .menuTypeNews ul> li,
  #PageInfo #Main .menuTypeNews ul> li,
  #PageEvent #Main .menuTypeNews ul> li,
  #PageAwards #Main .menuTypeNews ul> li {
    width: calc((100% - 10px) / 2);
    min-height: 50px;
  }
  #PageNews #Main .menuTypeNews ul> li a span,
  #PageInfo #Main .menuTypeNews ul> li a span,
  #PageEvent #Main .menuTypeNews ul> li a span,
  #PageAwards #Main .menuTypeNews ul> li a span {
    padding: 13px 9px;
  }
  #PageNews #Main h3.titleTypeBottomLine,
  #PageInfo #Main h3.titleTypeBottomLine,
  #PageEvent #Main h3.titleTypeBottomLine,
  #PageAwards #Main h3.titleTypeBottomLine {
    margin-bottom: 40px;
  }
  #PageNews #Main .titleTypeBottomLine:not(h3),
  #PageInfo #Main .titleTypeBottomLine:not(h3),
  #PageEvent #Main .titleTypeBottomLine:not(h3),
  #PageAwards #Main .titleTypeBottomLine:not(h3) {
    margin-bottom: 40px;
  }
  #PageNews #Main .postBox,
  #PageInfo #Main .postBox,
  #PageEvent #Main .postBox,
  #PageAwards #Main .postBox {
    padding: 32px 20px;
  }
  #PageNews #Main .postBox+ .postBox,
  #PageInfo #Main .postBox+ .postBox,
  #PageEvent #Main .postBox+ .postBox,
  #PageAwards #Main .postBox+ .postBox {
    margin-top: 40px;
  }
  #PageNews #Main .postBox dl dt,
  #PageInfo #Main .postBox dl dt,
  #PageEvent #Main .postBox dl dt,
  #PageAwards #Main .postBox dl dt {
    margin-bottom: 24px;
    padding-bottom: 16px;
  }
  #PageNews #Main .btnTypeMore,
  #PageInfo #Main .btnTypeMore,
  #PageEvent #Main .btnTypeMore,
  #PageAwards #Main .btnTypeMore {
    margin-top: 40px;
  }
}
/*
新着情報
-------------------------------------*/
#PageNews.pageIndex #Main .menuTypeNews {
  margin-bottom: 40px;
}

/*
お知らせ 共通
-------------------------------------*/
#PageInfo #Main .contBox .menuTypeSubCat {
  margin-bottom: 40px;
}
#PageInfo #Main .contBox .menuTypeSubCat> ul {
  gap: 20px 40px;
}

@media print, screen and (max-width: 767px) {
  #PageInfo #Main .contBox .menuTypeSubCat> ul {
    gap: 10px 20px;
  }
}
/*
お知らせ
-------------------------------------*/
#PageInfo.pageIndex #Main #ContBox01 .contSubBox01 {
  margin-bottom: 80px;
  padding: 0 50px;
}
#PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex {
  display: flex;

  flex-wrap: wrap;
  gap: 40px 80px;
}
#PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post {
  display: block;
  width: calc((100% - 80px) / 2);
  background-color: #f1f8fc;
  text-decoration: none;
  color: #231915;
}
#PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl {
  padding: 25px 30px 30px;
  text-align: center;
}
#PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl .category {
  margin-bottom: 18px;
  line-height: 29px;
  font-family: "Shippori Antique", sans-serif;
  font-size: 20px;
  color: #006cbc;
}
#PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl .image {
  margin: 0 auto;
  width: 100%;
  max-width: 240px;
}
#PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl .image figure {
  padding-top: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
#PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl .text {
  margin-top: 20px;
}
#PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl .text p {
  margin-bottom: 0;
  line-height: 24px;
}

@media print, screen and (min-width: 768px) {
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post .image {
    overflow: hidden;
  }
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post .image figure {
    transition: .5s ease;
    transform: scale(1);
  }
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post .text .category {
    display: none;
  }
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post:hover .image figure {
    transform: scale(1.1);
  }
}
@media print, screen and (max-width: 767px) {
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 {
    margin-bottom: 40px;
    padding: 0;
  }
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex {
    gap: 16px;
  }
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post {
    width: 100%;
  }
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl {
    display: flex;
    padding: 16px 20px;

    gap: 0 24px;
    align-items: center;
  }
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl dt.category {
    display: none;
  }
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl .category {
    margin-bottom: 0;
    line-height: 22px;
    text-align: justify;
    font-size: 15px;
  }
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl .image {
    margin: 0;
    width: 92px;
  }
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl .text {
    margin-top: 0;

    flex: 1;
  }
  #PageInfo.pageIndex #Main #ContBox01 .contSubBox01 .flex .post dl .text p {
    margin-top: 7px;
    line-height: 18px;
    font-size: 12px;
  }
}
/*
お知らせ カテゴリアーカイブ
-------------------------------------*/
#PageInfo.pageCategory #Main #ContBox01 .menuTypeSubCat {
  margin-bottom: 65px;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox+ .contSubBox {
  margin-top: 100px;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox01 h4 {
  margin-bottom: 70px;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter {
  display: flex;
  margin: 0 auto;
  max-width: 800px;

  flex-wrap: wrap;
  gap: 64px 90px;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li {
  width: calc((100% - 180px) / 3);
}
#PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li a {
  display: block;
  text-decoration: none;
  color: #231915;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li a .image {
  margin: 0 auto;
  width: 100%;
  max-width: 166px;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li a .image figure {
  padding-top: 145.1807228916%;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li a p {
  margin: 20px 0 0;
  line-height: 24px;
  letter-spacing: 0;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox01 .btnTypeBasic {
  margin: 64px auto 0;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox01 .btnTypeBasic a {
  margin: 0 auto;
  max-width: 430px;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox02 .titleTypeBottomLine {
  margin-bottom: 32px;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox02 .textBox {
  padding: 0 50px;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox02 .subBox {
  margin-top: 80px;
  padding: 49px 50px;
  background-color: #f1f8fc;
}
#PageInfo.pageCategory #Main #newsletter .contSubBox02 p:last-of-type {
  margin-bottom: 0;
}
#PageInfo.pageCategory #Main #etc .titleTypeBottomLine {
  margin-bottom: 50px;
}

@media print, screen and (min-width: 768px) {
  #PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li a figure {
    overflow: hidden;
  }
  #PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li a figure img {
    transition: .5s ease;
    transform: scale(1);
  }
  #PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li a:hover {
    color: #006cbc;
  }
  #PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li a:hover figure img {
    transform: scale(1.1);
  }
}
@media print, screen and (max-width: 767px) {
  #PageInfo.pageCategory #Main #newsletter .contSubBox01 h4 {
    margin-bottom: 40px;
  }
  #PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter {
    gap: 40px 20px;
  }
  #PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li {
    width: calc((100% - 20px) / 2);
  }
  #PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li a .image {
    max-width: 130px;
  }
  #PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li a .image figure {
    padding-top: 145.3846153846%;
  }
  #PageInfo.pageCategory #Main #newsletter .contSubBox01 .postTypeNewsletter> li a p {
    margin-top: 12px;
    line-height: 20px;
    font-size: 13px;
  }
  #PageInfo.pageCategory #Main #newsletter .contSubBox01 .btnTypeBasic {
    margin-top: 40px;
  }
  #PageInfo.pageCategory #Main #newsletter .contSubBox02 .textBox {
    padding: 0;
  }
  #PageInfo.pageCategory #Main #newsletter .contSubBox02 .subBox {
    margin-top: 40px;
    padding: 25px;
  }
}
/*
お知らせ 記事詳細
-------------------------------------*/
#PageInfo.pageEntry #Main #ContBox01 .metaBox {
  margin-bottom: 16px;
}
#PageInfo.pageEntry #Main #ContBox01 .metaBox .date {
  display: block;
  margin-bottom: 4px;
  line-height: 18px;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  color: #8d8d8d;
}
#PageInfo.pageEntry #Main #ContBox01 .metaBox .title {
  line-height: 29px;
  font-size: 20px;
}
#PageInfo.pageEntry #Main #ContBox01 .entryBox {
  border: solid #d0d0d0;
  border-width: 1px 0 1px 0;
  padding: 64px 50px;
}
#PageInfo.pageEntry #Main #ContBox01 .entryBox> *:last-child {
  margin-bottom: 0;
}
#PageInfo.pageEntry #Main #ContBox01 .navBox {
  margin-top: 40px;
}

@media print, screen and (max-width: 767px) {
  #PageInfo.pageEntry #Main #ContBox01 .entryBox {
    padding: 30px 0;
  }
}
/*
イベント 共通
-------------------------------------*/
#PageEvent #Main .contBox .menuTypeSubCat {
  margin-bottom: 64px;
}

/*
イベント
-------------------------------------*/
#PageEvent.pageCategory #Main #ContBox01 .contSubBox+ .contSubBox {
  margin-top: 100px;
}

/*
イベント 記事詳細
-------------------------------------*/
#PageEvent.pageEntry #Main #ContBox01 .metaBox {
  margin-bottom: 16px;
}
#PageEvent.pageEntry #Main #ContBox01 .metaBox .date {
  display: block;
  margin-bottom: 4px;
  line-height: 18px;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  color: #8d8d8d;
}
#PageEvent.pageEntry #Main #ContBox01 .metaBox .title {
  line-height: 29px;
  font-size: 20px;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox {
  border: solid #d0d0d0;
  border-width: 1px 0 1px 0;
  padding: 50px 0 88px;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .entryBox> *:last-child {
  margin-bottom: 0;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .entryBox+ .freeInputBox {
  margin-top: 90px;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .btnTypeBasic a {
  margin: 64px auto 0;
  max-width: 430px;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .btnTypeBasic+ .freeInputBox {
  margin-top: 90px;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .titleTypeFill {
  margin-bottom: 40px;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox {
  padding: 0 50px;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox table {
  width: 100%;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox table tr th,
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox table tr td {
  border-bottom: 1px solid #d0d0d0;
  padding: 24px 0;
  line-height: 30px;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox table tr th {
  padding-right: 20px;
  padding-left: 20px;
  width: 194px;
  font-weight: 400;
  color: #006cbc;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox table tr td p {
  margin-bottom: 30px;
  line-height: 30px;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox table tr td p:last-of-type {
  margin-bottom: 0;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox .box {
  margin-top: 120px;
}
#PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox .box .titleTypeBottomLine {
  padding-bottom: 12px;
  line-height: 26px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 600;
}
#PageEvent.pageEntry #Main #ContBox01 .navBox {
  margin-top: 40px;
}

@media print, screen and (max-width: 767px) {
  #PageEvent.pageEntry #Main #ContBox01 .contSubBox {
    padding: 30px 0 68px;
  }
  #PageEvent.pageEntry #Main #ContBox01 .contSubBox .entryBox {
    padding: 0;
  }
  #PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox {
    margin-top: 64px;
  }
  #PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .titleTypeFill {
    margin-bottom: 18px;
    padding: 15px 20px;
    line-height: 26px;
    font-size: 18px;
  }
  #PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox {
    padding: 0;
  }
  #PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox table tr th,
  #PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox table tr td {
    display: block;
    padding: 0 20px;
    width: 100%;
    word-break: break-word;
  }
  #PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox table tr th {
    margin-bottom: 8px;
    border-bottom-width: 0;
    padding-top: 24px;
  }
  #PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox table tr td {
    padding-bottom: 24px;
  }
  #PageEvent.pageEntry #Main #ContBox01 .contSubBox .freeInputBox .textBox .box {
    margin-top: 80px;
  }
}
/*
賞関連情報 共通
-------------------------------------*/
#PageAwards #Main .contBox .menuTypeSubCat {
  margin-bottom: 64px;
}

@media print, screen and (max-width: 767px) {
  #PageAwards #Main .contBox .menuTypeSubCat {
    margin-bottom: 40px;
  }
}
/*
賞関連情報
-------------------------------------*/
#PageAwards.pageIndex #Main #ContBox01 .postTypeNews> li a .meta .category> li {
  min-width: 188px;
}

/*
賞関連情報 カテゴリアーカイブ
-------------------------------------*/
#PageAwards.pageCategory #Main .menuTypeNews.noshow {
  display: none;
}
#PageAwards.pageCategory #Main .titleTypeBasic {
  margin-bottom: 22px;
}
#PageAwards.pageCategory #Main .tableTypeAwards {
  width: 100%;
}
#PageAwards.pageCategory #Main .tableTypeAwards tr:nth-of-type(odd) th,
#PageAwards.pageCategory #Main .tableTypeAwards tr:nth-of-type(odd) td {
  background-color: #f1f8fc;
}
#PageAwards.pageCategory #Main .tableTypeAwards th {
  padding: 30px 20px 30px 50px;
  width: 270px;
  font-weight: 600;
}
#PageAwards.pageCategory #Main .tableTypeAwards td {
  padding: 30px 50px 30px 0;
}
#PageAwards.pageCategory #Main .btnTypeReturn {
  margin-top: 64px;
  text-align: center;
}

@media print, screen and (max-width: 767px) {
  #PageAwards.pageCategory #Main .tableTypeAwards th,
  #PageAwards.pageCategory #Main .tableTypeAwards td {
    display: block;
    width: 100%;
  }
  #PageAwards.pageCategory #Main .tableTypeAwards th {
    padding: 24px 20px 4px;
  }
  #PageAwards.pageCategory #Main .tableTypeAwards td {
    padding: 4px 20px 24px;
  }
}
/*
記事詳細
-------------------------------------*/
#PageAwards.pageEntry #Main #ContBox01 .metaBox {
  margin-bottom: 16px;
}
#PageAwards.pageEntry #Main #ContBox01 .metaBox .date {
  display: block;
  margin-bottom: 4px;
  line-height: 18px;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  color: #8d8d8d;
}
#PageAwards.pageEntry #Main #ContBox01 .metaBox .title {
  line-height: 29px;
  font-size: 20px;
}
#PageAwards.pageEntry #Main #ContBox01 .entryBox {
  border: solid #d0d0d0;
  border-width: 1px 0 1px 0;
  padding: 48px 50px 64px;
}
#PageAwards.pageEntry #Main #ContBox01 .entryBox .btnTypeBasic {
  margin: 64px auto 0;
  text-align: center;
  letter-spacing: 0;
}
#PageAwards.pageEntry #Main #ContBox01 .entryBox .btnTypeBasic> a {
  display: inline-flex;
}

@media print, screen and (max-width: 767px) {
  #PageAwards.pageEntry #Main #ContBox01 .entryBox {
    padding: 32px 0;
  }
  #PageAwards.pageEntry #Main #ContBox01 .entryBox .btnTypeBasic> a .p {
    text-align: left;
  }
}
/*
イベントカレンダー
-------------------------------------*/
#PageEventcalendar.pageIndex #Main {
  padding-top: 50px;
}
#PageEventcalendar.pageIndex #Main .innerBasic {
  max-width: 900px;
}
#PageEventcalendar.pageIndex #Main .textBox {
  margin-bottom: 40px;
}
#PageEventcalendar.pageIndex #Main .textBox p {
  margin-bottom: 20px;
  text-align: center;
}
#PageEventcalendar.pageIndex #Main .textBox p:last-of-type {
  margin-bottom: 0;
}
#PageEventcalendar.pageIndex #Main .contBox+ .contBox {
  margin-top: 50px;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox {
  padding: 30px 50px 0;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .contSubBox+ .contSubBox {
  margin-top: 30px;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .titleTypeBasic {
  margin-bottom: 11px;
  line-height: 45px;
  font-size: 30px;
  color: #231915;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .titleTypeBasic span {
  font-size: 40px;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card {
  display: flex;
  border: 1px solid #3f92e0;
  width: 100%;
  background-color: #fff;
  text-decoration: none;
  color: #231915;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card+ .card {
  margin-top: 15px;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card dl {
  display: flex;
  padding: 30px 35px;
  width: calc(100% - 47px);
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .date {
  flex-direction: column;
  display: flex;
  width: 160px;

  justify-content: center;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .date p {
  margin-bottom: 0;
  line-height: 36px;
  font-size: 25px;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .date p span {
  font-size: 40px;
  color: #006cbc;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .date {
  border-right: 1px solid #3f92e0;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .text {
  padding-left: 30px;
  width: calc(100% - 160px);
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .text .label {
  display: inline-block;
  margin-bottom: 10px;
  padding: 2px 12px;
  min-width: 100px;
  background-color: #e0f3ff;
  text-align: center;
  font-size: 12px;
  color: #006cbc;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .text .title {
  margin-bottom: 0;
  line-height: 26px;
  font-size: 18px;
  color: #006cbc;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .text .venue {
  margin: 20px 0 0;
  line-height: 24px;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card .arrow {
  position: relative;
  width: 47px;
  background: linear-gradient(to bottom, rgb(109, 192, 230) 0%, rgb(71, 150, 203) 15%, rgb(28, 129, 201) 66%, rgb(109, 192, 230) 100%);
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card .arrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #006cbc;
  opacity: 0;
  transition: .5s ease;
}
#PageEventcalendar.pageIndex #Main .contBox .showBox .card .arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 16px;
  background: url(../img/arrow_02_wh.png) no-repeat left top;
  background-size: 100% auto;
  transition: .5s ease;
  transform: translate(-50%, -50%);
}
#PageEventcalendar.pageIndex #Main .contBox:first-of-type .showBox {
  display: block;
}

@media print, screen and (min-width: 768px) {
  #PageEventcalendar.pageIndex #Main .contBox .click p {
    padding: 15px 25px 14px;
    line-height: 41px;
    font-size: 28px;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .card:hover {
    background-color: #f1f8fc;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .card:hover dl dd.text .title {
    text-decoration: underline;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .card:hover .arrow::before {
    opacity: 1;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .card:hover .arrow::after {
    left: calc(50% + 2px);
  }
}
@media print, screen and (max-width: 767px) {
  #PageEventcalendar.pageIndex #Main {
    padding-top: 40px;
  }
  #PageEventcalendar.pageIndex #Main .textBox {
    margin-bottom: 40px;
  }
  #PageEventcalendar.pageIndex #Main .textBox p {
    line-height: 24px;
    text-align: justify;
  }
  #PageEventcalendar.pageIndex #Main .contBox .click p {
    padding: 15px 24px 16px;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox {
    padding: 40px 0 0;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .titleTypeBasic {
    margin-bottom: 20px;
    line-height: 20px;
    font-size: 16px;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .titleTypeBasic span {
    font-size: 30px;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .card dl {
    flex-direction: column;
    padding: 16px 20px 20px;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .date {
    flex-direction: row;
    margin-bottom: 16px;
    border: solid #3f92e0;
    border-width: 0 0 1px 0;
    padding-bottom: 5px;
    width: 100%;

    align-items: flex-end;
    justify-content: left;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .date p {
    line-height: 26px;
    font-size: 18px;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .date p span {
    font-size: 24px;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .text {
    padding-left: 0;
    width: 100%;
  }
  #PageEventcalendar.pageIndex #Main .contBox .showBox .card dl .text .venue {
    margin-top: 16px;
    line-height: 30px;
  }
}
/*
ギャラリー
-------------------------------------*/
#PageGallery.pageIndex #Main #ContBox01 .innerBasic {
  max-width: 900px;
}
#PageGallery.pageIndex #Main #ContBox01 .textBox {
  margin-bottom: 40px;
  border-bottom: 1px solid #d0d0d0;
  padding-bottom: 16px;
}
#PageGallery.pageIndex #Main #ContBox01 .textBox p {
  margin-bottom: 0;
}
#PageGallery.pageIndex #Main #ContBox01 .flex {
  display: flex;
  padding: 0 30px;

  flex-wrap: wrap;
  gap: 40px 50px;
}
#PageGallery.pageIndex #Main #ContBox01 .flex .linkBox {
  width: calc((100% - 50px) / 2);
}
#PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a {
  display: block;
  text-decoration: none;
  color: #fff;
}
#PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a .image {
  overflow: hidden;
  width: 100%;
}
#PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a .image figure {
  padding-top: 53%;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
#PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a .text {
  position: relative;
  background: linear-gradient(to bottom, rgb(109, 192, 230) 0%, rgb(71, 150, 203) 15%, rgb(28, 129, 201) 66%, rgb(109, 192, 230) 100%);
}
#PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a .text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #006cbc;
  opacity: 0;
}
#PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a .text p {
  position: relative;
  margin-bottom: 0;
  padding: 13px 42px 13px 20px;
  background: url(../img/arrow_02_wh.png) no-repeat right 18px center;
  background-size: 6px auto;
  line-height: 29px;
  font-family: "Shippori Antique", sans-serif;
  font-size: 20px;
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  #PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a .image figure {
    transition: .5s ease;
    transform: scale(1);
  }
  #PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a .text::before {
    transition: .5s ease;
  }
  #PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a .text p {
    transition: .5s ease;
  }
  #PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a:hover .image figure {
    transform: scale(1.1);
  }
  #PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a:hover .text::before {
    opacity: 1;
  }
  #PageGallery.pageIndex #Main #ContBox01 .flex .linkBox> a:hover .text p {
    background-position: right 16px center;
  }
}
@media print, screen and (max-width: 767px) {
  #PageGallery.pageIndex #Main #ContBox01 .flex {
    padding: 0;
  }
  #PageGallery.pageIndex #Main #ContBox01 .flex .linkBox {
    width: 100%;
  }
}
/*
カテゴリアーカイブ
-------------------------------------*/
#PageGallery.pageCategory #Main #ContBox01 .innerBasic {
  max-width: 900px;
}
#PageGallery.pageCategory #Main #ContBox01 h3 {
  margin-bottom: 40px;
  text-align: center;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .textBox {
  margin: -18px 0 57px;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .box {
  display: flex;
  background-color: #f1f8fc;

  flex-wrap: wrap;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .box+ .box {
  margin-top: 50px;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .box .image img {
  width: 100%;
  height: auto;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .box .content {
  flex: 1;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .box .content h4 {
  margin-bottom: 18px;
  line-height: 29px;
  font-size: 20px;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .box .content .text p:last-of-type {
  margin-bottom: 0;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .box .content .author {
  margin-top: 20px;
  border-top: 1px solid #d0d0d0;
  padding-top: 20px;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .box .content .author p {
  margin-bottom: 0;
  line-height: 24px;
  font-weight: 600;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeExhibit {
  padding: 40px;

  gap: 0 50px;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeExhibit .image {
  width: 43.9024390244%;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeGreat {
  padding: 64px 50px;

  gap: 0 50px;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeGreat .titleTypeBottomLine {
  margin-bottom: 40px;
  width: 100%;
  color: #006cbc;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeGreat .titleTypeBottomLine span {
  margin-left: 4px;
  line-height: 24px;
  font-size: 16px;
  color: #231915;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeGreat .image {
  width: 230px;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeOther {
  padding: 32px 40px 40px;

  gap: 0 50px;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeOther .label {
  margin-bottom: 23px;
  width: 100%;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeOther .label p {
  margin-bottom: 0;
  line-height: 25px;
  font-family: "Shippori Antique", sans-serif;
  font-size: 18px;
  color: #006cbc;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeOther .image {
  width: 170px;
}
#PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeOther .content .author {
  margin-top: 32px;
  padding-top: 24px;
}

@media print, screen and (max-width: 767px) {
  #PageGallery.pageCategory #Main #ContBox01 .contSubBox .box {
    flex-direction: column;
    padding: 32px 20px;
  }
  #PageGallery.pageCategory #Main #ContBox01 .contSubBox .box+ .box {
    margin-top: 40px;
  }
  #PageGallery.pageCategory #Main #ContBox01 .contSubBox .box .content h4 {
    margin-bottom: 15px;
    line-height: 26px;
    font-size: 18px;
  }
  #PageGallery.pageCategory #Main #ContBox01 .contSubBox .box .content p {
    line-height: 30px;
    font-size: 15px;
  }
  #PageGallery.pageCategory #Main #ContBox01 .contSubBox .box .content .author p {
    line-height: 21px;
  }
  #PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeExhibit .image {
    margin-bottom: 24px;
    width: 100%;
  }
  #PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeGreat .titleTypeBottomLine {
    margin-bottom: 32px;
    padding-bottom: 16px;
    text-align: left;
    letter-spacing: 0;
  }
  #PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeGreat .titleTypeBottomLine span {
    display: block;
    margin: 8px 0 0;
    line-height: 21px;
    font-size: 14px;
  }
  #PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeGreat .image {
    margin: 0 auto 24px;
    max-width: 180px;
  }
  #PageGallery.pageCategory #Main #ContBox01 .contSubBox .boxTypeOther .image {
    margin: 0 auto 24px;
    max-width: 180px;
  }
}
/*
入会案内
-------------------------------------*/
#PageParticipation.pageIndex #Main .contBox+ .contBox {
  margin-top: 100px;
}
#PageParticipation.pageIndex #Main .contBox .innerBasic {
  max-width: 900px;
}
#PageParticipation.pageIndex #Main .contBox .contSubBox {
  padding: 0 50px;
}
#PageParticipation.pageIndex #Main .contBox .titleTypeBottomLine {
  margin-bottom: 40px;
  padding-bottom: 10px;
  padding-left: 10px;
  font-size: 20px;
  color: #006cbc;
}
#PageParticipation.pageIndex #Main .contBox .flex {
  display: flex;

  flex-wrap: wrap;
}
#PageParticipation.pageIndex #Main #ContBox01 .flex {
  margin-bottom: 40px;

  gap: 40px;
}
#PageParticipation.pageIndex #Main #ContBox01 .flex figure {
  width: calc((100% - 40px) / 2);
}
#PageParticipation.pageIndex #Main #ContBox01 .flex figure img {
  width: 100%;
  height: auto;
}
#PageParticipation.pageIndex #Main #ContBox01 .btnTypeBasic {
  margin-top: 64px;
}
#PageParticipation.pageIndex #Main #ContBox01 .btnTypeBasic a {
  margin: 0 auto;
  max-width: 400px;
}
#PageParticipation.pageIndex #Main #ContBox02 .contSubBox table {
  table-layout: fixed;
  width: 100%;
}
#PageParticipation.pageIndex #Main #ContBox02 .contSubBox table th,
#PageParticipation.pageIndex #Main #ContBox02 .contSubBox table td {
  border: 1px solid #d0d0d0;
  padding: 8px 20px;
}
#PageParticipation.pageIndex #Main #ContBox02 .contSubBox table th {
  width: 170px;
  background-color: #f1f8fc;
  font-weight: 600;
}
#PageParticipation.pageIndex #Main #ContBox02 .contSubBox table td:nth-of-type(1) {
  width: 168px;
}
#PageParticipation.pageIndex #Main #ContBox02 .contSubBox table td:last-of-type {
  width: 160px;
  text-align: right;
}
#PageParticipation.pageIndex #Main #ContBox03 .contSubBox {
  padding: 0;
}
#PageParticipation.pageIndex #Main #ContBox03 .contSubBox> p {
  margin-bottom: 50px;
  text-align: center;
}
#PageParticipation.pageIndex #Main #ContBox03 .contSubBox .flex {
  margin-bottom: 60px;

  gap: 40px;
}
#PageParticipation.pageIndex #Main #ContBox03 .contSubBox .flex> div {
  width: calc((100% - 40px) / 2);
}
#PageParticipation.pageIndex #Main #ContBox03 .contSubBox .flex .btnTypeBasic a .p {
  font-size: 22px;
}
#PageParticipation.pageIndex #Main #ContBox03 .contSubBox .flex .btnTypeBasic a .p small {
  display: block;
  font-size: 15px;
  color: #006cbc;
}
#PageParticipation.pageIndex #Main #ContBox03 .contSubBox .subBox {
  margin: 0 auto;
  padding: 40px;
  width: 100%;
  max-width: 568px;
  background-color: #f1f8fc;
}
#PageParticipation.pageIndex #Main #ContBox03 .contSubBox .subBox h4 {
  margin-bottom: 30px;
  text-align: center;
  font-family: "Shippori Antique", sans-serif;
  font-size: 20px;
  color: #006cbc;
}
#PageParticipation.pageIndex #Main #ContBox03 .contSubBox .subBox p {
  margin-bottom: 0;
  line-height: 25px;
  text-align: center;
}
#PageParticipation.pageIndex #Main #ContBox03 .contSubBox .subBox p.large {
  margin-bottom: 16px;
  line-height: 26px;
  font-size: 18px;
}

@media print, screen and (max-width: 1030px) {
  #PageParticipation.pageIndex #Main #ContBox02 .contSubBox .scrollBox {
    overflow-x: scroll;
    position: relative;
    padding-bottom: 24px;
    width: 100%;
  }
  #PageParticipation.pageIndex #Main #ContBox02 .contSubBox .scrollBox .scroll__icon {
    position: absolute;
    top: 140px;
    left: 50%;
    box-shadow: 0 6px 6px rgba(0, 0, 0, .16);
    width: 140px;
    height: 100px;
    background: url(../img/contents/scroll.png) no-repeat left top;
    background-size: 100% auto;
    transform: translateX(-50%);
  }
  #PageParticipation.pageIndex #Main #ContBox02 .contSubBox .scrollBox .scroll__content {
    width: 100%;
    min-width: 900px;
  }
  #PageParticipation.pageIndex #Main #ContBox02 .contSubBox .scrollBox::-webkit-scrollbar {
    height: 10px;
  }
  #PageParticipation.pageIndex #Main #ContBox02 .contSubBox .scrollBox::-webkit-scrollbar-track {
    border: 1px solid #bebebe;
    border-radius: 5px;
  }
  #PageParticipation.pageIndex #Main #ContBox02 .contSubBox .scrollBox::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: #c3c3c3;
  }
}
@media print, screen and (max-width: 767px) {
  #PageParticipation.pageIndex #Main .contBox .contSubBox {
    padding: 0;
  }
  #PageParticipation.pageIndex #Main #ContBox01 .contSubBox .flex {
    flex-wrap: wrap;
    gap: 30px;
  }
  #PageParticipation.pageIndex #Main #ContBox01 .contSubBox .flex figure {
    width: 100%;
  }
  #PageParticipation.pageIndex #Main #ContBox03 .contSubBox> p {
    margin-bottom: 30px;
  }
  #PageParticipation.pageIndex #Main #ContBox03 .contSubBox .flex {
    margin-bottom: 40px;

    flex-wrap: wrap;
    gap: 30px 0;
    justify-content: center;
  }
  #PageParticipation.pageIndex #Main #ContBox03 .contSubBox .flex .btnTypeBasic {
    width: 100%;
    max-width: 430px;
  }
  #PageParticipation.pageIndex #Main #ContBox03 .contSubBox .flex .btnTypeBasic .p {
    flex-direction: column;
    padding: 15px 20px;

    gap: 5px;
  }
  #PageParticipation.pageIndex #Main #ContBox03 .contSubBox .flex .btnTypeBasic .p small {
    letter-spacing: 0;
  }
}
/*
学生のみなさまへ
-------------------------------------*/
#PageForstudents.pageIndex #Main {
  padding-top: 50px;
}
#PageForstudents.pageIndex #Main #ContBox01 {
  overflow: hidden;
}
#PageForstudents.pageIndex #Main #ContBox01 .image {
  margin: 0 auto;
  width: 100%;
}
#PageForstudents.pageIndex #Main #ContBox01 .image img {
  width: 100%;
  height: auto;
}
#PageForstudents.pageIndex #Main #ContBox01 .image.image01 {
  max-width: 1013px;
}
#PageForstudents.pageIndex #Main #ContBox01 .image.image02 {
  max-width: 1040px;
}
#PageForstudents.pageIndex #Main #ContBox01 .innerBasic {
  max-width: 820px;
}
#PageForstudents.pageIndex #Main #ContBox01 .contSubBox {
  margin: 100px 0;
}
#PageForstudents.pageIndex #Main #ContBox01 .contSubBox p {
  padding: 0 10px;
}
#PageForstudents.pageIndex #Main #ContBox01 .contSubBox .flex {
  display: flex;
  margin-top: 64px;

  gap: 20px;
}
#PageForstudents.pageIndex #Main #ContBox01 .contSubBox .flex .btnTypeBasic {
  width: calc((100% - 20px) / 2);
}

@media print, screen and (max-width: 767px) {
  #PageForstudents.pageIndex #Main {
    overflow: hidden;
  }
  #PageForstudents.pageIndex #Main #ContBox01 .image.image01 {
    width: 443px;
  }
  #PageForstudents.pageIndex #Main #ContBox01 .image.image02 {
    width: 483px;
  }
  #PageForstudents.pageIndex #Main #ContBox01 .contSubBox {
    margin: 64px 0;
  }
  #PageForstudents.pageIndex #Main #ContBox01 .contSubBox p {
    padding: 0;
  }
  #PageForstudents.pageIndex #Main #ContBox01 .contSubBox .flex {
    flex-direction: column;

    align-items: center;
    gap: 20px;
  }
  #PageForstudents.pageIndex #Main #ContBox01 .contSubBox .flex .btnTypeBasic {
    width: 100%;
    max-width: 430px;
  }
}
@media print, screen and (max-width: 483px) {
  #PageForstudents.pageIndex #Main #ContBox01 .image02 {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media print, screen and (max-width: 443px) {
  #PageForstudents.pageIndex #Main #ContBox01 .image01 {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}
/*
役員・委員会専用ページ
-------------------------------------*/
#PageBoardmember.pageIndex #Main #ContBox01 .innerBasic {
  max-width: 840px;
}
#PageBoardmember.pageIndex #Main #ContBox01 ul {
  display: flex;

  flex-wrap: wrap;
  gap: 30px 40px;
}
#PageBoardmember.pageIndex #Main #ContBox01 ul li {
  width: calc((100% - 40px) / 2);
}

@media print, screen and (max-width: 767px) {
  #PageBoardmember.pageIndex #Main #ContBox01 ul {
    gap: 20px;
  }
  #PageBoardmember.pageIndex #Main #ContBox01 ul li {
    width: 100%;
  }
}
/*
検索結果
-------------------------------------*/
#SearchResultBox {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 60;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: auto;
}
#SearchResultBox .search__wrapper {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;

  justify-content: center;
  align-items: center;
}
#SearchResultBox .search__wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/contents/background.png) no-repeat center center;
  background-size: cover;

  mix-blend-mode: multiply;
}
#SearchResultBox .search__inner {
  flex-direction: column;
  position: relative;
  display: flex;
  padding: 60px 0;
  max-width: 830px;
  height: 100%;

  align-items: center;
  gap: 40px 0;
}
#SearchResultBox .search__inner h2 {
  text-align: center;
  font-family: "Shippori Antique", sans-serif;
  font-size: 25px;
  color: #fff;
}
#SearchResultBox .search__inner .close {
  position: relative;
  width: 60px;
  height: 60px;
  background: linear-gradient(to bottom, rgb(109, 192, 230) 0%, rgb(71, 150, 203) 15%, rgb(28, 129, 201) 66%, rgb(109, 192, 230) 100%);
}
#SearchResultBox .search__inner .close .icon {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/icon_02.png) no-repeat center center;
  background-size: 22px auto;
}
#SearchResultBox .search__inner .close::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #006cbc;
  opacity: 0;
  transition: opacity .5s ease;
}
#SearchResultBox .search__result {
  overflow-y: scroll;
  padding: 72px 43px;
  background-color: #fff;
  text-align: left;

  flex: 1;
}

@media print, screen and (min-width: 768px) {
  #SearchResultBox .search__inner .close {
    cursor: pointer;
  }
  #SearchResultBox .search__inner .close:hover::before {
    opacity: 1;
  }
}
@media print, screen and (max-width: 767px) {
  #SearchResultBox .search__inner {
    padding: 60px 20px;
  }
  #SearchResultBox .search__result {
    padding: 32px 20px;
  }
}
/*
よくある質問 一覧共通
-------------------------------------*/
#PageFaq.pageIndex #Main,
#PageFaq.pageCategory #Main {
  padding: 62px 0 100px;
}
#PageFaq.pageIndex #Main .titleTypeBottomLine,
#PageFaq.pageCategory #Main .titleTypeBottomLine {
  color: #006cbc;
}
#PageFaq.pageIndex #Main .leadBox> *:last-child,
#PageFaq.pageCategory #Main .leadBox> *:last-child {
  margin-bottom: 0;
}

@media print, screen and (min-width: 768px) {
  #PageFaq.pageIndex #Main .contBox+ .contBox,
  #PageFaq.pageCategory #Main .contBox+ .contBox {
    margin-top: 80px;
  }
  #PageFaq.pageIndex #Main .titleTypeBasic,
  #PageFaq.pageCategory #Main .titleTypeBasic {
    margin-bottom: 42px;
    text-align: center;
  }
  #PageFaq.pageIndex #Main .titleTypeBottomLine,
  #PageFaq.pageCategory #Main .titleTypeBottomLine {
    margin-bottom: 40px;
    padding-left: 10px;
  }
}
@media print, screen and (max-width: 767px) {
  #PageFaq.pageIndex #Main,
  #PageFaq.pageCategory #Main {
    padding: 40px 0 64px;
  }
  #PageFaq.pageIndex #Main .contBox+ .contBox,
  #PageFaq.pageCategory #Main .contBox+ .contBox {
    margin-top: 50px;
  }
  #PageFaq.pageIndex #Main .titleTypeBottomLine,
  #PageFaq.pageCategory #Main .titleTypeBottomLine {
    margin-bottom: 30px;
  }
}
/*
よくある質問
-------------------------------------*/
@media print, screen and (min-width: 768px) {
  #PageFaq.pageIndex #Main .innerBasic {
    max-width: 800px;
  }
}
/*
よくある質問 カテゴリアーカイブ
-------------------------------------*/
@media print, screen and (min-width: 768px) {
  #PageFaq.pageCategory #Main .innerBasic {
    max-width: 900px;
  }
  #PageFaq.pageCategory #Main .titleTypeBasic {
    margin-bottom: 20px;
  }
  #PageFaq.pageCategory #Main .listTypeFaq {
    justify-content: space-between;
    gap: 25px 20px;
  }
  #PageFaq.pageCategory #Main .listTypeFaq li {
    width: calc((100% - 20px) / 2);
  }
  #PageFaq.pageCategory #Main .btnTypeReturn {
    margin-top: 64px;
    text-align: center;
  }
  #PageFaq.pageCategory #Main .contBox .contSubBox {
    padding: 0 50px;
  }
  #PageFaq.pageCategory #Main .contBox .contSubBox:has(.listTypeCatBtn) {
    padding: 0 40px 65px;
  }
  #PageFaq.pageCategory #Main #ContBox01 .innerBasic {
    padding: 0 50px;
  }
}
@media print, screen and (max-width: 767px) {
  #PageFaq.pageCategory #Main .btnTypeReturn {
    margin-top: 40px;
    text-align: center;
  }
}
/*
記事詳細
-------------------------------------*/
#PageFaq.pageEntry #Main .innerBasic {
  max-width: 900px;
}
#PageFaq.pageEntry #Main .title {
  position: relative;
  margin-bottom: 47px;
  padding-left: 50px;
  line-height: 29px;
  font-family: "Shippori Antique", sans-serif;
  font-size: 20px;
}
#PageFaq.pageEntry #Main .title:before {
  content: "Q";
  position: absolute;
  top: 0;
  left: 10px;
  font-family: "Shippori Mincho", serif;
  font-size: 24px;
  font-weight: 700;
  color: #006cbc;
}
#PageFaq.pageEntry #Main .entryBox {
  position: relative;
  z-index: 0;
  padding: 56px 50px;
  background-color: #f1f8fc;
}
#PageFaq.pageEntry #Main .entryBox::before {
  content: "A";
  position: absolute;
  top: -18px;
  left: 0;
  z-index: -1;
  opacity: .1;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  font-size: 94px;
  color: #006cbc;
}
#PageFaq.pageEntry #Main .entryBox> *:last-child {
  margin-bottom: 0 !important;
}

/*
英語ページ
-------------------------------------*/
#PageEn.pageIndex {
  padding-left: 0 !important;
}
#PageEn.pageIndex #MainImg {
  width: 100%;
}
#PageEn.pageIndex #MainImg #MainImgInner {
  background-position: center center;
}
#PageEn.pageIndex #MainImg #MainImgInner .textBox {
  display: flex;

  align-items: center;
  justify-content: center;
}
#PageEn.pageIndex #MainImg #MainImgInner .textBox h2 {
  line-height: 73px;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-size: 59px;
  color: #fff;

  text-shadow: 0 3px 6px rgba(0, 91, 183, .9);
}
#PageEn.pageIndex #MainImg #MainImgInner .bannerBox {
  background-color: rgba(35, 25, 21, .5);
}
#PageEn.pageIndex #MainImg #MainImgInner .bannerBox ul li a {
  position: relative;
}
#PageEn.pageIndex #MainImg #MainImgInner .bannerBox ul li a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #fff;
  width: 100%;
  height: 100%;
}
#PageEn.pageIndex #Main {
  padding: 0;
}
#PageEn.pageIndex #Main .contBox .titleTypeBottomLine {
  padding-bottom: 8px;
  line-height: 36px;
  text-align: left;
  font-family: "Shippori Mincho", serif;
  font-size: 24px;
  color: #006cbc;
}
#PageEn.pageIndex #Main .contBox p {
  text-align: left;
}
#PageEn.pageIndex #Main #ContBox01 {
  padding: 105px 0 142px;
  background: url(../img/contents/top/bg_01.png) no-repeat center top;
  background-size: cover;
}
#PageEn.pageIndex #Main #ContBox01 .innerBasic {
  max-width: 800px;
}
#PageEn.pageIndex #Main #ContBox01 h3 {
  margin: 0 auto 40px;
  line-height: 66px;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-size: 45px;
}
#PageEn.pageIndex #Main #ContBox01 h3 span {
  display: inline-block;
  width: 177px;
  height: 66px;
  background: url(../img/contents/en/text_01.png) no-repeat left top;
  background-size: 100% auto;
  text-indent: -9999px;
}
#PageEn.pageIndex #Main #ContBox01 p:last-of-type {
  margin-bottom: 0;
}
#PageEn.pageIndex #Main #ContBox02 {
  padding: 23px 0 100px;
  background: linear-gradient(to bottom, #f2f8fc 0%, #fff 100%);
}
#PageEn.pageIndex #Main #ContBox02 .innerBasic {
  max-width: 900px;
}
#PageEn.pageIndex #Main #ContBox02 .titleTypeEn {
  margin-bottom: 36px;
}
#PageEn.pageIndex #Main #ContBox02 .imageBox {
  display: flex;
  margin: 0 auto 50px;
  max-width: 800px;

  flex-wrap: wrap;
  gap: 40px;
}
#PageEn.pageIndex #Main #ContBox02 .imageBox figure {
  width: calc((100% - 40px) / 2);
}
#PageEn.pageIndex #Main #ContBox02 .imageBox figure img {
  width: 100%;
  height: auto;
}
#PageEn.pageIndex #Main #ContBox02 .contSubBox+ .contSubBox {
  margin-top: 50px;
}
#PageEn.pageIndex #Main #ContBox02 .contSubBox .titleTypeBottomLine {
  margin-bottom: 40px;
}
#PageEn.pageIndex #Main #ContBox02 .contSubBox table {
  width: 100%;
}
#PageEn.pageIndex #Main #ContBox02 .contSubBox table tr:nth-of-type(odd) td {
  background-color: #f1f8fc;
}
#PageEn.pageIndex #Main #ContBox02 .contSubBox table th,
#PageEn.pageIndex #Main #ContBox02 .contSubBox table td {
  border-bottom: 1px solid #fff;
  padding: 12px 9px;
}
#PageEn.pageIndex #Main #ContBox02 .contSubBox table th {
  border-right: 1px solid #fff;
  width: 204px;
  background-color: #006cbc;
  text-align: center;
  vertical-align: middle;
  color: #fff;
}
#PageEn.pageIndex #Main #ContBox02 .contSubBox table td em {
  font-style: italic;
}
#PageEn.pageIndex #Main #ContBox03 {
  padding: 72px 0 90px;
  background: url(../img/contents/top/bg_02.jpg) no-repeat center center;
  background-size: cover;
}
#PageEn.pageIndex #Main #ContBox03 .innerBasic {
  max-width: 800px;
}
#PageEn.pageIndex #Main #ContBox03 .titleTypeEn {
  margin-bottom: 23px;
  color: #fff;
}
#PageEn.pageIndex #Main #ContBox03 .contSubBox {
  padding: 32px 50px 50px;
  background-color: #fff;
}
#PageEn.pageIndex #Main #ContBox03 .contSubBox .titleTypeBottomLine {
  margin-bottom: 32px;
  padding-bottom: 12px;
  line-height: 43px;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
}
#PageEn.pageIndex #Main #ContBox03 .contSubBox .subBox dl {
  display: flex;

  gap: 40px;
}
#PageEn.pageIndex #Main #ContBox03 .contSubBox .subBox dl+ dl {
  margin-top: 20px;
}
#PageEn.pageIndex #Main #ContBox03 .contSubBox .subBox dl dt {
  padding: 2px 8px;
  width: 160px;
  background-color: #e0f3ff;
  line-height: 20px;
  text-align: center;
  font-size: 14px;
  color: #006cbc;
}
#PageEn.pageIndex #Main #ContBox03 .btnTypeMore {
  margin-top: 40px;
  text-align: center;
}
#PageEn.pageIndex #Main #ContBox03 .btnTypeMore a {
  color: #006cbc;
}
#PageEn.pageIndex #Main #ContBox04 {
  padding: 73px 0 150px;
}
#PageEn.pageIndex #Main #ContBox04 .titleTypeEn {
  margin-bottom: 37px;
}
#PageEn.pageIndex #Main #ContBox04 .innerBasic {
  max-width: 900px;
}
#PageEn.pageIndex #Main #ContBox04 .contSubBox+ .contSubBox {
  margin-top: 100px;
}
#PageEn.pageIndex #Main #ContBox04 .contSubBox .titleTypeBottomLine {
  margin-bottom: 30px;
}
#PageEn.pageIndex #Main #ContBox04 .contSubBox .colorBox {
  margin-bottom: 30px;
  padding: 24px;
  background-color: #f1f8fc;
}
#PageEn.pageIndex #Main #ContBox04 .contSubBox .colorBox p {
  margin-bottom: 0;
  line-height: 44px;
  text-align: center;
  font-size: 20px;
  color: #006cbc;
}
#PageEn.pageIndex #Main #ContBox04 .contSubBox .subBox {
  margin-top: 50px;
}
#PageEn.pageIndex #Main #ContBox04 .contSubBox .subBox .showBox {
  padding-top: 50px;
}
#PageEn.pageIndex #Main #ContBox04 .contSubBox .subBox .showBox table {
  margin: 0 auto;
  width: 100%;
  max-width: 700px;
}
#PageEn.pageIndex #Main #ContBox04 .contSubBox .subBox .showBox table tr:nth-of-type(1) th,
#PageEn.pageIndex #Main #ContBox04 .contSubBox .subBox .showBox table tr:nth-of-type(1) td {
  padding-top: 0;
}
#PageEn.pageIndex #Main #ContBox04 .contSubBox .subBox .showBox table th,
#PageEn.pageIndex #Main #ContBox04 .contSubBox .subBox .showBox table td {
  border-bottom: 1px solid #d0d0d0;
  padding: 24px 0;
}
#PageEn.pageIndex #Main #ContBox04 .contSubBox .subBox .showBox table th {
  padding-right: 20px;
  width: 140px;
  font-weight: 400;
}
#PageEn.pageIndex #Main #ContBox05 {
  padding: 80px 0;
  background-color: #f1f8fc;
}
#PageEn.pageIndex #Main #ContBox05 .innerBasic {
  max-width: 100%;
}
#PageEn.pageIndex #Main #ContBox05 .flex {
  display: flex;

  align-items: center;
}
#PageEn.pageIndex #Main #ContBox05 .flex> div {
  width: 50%;
}
#PageEn.pageIndex #Main #ContBox05 .flex .textBox {
  position: relative;
}
#PageEn.pageIndex #Main #ContBox05 .flex .textBox::before {
  content: "";
  position: absolute;
  top: 83px;
  left: 0;
  border-top: 1px solid #006cbc;
  width: calc(100% - 80px);
}
#PageEn.pageIndex #Main #ContBox05 .flex .textBox h3 {
  margin-bottom: 24px;
  text-align: left;
}
#PageEn.pageIndex #Main #ContBox05 .flex .textBox h4 {
  margin-bottom: 7px;
  line-height: 30px;
  letter-spacing: 0;
  font-size: 22px;
  color: #006cbc;
}
#PageEn.pageIndex #Main #ContBox05 .flex .textBox p {
  margin-bottom: 0;
  line-height: 25px;
  letter-spacing: 0;
}
#PageEn.pageIndex #Main #ContBox05 .flex .textBox .btnTypeBasic {
  margin-top: 52px;
}
#PageEn.pageIndex #Main #ContBox05 .flex .textBox .btnTypeBasic a {
  box-shadow: 0 0 20px rgba(0, 108, 188, .3);
  border-width: 0;
}
#PageEn.pageIndex #Main #ContBox05 .flex .mapBox .box {
  overflow: hidden;
  position: relative;
  padding-top: 72.9310344828%;
}
#PageEn.pageIndex #Main #ContBox05 .flex .mapBox .box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#PageEn.pageIndex #Footer #ContBoxFooter .textBox p.logo {
  max-width: 195px;
}
#PageEn.pageIndex #Footer #ContBoxFooter .textBox p.logo a {
  padding-top: 45.7103321033%;
  background-image: url(../img/footer/logo_en.png);
}

@media print, screen and (min-width: 768px) {
  #PageEn.pageIndex #Header {
    box-shadow: none;
    background-color: transparent;
  }
  #PageEn.pageIndex #Header .box_logo {
    background-image: none;
  }
  #PageEn.pageIndex #Header .box_logo h1 a {
    width: 220px;
    height: 101px;
    background-image: url(../img/header/logo_en.png);
  }
  #PageEn.pageIndex #Header .box_menu {
    box-shadow: 3px 3px 30px rgba(0, 91, 183, .3);
    background-color: #f7f7f7;
  }
  #PageEn.pageIndex #Header .box_menu .mainMenu {
    background-color: #fff;
  }
  #PageEn.pageIndex.fixed #Header .box_logo {
    box-shadow: 3px 3px 30px rgba(0, 91, 183, .3);
    background-image: url(../img/header/background.jpg);
  }
  #PageEn.pageIndex #MainImg {
    height: 664px;
  }
  #PageEn.pageIndex #MainImg #MainImgInner {
    flex-direction: column;
    padding-right: 0;
    padding-left: 280px;
    background-image: url(../img/contents/top/mainimg.jpg);
  }
  #PageEn.pageIndex #MainImg #MainImgInner .textBox {
    flex: 1;
  }
  #PageEn.pageIndex #MainImg #MainImgInner .bannerBox {
    padding: 25px 80px;
    width: 100%;
  }
  #PageEn.pageIndex #MainImg #MainImgInner .bannerBox ul {
    display: flex;
    margin: 0 auto;
    max-width: 1000px;

    flex-wrap: wrap;
    gap: 5px;
  }
  #PageEn.pageIndex #MainImg #MainImgInner .bannerBox ul li {
    width: calc((100% - 10px) / 3);
  }
  #PageEn.pageIndex #MainImg #MainImgInner .bannerBox ul li a {
    display: block;
    width: 100%;
  }
  #PageEn.pageIndex #MainImg #MainImgInner .bannerBox ul li a img {
    width: 100%;
    height: auto;
  }
  #PageEn.pageIndex #MainImg #MainImgInner .bannerBox ul li a:hover {
    opacity: .5;
  }
  #PageEn.pageIndex #Container {
    padding-left: 280px;
  }
  #PageEn.pageIndex #Main #ContBox05 .flex .textBox {
    display: flex;

    justify-content: right;
  }
  #PageEn.pageIndex #Main #ContBox05 .flex .textBox .box {
    padding-right: 48px;
    max-width: 400px;
  }
  #PageEn.pageIndex #Main #ContBox05 .flex .mapBox .box {
    max-width: 580px;
  }
  #PageEn.pageIndex #Footer {
    padding-left: 280px;
  }
}
@media print, screen and (max-width: 767px) {
  #PageEn.pageIndex #Header h1 a {
    width: 114px;
    height: 52px;
    background-image: url(../img/header/logo_sp_en_02.png);
  }
  #PageEn.pageIndex:not(.fixed) #Header h1 a {
    background-image: url(../img/header/logo_sp_en.png);
  }
  #PageEn.pageIndex:not(.fixed) #MenuButton {
    background-image: url(../img/header/icon_01.png);
  }
  #PageEn.pageIndex #MainImg {
    position: relative;
    height: auto;
  }
  #PageEn.pageIndex #MainImg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 72px;
    background-color: rgba(11, 28, 132, .74);
    opacity: 1;
    transition: .5s ease;

    mix-blend-mode: multiply;
  }
  #PageEn.pageIndex #MainImg #MainImgInner {
    flex-direction: column;
    padding: 0;
  }
  #PageEn.pageIndex #MainImg #MainImgInner .textBox {
    padding-top: 72px;
    width: 100%;
    height: 272px;
    background: url(../img/contents/top/mainimg_sp.jpg) no-repeat center center;
    background-size: cover;
  }
  #PageEn.pageIndex #MainImg #MainImgInner .textBox h2 {
    line-height: 40px;
    font-size: 27px;
  }
  #PageEn.pageIndex #MainImg #MainImgInner .textBox h2 span {
    font-size: 30px;
  }
  #PageEn.pageIndex #MainImg #MainImgInner .bannerBox {
    padding: 10px 0;
    width: 100%;
    background-color: rgba(35, 25, 21, .5);
  }
  #PageEn.pageIndex #MainImg #MainImgInner .bannerBox ul li {
    margin: 0 6px;
  }
  #PageEn.pageIndex #MainImg #MainImgInner .bannerBox ul li a {
    display: block;
    text-decoration: none;
  }
  #PageEn.pageIndex #MainImg #MainImgInner .bannerBox ul li a img {
    width: 100%;
    height: auto;
  }
  #PageEn.pageIndex #Main #ContBox01 {
    padding: 50px 0 70px;
    background-image: url(../img/contents/top/bg_01_sp.png);
  }
  #PageEn.pageIndex #Main #ContBox01 h3 {
    line-height: 45px;
    font-size: 30px;
  }
  #PageEn.pageIndex #Main #ContBox01 h3 span {
    width: 121px;
    height: 45px;
  }
  #PageEn.pageIndex #Main #ContBox02 .imageBox figure {
    width: 100%;
  }
  #PageEn.pageIndex #Main #ContBox02 .contSubBox .titleTypeBottomLine {
    margin-bottom: 25px;
  }
  #PageEn.pageIndex #Main #ContBox02 .contSubBox table th,
  #PageEn.pageIndex #Main #ContBox02 .contSubBox table td {
    line-height: 20px;
    font-size: 14px;
  }
  #PageEn.pageIndex #Main #ContBox02 .contSubBox table th {
    width: 100px;
  }
  #PageEn.pageIndex #Main #ContBox03 .contSubBox {
    padding: 32px 25px 35px;
  }
  #PageEn.pageIndex #Main #ContBox03 .contSubBox .subBox dl {
    flex-direction: column;

    gap: 10px;
  }
  #PageEn.pageIndex #Main #ContBox03 .contSubBox .subBox dl dt {
    width: 100%;
  }
  #PageEn.pageIndex #Main #ContBox04 {
    padding: 50px 0 100px;
  }
  #PageEn.pageIndex #Main #ContBox04 .titleTypeEn {
    margin-bottom: 30px;
  }
  #PageEn.pageIndex #Main #ContBox04 .contSubBox .colorBox p {
    line-height: 30px;
    font-size: 18px;
  }
  #PageEn.pageIndex #Main #ContBox05 {
    padding: 32px 0 64px;
  }
  #PageEn.pageIndex #Main #ContBox05 .flex {
    flex-direction: column;

    gap: 24px 0;
  }
  #PageEn.pageIndex #Main #ContBox05 .flex> div {
    width: 100%;
  }
  #PageEn.pageIndex #Main #ContBox05 .flex .textBox .titleTypeHasSub {
    margin-bottom: 40px;
  }
  #PageEn.pageIndex #Main #ContBox05 .flex .textBox h4 {
    line-height: 29px;
    font-size: 20px;
  }
  #PageEn.pageIndex #Main #ContBox05 .flex .textBox p:last-of-type {
    margin-bottom: 0;
  }
  #PageEn.pageIndex #Main #ContBox05 .flex .textBox::before {
    top: 66px;
    left: -20px;
    width: calc(100vw - 54px);
  }
  #PageEn.pageIndex #Main #ContBox05 .flex .mapBox .box {
    padding-top: 51.4285714286%;
  }
  #PageEn.pageIndex #Main #ContBox05 .flex .mapBox .btnTypeBasic {
    margin: 32px auto 0;
    max-width: 300px;
  }
  #PageEn.pageIndex #Footer #ContBoxFooter .textBox p.logo {
    max-width: 170px;
  }
  #PageEn.pageIndex #Footer #ContBoxFooter .textBox p.logo a {
    padding-top: 45.7117647059%;
  }
}
/*
404
-------------------------------------*/
#Page404.pageIndex #Main .contBox .btnTypeBasic a {
  max-width: 430px;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,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 */
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2UuY3NzIiwicGFnZS5zY3NzIiwiX3Zhci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0NSLGtCQUFBO0FBQ0Esb0JBQUE7QUFDUjs7OztrQ0FBQTtBQU1BOztzQ0FBQTtBRElFO0VDRUUsV0FBQTtBREZKO0FDR007RURBQSxrQ0FBQTtBQUFOO0FDQ007RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtBRENSO0FBQVE7RUNBQSxlQUFBO0VBQ0UsY0FUUjtFQ0ZZLGFBQUE7RURhSiw0Q0FBQTtBREdWO0FDRlU7RURFRSxlQUFBO0VDREYsY0FiUjtFQWNVLGNBQUE7RUNoQkUsTUFBQTtBRnNCZDtBQ0NNO0VBQ0UsdUNBQUE7QURDUjtBQUFRO0VDQUEsa0JBQUE7QURHUjtBQ0ZVO0VERUUsV0FBQTtFQ0RGLFdBQUE7RUFDRSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FES1o7QUFHRTtFQ0dJLFVBQUE7QURITjtBQ0tRO0VEREEsY0M5Q1I7RUFrREksa0JBQUE7QURKSjtBQ01NO0VBQWMsb0JBQUE7QURIcEI7QUFHTTtFQUFjLGdCQUFBO0FBQXBCO0FDQ007RUFDRSxhQUFBO0VBQ0EsOEJBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0FEQ1I7QUFBUTtFQ0FBLGdCQUFBO0FER1I7QUNGVTtFREVFLHFCQUFBO0VDREYsa0JBQUE7QURLVjtBQ0NNO0VBQ0UseUJBQUE7RUFDQSxhQUFBO0FEQ1I7QUNHTTtFQUNBLG1FQUFBO0VBQ0Esc0JBQUE7RURBQSxzQkFBQTtBQUFOO0FDQ007RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0FEQ1I7QUFBUTtFQ0FBLGdCQUFBO0VBQ0UsYUFBQTtFQUNBLG1FQUFBO0VBQ0EsMEJBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0FER1Y7QUNDVTtFQUFBLGdCQUFBO0FERVY7QUNFMkI7RUFBQSxxREFBQTtBREMzQjtBQUFRO0VBQW1CLHFEQUFBO0FB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QUssV0FBQTtFQXZPakI7RUE0T0k7SUFDRSxxQkFBQTtFQTFPTjtFQTJPTTtJQUFlLG1CQUFBO0VBeE9yQjtFQTJPVTtJQUNFLGVBQUE7SUFDQSxpQkFBQTtFQXpPWjtFQThPSTtJQUNFLG9CQUFBO0VBNU9OO0VBNk9NO0lBQ0Usc0JBQUE7SUFDQSxXQUFBO0VBM09SO0VBNE9RO0lBQVEsV0FBQTtFQXpPaEI7RUEyT1U7SUFBbUIsbUJBQUE7RUF4TzdCO0VBeU9VO0lBQ0UsZUFBQTtJQUNBLGlCQUFBO0VBdk9aO0VBeU9VO0lBQWlCLGdCQUFBO0VBdE8zQjtFQXVPVTtJQUNFLHlCQUFBO0lBQ0EsU0FBQTtJQUNBLFdBQUE7RUFyT1o7RUF5T1U7SUFBTywyQkFBQTtFQXRPakI7RUF1T1U7SUFDRSxnQkFBQTtJQUNBLG1CQUFBO0VBck9aO0VBNk9NO0lBQ0UsZ0JBQUE7RUEzT1I7RUE0T1E7SUFBSSwyQkFBQTtFQXpPWjtBQUNGO0FBK09BOztzQ0FBQTtBQU1NO0VBQWtCLGdCQUFBO0FBL094QjtBQUNBLHFvb0JBQXFvb0IiLCJmaWxlIjoicGFnZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIkBpbXBvcnQgXCJfdmFyLnNjc3NcIjtcclxuQGltcG9ydCBcImJhc2UuY3NzXCI7XHJcbkBpbXBvcnQgXCJjb21tb24uY3NzXCI7XHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblBhZ2UgQ1NTIDIwMTguMDVcclxuQ1NTIOaLheW9k+iAheWQjSBEb2N1bWVudCAyMDE4LjA1XHJcbkxhc3QgVXBkYXRlIDIwMTguMDUg5ouF5b2T6ICF5ZCNXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKlxyXG7jg4jjg4Pjg5fjg5rjg7zjgrhcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlLnBhZ2VJbmRleCB7XHJcbiAgI01haW5JbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAjTWFpbkltZ0lubmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgLnRleHRCb3gge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDUwcHg7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgIHRleHQtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCA5MSwgMTgzLCAwLjkpO1xyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmJhbm5lckJveCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNSwyNSwyMSwwLjUpO1xyXG4gICAgICAgIHVsIGxpIGEge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAjTWFpbiB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgLmNvbnRCb3gge1xyXG4gICAgICAudGl0bGVUeXBlQmFzaWMge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfYmFzaWM7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjQ29udEJveDAxIHtcclxuICAgICAgcGFkZGluZzogNDdweCAwIDg0cHg7XHJcbiAgICAgIC5pbm5lckJhc2ljIHsgbWF4LXdpZHRoOiA4MDBweDsgfVxyXG4gICAgICAuZmxleCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI5cHg7XHJcbiAgICAgICAgLnRpdGxlVHlwZUhhc1N1YiB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTZweCAwIDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5zdWJCb3gge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ncmF5O1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNDb250Qm94MDIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2NvbnRlbnRzL3RvcC9iZ18wMS5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICBwYWRkaW5nOiAxMDVweCAwIDEwMHB4O1xyXG4gICAgICAudGV4dEJveCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA3MHB4O1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgIG1heC13aWR0aDogNTQwcHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEzMnB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9jb250ZW50cy90b3AvdGV4dF8wMS5wbmcpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XHJcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuYnRuVHlwZUltYWdlIHtcclxuICAgICAgICAubGluazAxIGEgZmlndXJlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jb250ZW50cy90b3AvaW1nXzAxLmpwZyk7IH1cclxuICAgICAgICAubGluazAyIGEgZmlndXJlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jb250ZW50cy90b3AvaW1nXzAyLmpwZyk7IH1cclxuICAgICAgICAubGluazAzIGEgZmlndXJlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jb250ZW50cy90b3AvaW1nXzAzLmpwZyk7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI0NvbnRCb3gwMyB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvY29udGVudHMvdG9wL2JnXzAyLmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDcycHggMCA3MHB4O1xyXG4gICAgICAuaW5uZXJCYXNpYyB7IG1heC13aWR0aDogODQwcHg7IH1cclxuICAgICAgLnRpdGxlVHlwZUhhc1N1YiB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzOHB4O1xyXG4gICAgICAgICY6OmJlZm9yZSB7IGNvbG9yOiAkY29sb3Jfd2hpdGU7IH1cclxuICAgICAgfVxyXG4gICAgICAucG9zdFR5cGVFdmVudCB7XHJcbiAgICAgICAgPiBsaSB7IGJvcmRlci1jb2xvcjogJGNvbG9yX3doaXRlOyB9XHJcbiAgICAgIH1cclxuICAgICAgLmJ0blR5cGVNb3JlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcclxuICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl93aGl0ZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvd18wMl9ibF9zbWFsbC5wbmcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI0NvbnRCb3gwNCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMjMxLDI0NywyNDgsMSkgMTAwJSk7XHJcbiAgICAgIHBhZGRpbmc6IDYycHggMCA2MHB4O1xyXG4gICAgICAuaW5uZXJCYXNpYyB7IG1heC13aWR0aDogODQwcHg7IH1cclxuICAgICAgLnRpdGxlVHlwZUhhc1N1YiB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxuICAgICAgLnBvc3RUeXBlRXZlbnQge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDEwOCwxMDgsMC4zKTtcclxuICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmJ0blR5cGVNb3JlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjQ29udEJveDA1IHtcclxuICAgICAgcGFkZGluZzogNzJweCAwO1xyXG4gICAgICAudGV4dEJveCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA2MHB4O1xyXG4gICAgICAgIGgzIHsgbWFyZ2luLWJvdHRvbTogMzhweDsgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5idG5UeXBlSW1hZ2Uge1xyXG4gICAgICAgIG1heC13aWR0aDogOTQwcHg7XHJcbiAgICAgICAgLmxpbmswMSBhIGZpZ3VyZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY29udGVudHMvdG9wL2ltZ18wNC5qcGcpOyB9XHJcbiAgICAgICAgLmxpbmswMiBhIGZpZ3VyZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY29udGVudHMvdG9wL2ltZ18wNS5qcGcpOyB9XHJcbiAgICAgICAgLmxpbmswMyBhIGZpZ3VyZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY29udGVudHMvdG9wL2ltZ18wMy5qcGcpOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNDb250Qm94MDYge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbGlnaHRibHVlO1xyXG4gICAgICBwYWRkaW5nOiA2MHB4IDA7XHJcbiAgICAgIC5pbm5lckJhc2ljIHsgbWF4LXdpZHRoOiA5MzBweDsgfVxyXG4gICAgICAudGl0bGVUeXBlQmFzaWMgeyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcbiAgICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBnYXA6IDE1cHggMjBweDtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgIHdpZHRoOiBjYWxjKCAoMTAwJSAtIDYwcHgpIC8gNCk7XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI0NvbnRCb3gwNyB7XHJcbiAgICAgIHBhZGRpbmc6IDcwcHggMDtcclxuICAgICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbl9pZy5wbmcpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOXB4O1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICNJbnN0YWdyYW0ge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoICgxMDAlIC0gMzBweCkgLyA0KTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmJ0blR5cGVJbnN0YSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1heC13aWR0aDogMjMycHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQwOEJEMTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgbWFyZ2luOiA0NHB4IGF1dG8gMDtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29uX2lnX3doLnBuZykgbm8tcmVwZWF0IGxlZnQgdG9wO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNDb250Qm94MDgge1xyXG4gICAgICBwYWRkaW5nOiA3MHB4IDAgMTEzcHg7XHJcbiAgICAgIGgzIHsgbWFyZ2luLWJvdHRvbTogMTdweDsgfVxyXG4gICAgICAubGlzdFR5cGVNZW1iZXIge1xyXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjQ29udEJveDA5IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2xpZ2h0Ymx1ZTtcclxuICAgICAgcGFkZGluZzogODBweCAwO1xyXG4gICAgICAuaW5uZXJCYXNpYyB7IG1heC13aWR0aDogMTAwJTsgfVxyXG4gICAgICAuZmxleCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICA+IGRpdiB7IHdpZHRoOiA1MCU7IH1cclxuICAgICAgICAudGV4dEJveCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAxNDJweDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzdweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGg0IHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRhbnRpcXVlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYmx1ZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuYnRuVHlwZUJhc2ljIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTJweDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDEwOCwxODgsMC4zKTtcclxuICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1hcEJveCB7XHJcbiAgICAgICAgICAuYm94IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICNQYWdlLnBhZ2VJbmRleCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICNIZWFkZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgLmJveF9sb2dvIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxyXG4gICAgICAuYm94X21lbnUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggMzBweCByZ2JhKDAsOTEsMTgzLDAuMyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNztcclxuICAgICAgICAubWFpbk1lbnUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfd2hpdGU7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5maXhlZCAjSGVhZGVyIHtcclxuICAgICAgLmJveF9sb2dvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2hlYWRlci9iYWNrZ3JvdW5kLmpwZyk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAzMHB4IHJnYmEoMCw5MSwxODMsMC4zKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICNNYWluSW1nIHtcclxuICAgICAgaGVpZ2h0OiA2NjRweDtcclxuICAgICAgI01haW5JbWdJbm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jb250ZW50cy90b3AvbWFpbmltZy5qcGcpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjgwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIC50ZXh0Qm94IHsgZmxleDogMTsgfVxyXG4gICAgICAgIC5iYW5uZXJCb3gge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBwYWRkaW5nOiAyNXB4IDgwcHg7XHJcbiAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAoMTAwJSAtIDEwcHggKSAvIDMgKTtcclxuICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7IG9wYWNpdHk6IDAuNTsgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI0NvbnRhaW5lciB7IHBhZGRpbmctbGVmdDogMjgwcHg7IH1cclxuICAgICNNYWluIHtcclxuICAgICAgI0NvbnRCb3gwNiB7XHJcbiAgICAgICAgdWwgbGkgYSB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XHJcbiAgICAgICAgICAmOmhvdmVyIHsgb3BhY2l0eTogMC41OyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICNDb250Qm94MDkge1xyXG4gICAgICAgIC5mbGV4IHtcclxuICAgICAgICAgIC50ZXh0Qm94IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcclxuICAgICAgICAgICAgLmJveCB7XHJcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAubWFwQm94IC5ib3ggeyBoZWlnaHQ6IDQzMXB4OyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjRm9vdGVyIHsgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTE1MHB4KSB7XHJcbiAgI1BhZ2UucGFnZUluZGV4IHtcclxuICAgICNNYWluIHtcclxuICAgICAgI0NvbnRCb3gwOSB7XHJcbiAgICAgICAgLmZsZXgge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgIGdhcDogNDBweCAwO1xyXG4gICAgICAgICAgPiBkaXYgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgICAgLnRleHRCb3gge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7IGxlZnQ6IC0yMHB4OyB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAubWFwQm94IHtcclxuICAgICAgICAgICAgLmJveCB7IG1heC13aWR0aDogMTAwJTsgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICNQYWdlLnBhZ2VJbmRleCB7XHJcbiAgICAmOm5vdCguZml4ZWQpIHtcclxuICAgICAgI0hlYWRlciB7XHJcbiAgICAgICAgaDEgYSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaGVhZGVyL2xvZ29fc3AucG5nKTsgfVxyXG4gICAgICB9XHJcbiAgICAgICNNZW51QnV0dG9uIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9oZWFkZXIvaWNvbl8wMS5wbmcpOyB9XHJcbiAgICB9XHJcbiAgICAjTWFpbkltZyB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogNzJweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExLDI4LDEzMiwwLjc0KTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cyBlYXNlO1xyXG4gICAgICB9XHJcbiAgICAgICNNYWluSW1nSW5uZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAudGV4dEJveCB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogMjcycHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2NvbnRlbnRzL3RvcC9tYWluaW1nX3NwLmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDcycHg7XHJcbiAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjdweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIHNwYW4geyBmb250LXNpemU6IDMwcHg7IH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhbm5lckJveCB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzUsMjUsMjEsMC41KTtcclxuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogMCA2cHg7XHJcbiAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgICNDb250Qm94MDEge1xyXG4gICAgICAgIHBhZGRpbmc6IDMycHggMCAzN3B4O1xyXG4gICAgICAgIC5mbGV4IHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XHJcbiAgICAgICAgICAudGl0bGVUeXBlSGFzU3ViIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHsgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWJCb3gge1xyXG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xyXG4gICAgICAgICAgcGFkZGluZzogNDBweCAxNXB4O1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYnRuVHlwZU1vcmUge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAjQ29udEJveDAyIHtcclxuICAgICAgICBwYWRkaW5nOiAxNTRweCAwIDY0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jb250ZW50cy90b3AvYmdfMDFfc3AucG5nKTtcclxuICAgICAgICAudGV4dEJveCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG4gICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNSU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICNDb250Qm94MDMge1xyXG4gICAgICAgIHBhZGRpbmc6IDMycHggMCA0OHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY29udGVudHMvdG9wL2JnXzAyX3NwLmpwZyk7XHJcbiAgICAgICAgLnRpdGxlVHlwZUhhc1N1YiB7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cclxuICAgICAgICAuYnRuVHlwZU1vcmUgeyBtYXJnaW4tdG9wOiAyNHB4OyB9XHJcbiAgICAgIH1cclxuICAgICAgI0NvbnRCb3gwNCB7XHJcbiAgICAgICAgcGFkZGluZzogMzJweCAwIDQ4cHg7XHJcbiAgICAgICAgLnRpdGxlVHlwZUhhc1N1YiB7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cclxuICAgICAgICAuYnRuVHlwZU1vcmUgeyBtYXJnaW4tdG9wOiAyNHB4OyB9XHJcbiAgICAgIH1cclxuICAgICAgI0NvbnRCb3gwNSB7XHJcbiAgICAgICAgcGFkZGluZzogMzJweCAwIDQ4cHg7XHJcbiAgICAgICAgLnRleHRCb3gge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcclxuICAgICAgICAgIC50aXRsZVR5cGVIYXNTdWIgeyBtYXJnaW4tYm90dG9tOiAyM3B4OyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICNDb250Qm94MDYge1xyXG4gICAgICAgIHBhZGRpbmc6IDMycHggMCA0OHB4O1xyXG4gICAgICAgIC50aXRsZVR5cGVCYXNpYyB7IG1hcmdpbi1ib3R0b206IDIzcHg7IH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICBnYXA6IDEycHggMTZweDtcclxuICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYyggKDEwMCUgLSAxNnB4KSAvIDIgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgI0NvbnRCb3gwNyB7XHJcbiAgICAgICAgcGFkZGluZzogMzJweCAwIDQ4cHg7XHJcbiAgICAgICAgLnRpdGxlVHlwZUJhc2ljIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNJbnN0YWdyYW0ge1xyXG4gICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBnYXA6IDRweDtcclxuICAgICAgICAgICAgPiBsaSB7IHdpZHRoOiBjYWxjKCgxMDAlIC0gOHB4KSAvIDMpOyB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICNDb250Qm94MDgge1xyXG4gICAgICAgIHBhZGRpbmc6IDMycHggMCA2MHB4O1xyXG4gICAgICAgIC50aXRsZVR5cGVCYXNpYyB7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cclxuICAgICAgfVxyXG4gICAgICAjQ29udEJveDA5IHtcclxuICAgICAgICBwYWRkaW5nOiAzMnB4IDAgNjRweDtcclxuICAgICAgICAuZmxleCB7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgZ2FwOiAyNHB4IDA7XHJcbiAgICAgICAgICA+IGRpdiB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAgICAgICAudGV4dEJveCB7XHJcbiAgICAgICAgICAgIC50aXRsZVR5cGVIYXNTdWIgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XHJcbiAgICAgICAgICAgIGg0IHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcDpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA1NHB4KTtcclxuICAgICAgICAgICAgICB0b3A6IDEwMnB4O1xyXG4gICAgICAgICAgICAgIGxlZnQ6IC0yMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAubWFwQm94IHtcclxuICAgICAgICAgICAgLmJveCB7IHBhZGRpbmctdG9wOiA1MS40Mjg1NzE0Mjg1NzE0MyU7IH1cclxuICAgICAgICAgICAgLmJ0blR5cGVCYXNpYyB7XHJcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICBtYXJnaW46IDMycHggYXV0byAwO1xyXG4gICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDEwOCwxODgsMC4zKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbuW9k+mDqOS8muOBq+OBpOOBhOOBpiDlhbHpgJpcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlQWJvdXQge1xyXG4gICNNYWluIHtcclxuICAgIC5tZW51Qm94IHtcclxuICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAuaW5uZXJCYXNpYyB7IG1heC13aWR0aDogOTAwcHg7IH1cclxuICAgICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgIHdpZHRoOiBjYWxjKCAoMTAwJSAtIDQwcHggKSAvIDMgKTtcclxuICAgICAgICAgIC5idG5UeXBlQmFzaWMge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAucCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgI1BhZ2VBYm91dCB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgIC5tZW51Qm94IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIHVsID4gbGkgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7lvZPpg6jkvJrjgavjgaTjgYTjgaZcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlQWJvdXQucGFnZUluZGV4IHtcclxuICAjTWFpbiB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgLmNvbnRCb3gge1xyXG4gICAgICBwYWRkaW5nOiA3MHB4IDAgMTAwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAjUGFnZUFib3V0LnBhZ2VJbmRleCB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgIC5jb250Qm94IHsgcGFkZGluZzogNjRweCAwOyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7pg6jkvJrplbfmjKjmi7ZcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlQWJvdXQucGFnZUdyZWV0aW5nIHtcclxuICAjTWFpbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTA4cHg7XHJcbiAgICAuY29udEJveCB7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIC5pbm5lckJhc2ljIHsgbWF4LXdpZHRoOiA5MDBweDsgfVxyXG4gICAgICAucGhvdG9Cb3gge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDAgNDBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDBzdncgLSAyODBweCk7XHJcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQwcHgpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgI0U3RjdGOCAxMDAlKTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYW50aXF1ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDAgMDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBzbWFsbCB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYmx1ZTtcclxuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7IGZvbnQtc2l6ZTogMTZweDsgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucGhvdG8ge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAzNDNweDtcclxuICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC50ZXh0Qm94IHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI0NvbnRCb3gwMSB7IG1hcmdpbi1ib3R0b206IDgwcHg7IH1cclxuICAgICNDb250Qm94MDIge1xyXG4gICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgKyAuY29udFN1YkJveCB7IG1hcmdpbi10b3A6IDIwcHg7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgI1BhZ2VBYm91dC5wYWdlR3JlZXRpbmcge1xyXG4gICAgI01haW4ge1xyXG4gICAgICAuY29udEJveCB7XHJcbiAgICAgICAgLnBob3RvQm94IHtcclxuICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKCAoMTE4MHB4IC0gMTAwc3Z3KSAvIDIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAjQ29udEJveDAxIHtcclxuICAgICAgICAucGhvdG9Cb3gsXHJcbiAgICAgICAgLnRleHRCb3ggeyBwYWRkaW5nOiAwIDUwcHg7IH1cclxuICAgICAgfVxyXG4gICAgICAjQ29udEJveDAyIHtcclxuICAgICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgICAuc2hvd0JveCB7IHBhZGRpbmc6IDU3cHggNTBweCA2MHB4OyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XHJcbiAgI1BhZ2VBYm91dC5wYWdlR3JlZXRpbmcge1xyXG4gICAgI01haW4ge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgLmNvbnRCb3gge1xyXG4gICAgICAgIC5waG90b0JveCB7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG4gICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI5MHB4O1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLnRleHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICBzbWFsbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBzcGFuIHsgZm9udC1zaXplOiAxNHB4OyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5waG90byB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjJweDtcclxuICAgICAgICAucGhvdG9Cb3gge1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDU3cHg7XHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSArIDQwcHgpO1xyXG4gICAgICAgICAgICBsZWZ0OiAtMjBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgI0NvbnRCb3gwMiB7XHJcbiAgICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgICAgLnNob3dCb3ggeyBwYWRkaW5nOiAwIDEwcHggMjhweDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu6YOo5Lya6KaP5YmHXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUFib3V0LnBhZ2VSdWxlIHtcclxuICAjTWFpbiB7XHJcbiAgICAjQ29udEJveDAxIHtcclxuICAgICAgLmlubmVyQmFzaWMgeyBtYXgtd2lkdGg6IDgwMHB4OyB9XHJcbiAgICAgIC5ib3gge1xyXG4gICAgICAgICsgLmJveCB7IG1hcmdpbi10b3A6IDM1cHg7IH1cclxuICAgICAgICBkdCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRkIHtcclxuICAgICAgICAgICo6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgJi5wY19kaXNwbGF5IHsgZGlzcGxheTogdGFibGU7IH1cclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfZ3JheTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9saWdodGJsdWU7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQgeyBwYWRkaW5nOiA4cHggMjBweDsgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgI1BhZ2VBYm91dC5wYWdlUnVsZSB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgICNDb250Qm94MDEge1xyXG4gICAgICAgIC5ib3gge1xyXG4gICAgICAgICAgZGQge1xyXG4gICAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgICAgJi5wY19kaXNwbGF5IHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAgICAgICAgIHRoIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgICAgICB0ZCB7IHdpZHRoOiA1MCU7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu57WE57mU44O75aeU5ZOhXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUFib3V0LnBhZ2VPcmdhbml6YXRpb24ge1xyXG4gICNNYWluIHtcclxuICAgICNDb250Qm94MDEge1xyXG4gICAgICAuaW5uZXJCYXNpYyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcclxuICAgICAgICA+IC5idG5UeXBlQmFzaWMge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcclxuICAgICAgICAgIC5wIHsgcGFkZGluZzogMjJweCAyOHB4IDIzcHg7IH1cclxuICAgICAgICAgIC5pY29uIHsgd2lkdGg6IDYwcHg7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgICsgLmNvbnRTdWJCb3ggeyBtYXJnaW4tdG9wOiA4MHB4OyB9XHJcbiAgICAgICAgLnRpdGxlVHlwZUJhc2ljIHsgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxyXG4gICAgICAgIC50YWJsZUJveCB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbGlnaHRibHVlO1xyXG4gICAgICAgICAgcGFkZGluZzogMzJweCA1MHB4IDY0cHg7XHJcbiAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfZ3JheTtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAzMnB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNsaWNrIHtcclxuICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDQwcHggMTVweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNob3dCb3gge1xyXG4gICAgICAgICAgcGFkZGluZzogNDBweCA1MHB4IDA7XHJcbiAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICB3aWR0aDogY2FsYyggKDEwMCUgLSA2MHB4KSAvIDQgKTtcclxuICAgICAgICAgICAgICBhIC5pY29uOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXNpemU6IDE2cHggYXV0bzsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudUJveCB7IG1hcmdpbi10b3A6IDEzMHB4OyB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAjUGFnZUFib3V0LnBhZ2VPcmdhbml6YXRpb24ge1xyXG4gICAgI01haW4ge1xyXG4gICAgICAjQ29udEJveDAxIHtcclxuICAgICAgICAuaW5uZXJCYXNpYyA+IC5idG5UeXBlQmFzaWMgYTpob3ZlciAuaWNvbjo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAyM3B4IGNlbnRlcjsgfVxyXG4gICAgICAgIC5jb250U3ViQm94IHtcclxuICAgICAgICAgIC5zaG93Qm94IHtcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgID4gbGkgYTpob3ZlciAuaWNvbjo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxOHB4IGNlbnRlcjsgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgI1BhZ2VBYm91dC5wYWdlT3JnYW5pemF0aW9uIHtcclxuICAgICNNYWluIHtcclxuICAgICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgICAgLmlubmVyQmFzaWMge1xyXG4gICAgICAgICAgPiAuYnRuVHlwZUJhc2ljIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjVweDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgLnAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XHJcbiAgICAgICAgICAgICAgLmljb24geyB3aWR0aDogNjBweDsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250U3ViQm94IHtcclxuICAgICAgICAgICsgLmNvbnRTdWJCb3ggeyBtYXJnaW4tdG9wOiA2NHB4OyB9XHJcbiAgICAgICAgICAudGFibGVCb3gge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMnB4IDIwcHg7XHJcbiAgICAgICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUgdGggeyBwYWRkaW5nLXRvcDogMDsgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aCwgdGQgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjRweCAwIDAgMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyNHB4IDA7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuY2xpY2sge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMTdweCAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuc2hvd0JveCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMCAwO1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgZ2FwOiAxNnB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgPiBsaSB7IHdpZHRoOiBjYWxjKCAoMTAwJSAtIDEwcHgpIC8gMiApOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLm1lbnVCb3ggeyBtYXJnaW4tdG9wOiA5NnB4OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7msr/pnalcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlQWJvdXQucGFnZUhpc3Rvcnkge1xyXG4gICNNYWluIHtcclxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgLm1lbnVUeXBlUGFnZUxpbmsgeyBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XHJcbiAgICAuaW5uZXJCYXNpYyB7IG1heC13aWR0aDogOTAwcHg7IH1cclxuICAgIC5jb250Qm94IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcclxuICAgICAgLnRpdGxlVHlwZUJhc2ljIHsgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxyXG4gICAgICAudGl0bGVUeXBlQm90dG9tTGluZSB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxuICAgIH1cclxuICAgICNDb250Qm94MDEge1xyXG4gICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICB3aWR0aDogMjcwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweCAzMHB4IDUwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0ZCB7IHBhZGRpbmc6IDMwcHggNTBweCAzMHB4IDA7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNDb250Qm94MDIge1xyXG4gICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgKyAuY29udFN1YkJveCB7IG1hcmdpbi10b3A6IDgwcHg7IH1cclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDEpIHsgd2lkdGg6IDkwcHg7IH1cclxuICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDMpIHsgd2lkdGg6IDk1cHg7IH1cclxuICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDQpIHsgd2lkdGg6IDE0MHB4OyB9XHJcbiAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg1KSB7IHdpZHRoOiAxNzVweDsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmNvbnRTdWJCb3gwNCB7XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgxKSB7IHdpZHRoOiBhdXRvOyB9XHJcbiAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7IHdpZHRoOiAxMzVweDsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDEpIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxyXG4gICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgI1BhZ2VBYm91dC5wYWdlSGlzdG9yeSB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA4OXB4O1xyXG4gICAgICAubWVudVR5cGVQYWdlTGluayB7IG1hcmdpbi1ib3R0b206IDY1cHg7IH1cclxuICAgICAgLmNvbnRCb3ggeyBtYXJnaW4tYm90dG9tOiA2NHB4OyB9XHJcbiAgICAgICNDb250Qm94MDEge1xyXG4gICAgICAgIC5jb250U3ViQm94IHtcclxuICAgICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgdGgsIHRkIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDI0cHggMjBweCA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjRweCAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5tZW51Qm94IHsgbWFyZ2luLXRvcDogOTZweDsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu5q205Luj6YOo5Lya6ZW3XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUFib3V0LnBhZ2VQcmVzaWRlbnRoaXN0b3J5IHtcclxuICAjTWFpbiB7XHJcbiAgICAjQ29udEJveDAxIHtcclxuICAgICAgLmlubmVyQmFzaWMgeyBtYXgtd2lkdGg6IDkwMHB4OyB9XHJcbiAgICAgIHRhYmxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgIHRoZWFkIHRoIHtcclxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSkgeyB3aWR0aDogMjA1cHg7IH1cclxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikgeyB3aWR0aDogMTQwcHg7IH1cclxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoNCkgeyB3aWR0aDogMTU1cHg7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgJjpudGgtb2YtdHlwZSgzKSB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICNNYWluIHtcclxuICAgICNDb250Qm94MDEge1xyXG4gICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgLmxpc3RUeXBlTm90ZSB7IG1hcmdpbi10b3A6IDIwcHg7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu5Zyw5pa55pSv6YOo77yI5YWx6YCa77yJXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jQnJhbmNoTWVudUJveCB7XHJcbiAgLmlubmVyQmFzaWMgeyBtYXgtd2lkdGg6IDkwMHB4OyB9XHJcbiAgLmZsZXgge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogNDBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ncmF5O1xyXG4gICAgPiBkaXYgeyB3aWR0aDogY2FsYyggKDEwMCUgLSA0MHB4KSAvIDIgKTsgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgI0JyYW5jaE1lbnVCb3gge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcclxuICAgIC5mbGV4IHtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBnYXA6IDIwcHg7XHJcbiAgICAgIC5idG5UeXBlQmFzaWMgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu5Zyw5pa55pSv6YOoIOS4i+WxpFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuI1BhZ2VBYm91dC5wYWdlS2Fuc2FpLFxyXG4jUGFnZUFib3V0LnBhZ2VLeXVzaHUge1xyXG4gICNNYWluIHtcclxuICAgICNCcmFuY2hNZW51Qm94IHsgbWFyZ2luLWJvdHRvbTogODBweDsgfVxyXG4gICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgIC5pbm5lckJhc2ljIHsgbWF4LXdpZHRoOiA4MDBweDsgfVxyXG4gICAgICBoMy50aXRsZVR5cGVCYXNpYyB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLmxlYWRUZXh0IHsgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxyXG4gICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgKyAuY29udFN1YkJveCB7IG1hcmdpbi10b3A6IDUwcHg7IH1cclxuICAgICAgICBoNC50aXRsZVR5cGVCYXNpYyB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZsZXgge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgIGdhcDogNDBweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgICAuYm94IHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoICgxMDAlIC0gNDBweCApIC8gMiApO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbGlnaHRibHVlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMnB4IDI0cHg7XHJcbiAgICAgICAgICAgIGg1IHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY29udFN1YkJveDAxIHtcclxuICAgICAgICBoNCB7IG1hcmdpbi1ib3R0b206IDE1cHg7IH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmNvbnRTdWJCb3gwMiB7XHJcbiAgICAgICAgaDQgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XHJcbiAgICAgICAgLnN1YkJveCB7XHJcbiAgICAgICAgICArIC5zdWJCb3ggeyBtYXJnaW4tdG9wOiAzMHB4OyB9XHJcbiAgICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xyXG4gICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAxMHB4O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuYnRuVHlwZVJldHVybiB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDY0cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICNQYWdlQWJvdXQucGFnZUthbnNhaSxcclxuICAjUGFnZUFib3V0LnBhZ2VLeXVzaHUge1xyXG4gICAgI01haW4ge1xyXG4gICAgICAjQ29udEJveDAxIHtcclxuICAgICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgICAuZmxleCB7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICAuYm94IHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRTdWJCb3gwMiB7XHJcbiAgICAgICAgICAuc3ViQm94IHtcclxuICAgICAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTBweDtcclxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSkgeyB3aWR0aDogNTAlOyB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7jg4vjg6Xjg7zjgrnjg6zjgr/jg7xcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlTmV3c2xldHRlci5wYWdlSW5kZXgge1xyXG4gICNNYWluIHtcclxuICAgIHBhZGRpbmctdG9wOiA4MnB4O1xyXG4gICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgIC5pbm5lckJhc2ljIHsgbWF4LXdpZHRoOiA5MDBweDsgfVxyXG4gICAgICBmaWd1cmUge1xyXG4gICAgICAgIG1heC13aWR0aDogMzEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC50aXRsZVR5cGVCb3R0b21MaW5lIHtcclxuICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ibHVlO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzN3B4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC50ZXh0Qm94IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIC5idG5UeXBlQmFzaWMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDY0cHg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDQzMHB4O1xyXG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudUJveCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgIC5pbm5lckJhc2ljIHsgbWF4LXdpZHRoOiA5MDBweDsgfVxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgID4gbGkgeyB3aWR0aDogY2FsYyggKDEwMCUgLSA0MHB4ICkgLyAzICk7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgI1BhZ2VOZXdzbGV0dGVyLnBhZ2VJbmRleCB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgIC5tZW51Qm94IHtcclxuICAgICAgICB1bCA+IGxpIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu6YOo5Lya44Gg44KI44KKXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUJ1a2FpZGF5b3JpLnBhZ2VJbmRleCB7XHJcbiAgI01haW4ge1xyXG4gICAgLmNvbnRCb3gge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG4gICAgICAuaW5uZXJCYXNpYyB7IG1heC13aWR0aDogOTAwcHg7IH1cclxuICAgICAgLnRpdGxlVHlwZUJvdHRvbUxpbmUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3JfYmx1ZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMTFweCAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XHJcbiAgICAgIH1cclxuICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgIC5mbGV4IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICBnYXA6IDIwcHggNDBweDtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ0blR5cGVCYXNpYyB7XHJcbiAgICAgICAgICB3aWR0aDogY2FsYyggKDEwMCUgLSA0MHB4KSAvIDIgKTtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIC5wIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGxhdG87XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzhEOEQ4RDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDUzcHg7XHJcbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHsgYmFja2dyb3VuZC1zaXplOiAyM3B4IGF1dG87IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgIC5tZW51VHlwZVBhZ2VMaW5rIHtcclxuICAgICAgICB1bCB7IGdhcDogMzBweCAyNXB4OyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51Qm94IHtcclxuICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAuaW5uZXJCYXNpYyB7IG1heC13aWR0aDogOTAwcHg7IH1cclxuICAgICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICA+IGxpIHsgd2lkdGg6IGNhbGMoICgxMDAlIC0gNDBweCApIC8gMyApOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICNQYWdlQnVrYWlkYXlvcmkucGFnZUluZGV4IHtcclxuICAgICNNYWluIHtcclxuICAgICAgLmNvbnRCb3gge1xyXG4gICAgICAgIC5jb250U3ViQm94IHtcclxuICAgICAgICAgIC5mbGV4IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgLmJ0blR5cGVCYXNpYyB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgYSAuaWNvbjo6YmVmb3JlIHsgYmFja2dyb3VuZC1zaXplOiAyMHB4IGF1dG87IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubWVudUJveCB7XHJcbiAgICAgICAgdWwgPiBsaSB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbuazleS6uuS8muWToVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuI1BhZ2VBYm91dC5wYWdlQ29tcGFueSB7XHJcbiAgI01haW4ge1xyXG4gICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgIC5pbm5lckJhc2ljIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDkwMHB4O1xyXG4gICAgICAgID4gcCB7IG1hcmdpbi1ib3R0b206IDI0cHg7IH1cclxuICAgICAgfVxyXG4gICAgICAuYm94IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMjNweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjRweCAxN3B4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfZ3JheTtcclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfZ3JheTsgfVxyXG4gICAgICAgIGR0IHtcclxuICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE3cHg7XHJcbiAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBkZCB7XHJcbiAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2Jhc2ljO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGxhdG87XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZGFya2dyYXk7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgI1BhZ2VBYm91dC5wYWdlQ29tcGFueSB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgICNDb250Qm94MDEge1xyXG4gICAgICAgIC5jb250U3ViQm94IC5ib3gge1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHNwYW4geyB0cmFuc2l0aW9uOiBjb2xvciAwLjVzIGVhc2U7IH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibHVlO1xyXG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgIHNwYW4geyBjb2xvcjogJGNvbG9yX2JsdWU7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgI1BhZ2VBYm91dC5wYWdlQ29tcGFueSB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgICNDb250Qm94MDEge1xyXG4gICAgICAgIC5ib3gge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgZ2FwOiAxMnB4IDA7XHJcbiAgICAgICAgICBkdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZGQgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu5paw552A5oOF5aCxIOWFsemAmlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuI1BhZ2VOZXdzLCAjUGFnZUluZm8sICNQYWdlRXZlbnQsICNQYWdlQXdhcmRzIHtcclxuICAjTWFpbiB7XHJcbiAgICBwYWRkaW5nOiA2MnB4IDAgMTAwcHg7XHJcbiAgICAuaW5uZXJCYXNpYyB7IG1heC13aWR0aDogOTAwcHg7IH1cclxuICAgIGgzLnRpdGxlVHlwZUJvdHRvbUxpbmUge1xyXG4gICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgIGNvbG9yOiAkY29sb3JfYmx1ZTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDM3cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XHJcbiAgICB9XHJcbiAgICAudGl0bGVUeXBlQm90dG9tTGluZTpub3QoaDMpIHtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuICAgIC5tZW51VHlwZU5ld3MgeyBtYXJnaW4tYm90dG9tOiA2NXB4OyB9XHJcbiAgICAucG9zdFR5cGVOZXdzIHtcclxuICAgICAgPiBsaSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ncmF5O1xyXG4gICAgICAgICsgbGkgeyBtYXJnaW4tdG9wOiAwOyB9XHJcbiAgICAgICAgYSB7IHBhZGRpbmc6IDI0cHggMDsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucG9zdEJveCB7XHJcbiAgICAgICsgLnBvc3RCb3ggeyBtYXJnaW4tdG9wOiA2NHB4OyB9XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ibHVlO1xyXG4gICAgICBwYWRkaW5nOiA0MHB4IDUwcHg7XHJcbiAgICAgIGRsIHtcclxuICAgICAgICBkdCB7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYmx1ZTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XHJcbiAgICAgICAgICAuZGF0ZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGxhdG87XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9kYXJrZ3JheTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRkIHtcclxuICAgICAgICAgID4gKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuYnRuVHlwZU1vcmUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgYTo6YmVmb3JlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3dfMDJfd2hfc21hbGwucG5nKTtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogM3B4IGF1dG87XHJcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcclxuICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ0blR5cGVNb3JlIHtcclxuICAgICAgbWFyZ2luLXRvcDogNjRweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBhIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hcnJvd18wNV93aF9zbWFsbC5wbmcpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3cHggYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICNQYWdlTmV3cywgI1BhZ2VJbmZvLCAjUGFnZUV2ZW50LCAjUGFnZUF3YXJkcyB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgIC5wb3N0Qm94IHtcclxuICAgICAgICAuYnRuVHlwZU1vcmUge1xyXG4gICAgICAgICAgYTpob3Zlcjo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxMHB4IGNlbnRlcjsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuYnRuVHlwZU1vcmUge1xyXG4gICAgICAgIGE6aG92ZXI6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3AgMTBweDsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAjUGFnZU5ld3MsICNQYWdlSW5mbywgI1BhZ2VFdmVudCwgI1BhZ2VBd2FyZHMge1xyXG4gICAgI01haW4ge1xyXG4gICAgICAubWVudVR5cGVOZXdzIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjVweDtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICBnYXA6IDE2cHggMTBweDtcclxuICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYyggKDEwMCUgLSAxMHB4KSAvIDIgKTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgc3BhbiB7IHBhZGRpbmc6IDEzcHggOXB4OyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaDMudGl0bGVUeXBlQm90dG9tTGluZSB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxuICAgICAgLnRpdGxlVHlwZUJvdHRvbUxpbmU6bm90KGgzKSB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxuICAgICAgLnBvc3RCb3gge1xyXG4gICAgICAgIHBhZGRpbmc6IDMycHggMjBweDtcclxuICAgICAgICArIC5wb3N0Qm94IHsgbWFyZ2luLXRvcDogNDBweDsgfVxyXG4gICAgICAgIGRsIHtcclxuICAgICAgICAgIGR0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5idG5UeXBlTW9yZSB7IG1hcmdpbi10b3A6IDQwcHg7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbuaWsOedgOaDheWgsVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuI1BhZ2VOZXdzLnBhZ2VJbmRleCB7XHJcbiAgI01haW4ge1xyXG4gICAgLm1lbnVUeXBlTmV3cyB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG59XHJcblxyXG4vKlxyXG7jgYrnn6XjgonjgZsg5YWx6YCaXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUluZm8ge1xyXG4gICNNYWluIHtcclxuICAgIC5jb250Qm94IHtcclxuICAgICAgLm1lbnVUeXBlU3ViQ2F0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgID4gdWwgeyBnYXA6IDIwcHggNDBweDsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAjUGFnZUluZm8ge1xyXG4gICAgI01haW4ge1xyXG4gICAgICAuY29udEJveCB7XHJcbiAgICAgICAgLm1lbnVUeXBlU3ViQ2F0IHtcclxuICAgICAgICAgID4gdWwgeyBnYXA6IDEwcHggMjBweDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu44GK55+l44KJ44GbXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUluZm8ucGFnZUluZGV4IHtcclxuICAjTWFpbiB7XHJcbiAgICAjQ29udEJveDAxIHtcclxuICAgICAgLmNvbnRTdWJCb3gwMSB7XHJcbiAgICAgICAgcGFkZGluZzogMCA1MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbiAgICAgICAgLmZsZXgge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgIGdhcDogNDBweCA4MHB4O1xyXG4gICAgICAgICAgLnBvc3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoICgxMDAlIC0gODBweCkgLyAyKTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9iYXNpYztcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbGlnaHRibHVlO1xyXG4gICAgICAgICAgICBkbCB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMjVweCAzMHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgIC5jYXRlZ29yeSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGFudGlxdWU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgI1BhZ2VJbmZvLnBhZ2VJbmRleCB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgICNDb250Qm94MDEge1xyXG4gICAgICAgIC5jb250U3ViQm94MDEge1xyXG4gICAgICAgICAgLmZsZXggLnBvc3Qge1xyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgZmlndXJlIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRleHQge1xyXG4gICAgICAgICAgICAgIC5jYXRlZ29yeSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIC5pbWFnZSBmaWd1cmUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICNQYWdlSW5mby5wYWdlSW5kZXgge1xyXG4gICAgI01haW4ge1xyXG4gICAgICAjQ29udEJveDAxIHtcclxuICAgICAgICAuY29udFN1YkJveDAxIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgLmZsZXgge1xyXG4gICAgICAgICAgICBnYXA6IDE2cHg7XHJcbiAgICAgICAgICAgIC5wb3N0IHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICBkbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAwIDI0cHg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZHQuY2F0ZWdvcnkgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICAgICAgICAgICAgICAuY2F0ZWdvcnkge1xyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDkycHg7XHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu44GK55+l44KJ44GbIOOCq+ODhuOCtOODquOCouODvOOCq+OCpOODllxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuI1BhZ2VJbmZvLnBhZ2VDYXRlZ29yeSB7XHJcbiAgI01haW4ge1xyXG4gICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgIC5tZW51VHlwZVN1YkNhdCB7IG1hcmdpbi1ib3R0b206IDY1cHg7IH1cclxuICAgIH1cclxuICAgICNuZXdzbGV0dGVyIHtcclxuICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgICsgLmNvbnRTdWJCb3ggeyBtYXJnaW4tdG9wOiAxMDBweDsgfVxyXG4gICAgICB9XHJcbiAgICAgIC5jb250U3ViQm94MDEge1xyXG4gICAgICAgIGg0IHsgbWFyZ2luLWJvdHRvbTogNzBweDsgfVxyXG4gICAgICAgIC5wb3N0VHlwZU5ld3NsZXR0ZXIge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgIGdhcDogNjRweCA5MHB4O1xyXG4gICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAoMTAwJSAtIDE4MHB4KSAvIDMgKTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9iYXNpYztcclxuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNjZweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZmlndXJlIHtcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNDUuMTgwNzIyODkxNTY2MyU7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ0blR5cGVCYXNpYyB7XHJcbiAgICAgICAgICBtYXJnaW46IDY0cHggYXV0byAwO1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDMwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY29udFN1YkJveDAyIHtcclxuICAgICAgICAudGl0bGVUeXBlQm90dG9tTGluZSB7IG1hcmdpbi1ib3R0b206IDMycHg7IH1cclxuICAgICAgICAudGV4dEJveCB7IHBhZGRpbmc6IDAgNTBweDsgfVxyXG4gICAgICAgIC5zdWJCb3gge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2xpZ2h0Ymx1ZTtcclxuICAgICAgICAgIHBhZGRpbmc6IDQ5cHggNTBweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjZXRjIHtcclxuICAgICAgLnRpdGxlVHlwZUJvdHRvbUxpbmUgeyBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAjUGFnZUluZm8ucGFnZUNhdGVnb3J5IHtcclxuICAgICNNYWluIHtcclxuICAgICAgI25ld3NsZXR0ZXIge1xyXG4gICAgICAgIC5jb250U3ViQm94MDEge1xyXG4gICAgICAgICAgLnBvc3RUeXBlTmV3c2xldHRlciB7XHJcbiAgICAgICAgICAgID4gbGkgYSB7XHJcbiAgICAgICAgICAgICAgZmlndXJlIHtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XHJcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgICAgICAgICBmaWd1cmUgaW1nIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAjUGFnZUluZm8ucGFnZUNhdGVnb3J5IHtcclxuICAgICNNYWluIHtcclxuICAgICAgI25ld3NsZXR0ZXIge1xyXG4gICAgICAgIC5jb250U3ViQm94MDEge1xyXG4gICAgICAgICAgaDQgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XHJcbiAgICAgICAgICAucG9zdFR5cGVOZXdzbGV0dGVyIHtcclxuICAgICAgICAgICAgZ2FwOiA0MHB4IDIwcHg7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAoMTAwJSAtIDIwcHgpIC8gMiApO1xyXG4gICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcclxuICAgICAgICAgICAgICAgICAgZmlndXJlIHsgcGFkZGluZy10b3A6IDE0NS4zODQ2MTUzODQ2MTU0JTsgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuYnRuVHlwZUJhc2ljIHsgbWFyZ2luLXRvcDogNDBweDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udFN1YkJveDAyIHtcclxuICAgICAgICAgIC50ZXh0Qm94IHsgcGFkZGluZzogMDsgfVxyXG4gICAgICAgICAgLnN1YkJveCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7jgYrnn6XjgonjgZsg6KiY5LqL6Kmz57SwXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUluZm8ucGFnZUVudHJ5IHtcclxuICAjTWFpbiB7XHJcbiAgICAjQ29udEJveDAxIHtcclxuICAgICAgLm1ldGFCb3gge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgLmRhdGUge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJGxhdG87XHJcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX2RhcmtncmF5O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmVudHJ5Qm94IHtcclxuICAgICAgICBwYWRkaW5nOiA2NHB4IDUwcHg7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkY29sb3JfZ3JheTtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAwO1xyXG4gICAgICAgID4gKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICB9XHJcbiAgICAgIC5uYXZCb3ggeyBtYXJnaW4tdG9wOiA0MHB4OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAjUGFnZUluZm8ucGFnZUVudHJ5IHtcclxuICAgICNNYWluIHtcclxuICAgICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgICAgLmVudHJ5Qm94IHsgcGFkZGluZzogMzBweCAwOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbuOCpOODmeODs+ODiCDlhbHpgJpcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlRXZlbnQge1xyXG4gICNNYWluIHtcclxuICAgIC5jb250Qm94IHtcclxuICAgICAgLm1lbnVUeXBlU3ViQ2F0IHsgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbn1cclxuXHJcbi8qXHJcbuOCpOODmeODs+ODiFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuI1BhZ2VFdmVudC5wYWdlQ2F0ZWdvcnkge1xyXG4gICNNYWluIHtcclxuICAgICNDb250Qm94MDEge1xyXG4gICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgKyAuY29udFN1YkJveCB7IG1hcmdpbi10b3A6IDEwMHB4OyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG59XHJcblxyXG4vKlxyXG7jgqTjg5njg7Pjg4gg6KiY5LqL6Kmz57SwXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUV2ZW50LnBhZ2VFbnRyeSB7XHJcbiAgI01haW4ge1xyXG4gICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgIC5tZXRhQm94IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgIC5kYXRlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRsYXRvO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9kYXJrZ3JheTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5jb250U3ViQm94IHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgODhweDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkICRjb2xvcl9ncmF5O1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XHJcbiAgICAgICAgLmVudHJ5Qm94IHtcclxuICAgICAgICAgID4gKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICAgICAgKyAuZnJlZUlucHV0Qm94IHsgbWFyZ2luLXRvcDogOTBweDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYnRuVHlwZUJhc2ljIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQzMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDY0cHggYXV0byAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgKyAuZnJlZUlucHV0Qm94IHsgbWFyZ2luLXRvcDogOTBweDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZnJlZUlucHV0Qm94IHtcclxuICAgICAgICAgIC50aXRsZVR5cGVGaWxsIHsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxyXG4gICAgICAgICAgLnRleHRCb3gge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDUwcHg7XHJcbiAgICAgICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjRweCAwO1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2dyYXk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOTRweDtcclxuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibHVlO1xyXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJveCB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTIwcHg7XHJcbiAgICAgICAgICAgICAgLnRpdGxlVHlwZUJvdHRvbUxpbmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zIEpQXCIsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLm5hdkJveCB7IG1hcmdpbi10b3A6IDQwcHg7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICNQYWdlRXZlbnQucGFnZUVudHJ5IHtcclxuICAgICNNYWluIHtcclxuICAgICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgICAgcGFkZGluZzogMzBweCAwIDY4cHg7XHJcbiAgICAgICAgICAuZW50cnlCb3ggeyBwYWRkaW5nOiAwOyB9XHJcbiAgICAgICAgICAuZnJlZUlucHV0Qm94IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjRweDtcclxuICAgICAgICAgICAgLnRpdGxlVHlwZUZpbGwge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGV4dEJveCB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAuYm94IHsgbWFyZ2luLXRvcDogODBweDsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7os57plqLpgKPmg4XloLEg5YWx6YCaXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUF3YXJkcyB7XHJcbiAgI01haW4ge1xyXG4gICAgLmNvbnRCb3gge1xyXG4gICAgICAubWVudVR5cGVTdWJDYXQgeyBtYXJnaW4tYm90dG9tOiA2NHB4OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAjUGFnZUF3YXJkcyB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgIC5jb250Qm94IHtcclxuICAgICAgICAubWVudVR5cGVTdWJDYXQgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qXHJcbuiznumWoumAo+aDheWgsVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuI1BhZ2VBd2FyZHMucGFnZUluZGV4IHtcclxuICAjTWFpbiB7XHJcbiAgICAjQ29udEJveDAxIHtcclxuICAgICAgLnBvc3RUeXBlTmV3cyB7XHJcbiAgICAgICAgPiBsaSBhIHtcclxuICAgICAgICAgIC5tZXRhIC5jYXRlZ29yeSA+IGxpIHsgbWluLXdpZHRoOiAxODhweDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbn1cclxuXHJcbi8qXHJcbuiznumWoumAo+aDheWgsSDjgqvjg4bjgrTjg6rjgqLjg7zjgqvjgqTjg5ZcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlQXdhcmRzLnBhZ2VDYXRlZ29yeSB7XHJcbiAgI01haW4ge1xyXG4gICAgLm1lbnVUeXBlTmV3cy5ub3Nob3cgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICAudGl0bGVUeXBlQmFzaWMgeyBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XHJcbiAgICAudGFibGVUeXBlQXdhcmRzIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHRyIHtcclxuICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xyXG4gICAgICAgICAgdGgsIHRkIHsgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2xpZ2h0Ymx1ZTsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aCB7XHJcbiAgICAgICAgd2lkdGg6IDI3MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMjBweCAzMHB4IDUwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgfVxyXG4gICAgICB0ZCB7IHBhZGRpbmc6IDMwcHggNTBweCAzMHB4IDA7IH1cclxuICAgIH1cclxuICAgIC5idG5UeXBlUmV0dXJuIHtcclxuICAgICAgbWFyZ2luLXRvcDogNjRweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgI1BhZ2VBd2FyZHMucGFnZUNhdGVnb3J5IHtcclxuICAgICNNYWluIHtcclxuICAgICAgLnRhYmxlVHlwZUF3YXJkcyB7XHJcbiAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoIHsgcGFkZGluZzogMjRweCAyMHB4IDRweDsgfVxyXG4gICAgICAgIHRkIHsgcGFkZGluZzogNHB4IDIwcHggMjRweDsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7oqJjkuovoqbPntLBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlQXdhcmRzLnBhZ2VFbnRyeSB7XHJcbiAgI01haW4ge1xyXG4gICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgIC5tZXRhQm94IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgIC5kYXRlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRsYXRvO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9kYXJrZ3JheTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5lbnRyeUJveCB7XHJcbiAgICAgICAgcGFkZGluZzogNDhweCA1MHB4IDY0cHg7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkY29sb3JfZ3JheTtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAwO1xyXG4gICAgICAgIC5idG5UeXBlQmFzaWMge1xyXG4gICAgICAgICAgbWFyZ2luOiA2NHB4IGF1dG8gMDtcclxuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgPiBhIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICNQYWdlQXdhcmRzLnBhZ2VFbnRyeSB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgICNDb250Qm94MDEge1xyXG4gICAgICAgIC5lbnRyeUJveCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAzMnB4IDA7XHJcbiAgICAgICAgICAuYnRuVHlwZUJhc2ljIHtcclxuICAgICAgICAgICAgPiBhIC5wIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu44Kk44OZ44Oz44OI44Kr44Os44Oz44OA44O8XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUV2ZW50Y2FsZW5kYXIucGFnZUluZGV4IHtcclxuICAjTWFpbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcclxuICAgIC5pbm5lckJhc2ljIHsgbWF4LXdpZHRoOiA5MDBweDsgfVxyXG4gICAgLnRleHRCb3gge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICBwIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRCb3gge1xyXG4gICAgICArIC5jb250Qm94IHsgbWFyZ2luLXRvcDogNTBweDsgfVxyXG4gICAgICAuc2hvd0JveCB7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCA1MHB4IDA7XHJcbiAgICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgICAgKyAuY29udFN1YkJveCB7IG1hcmdpbi10b3A6IDMwcHg7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpdGxlVHlwZUJhc2ljIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3JfYmFzaWM7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XHJcbiAgICAgICAgICBzcGFuIHsgZm9udC1zaXplOiA0MHB4OyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jYXJkIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3JfYmFzaWM7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfd2hpdGU7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM0Y5MkUwO1xyXG4gICAgICAgICAgKyAuY2FyZCB7IG1hcmdpbi10b3A6IDE1cHg7IH1cclxuICAgICAgICAgIGRsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ3cHgpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDM1cHg7XHJcbiAgICAgICAgICAgIC5kYXRlIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjM0Y5MkUwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDE2MHB4KTtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBGM0ZGO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibHVlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDEycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibHVlO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAudmVudWUge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmFycm93IHtcclxuICAgICAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmFkaWVudF9ibHVlMDE7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC41cyBlYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Fycm93XzAyX3doLnBuZykgbm8tcmVwZWF0IGxlZnQgdG9wO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC41cyBlYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSAuc2hvd0JveCB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAjUGFnZUV2ZW50Y2FsZW5kYXIucGFnZUluZGV4IHtcclxuICAgICNNYWluIHtcclxuICAgICAgLmNvbnRCb3gge1xyXG4gICAgICAgIC5jbGljayB7XHJcbiAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDFweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCAyNXB4IDE0cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaG93Qm94IHtcclxuICAgICAgICAgIC5jYXJkOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2xpZ2h0Ymx1ZTtcclxuICAgICAgICAgICAgZGwgZGQudGV4dCB7XHJcbiAgICAgICAgICAgICAgLnRpdGxlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYXJyb3cge1xyXG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7IG9wYWNpdHk6IDE7IH1cclxuICAgICAgICAgICAgICAmOjphZnRlciB7IGxlZnQ6IGNhbGMoNTAlICsgMnB4KTsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAjUGFnZUV2ZW50Y2FsZW5kYXIucGFnZUluZGV4IHtcclxuICAgICNNYWluIHtcclxuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgICAgIC50ZXh0Qm94IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY29udEJveCB7XHJcbiAgICAgICAgLmNsaWNrIHtcclxuICAgICAgICAgIHAgeyBwYWRkaW5nOiAxNXB4IDI0cHggMTZweDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2hvd0JveCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMDtcclxuICAgICAgICAgIC50aXRsZVR5cGVCYXNpYyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIHNwYW4geyBmb250LXNpemU6IDMwcHg7IH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5jYXJkIHtcclxuICAgICAgICAgICAgZGwge1xyXG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAyMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgLmRhdGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkICMzRjkyRTA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICBzcGFuIHsgZm9udC1zaXplOiAyNHB4OyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgLnZlbnVlIHtcclxuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7jgq7jg6Pjg6njg6rjg7xcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlR2FsbGVyeS5wYWdlSW5kZXgge1xyXG4gICNNYWluIHtcclxuICAgICNDb250Qm94MDEge1xyXG4gICAgICAuaW5uZXJCYXNpYyB7IG1heC13aWR0aDogOTAwcHg7IH1cclxuICAgICAgLnRleHRCb3gge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfZ3JheTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIHAgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgICAgIH1cclxuICAgICAgLmZsZXgge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogNDBweCA1MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgICAgICAubGlua0JveCB7XHJcbiAgICAgICAgICB3aWR0aDogY2FsYyggKDEwMCUgLSA1MHB4KSAvIDIgKTtcclxuICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICBmaWd1cmUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNTMlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYWRpZW50X2JsdWUwMTtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmx1ZTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYW50aXF1ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYXJyb3dfMDJfd2gucG5nKSBuby1yZXBlYXQgcmlnaHQgMThweCBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDZweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTNweCA0MnB4IDEzcHggMjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAjUGFnZUdhbGxlcnkucGFnZUluZGV4IHtcclxuICAgICNNYWluIHtcclxuICAgICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgICAgLmZsZXggLmxpbmtCb3ggPiBhIHtcclxuICAgICAgICAgIC5pbWFnZSBmaWd1cmUge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHsgdHJhbnNpdGlvbjogMC41cyBlYXNlOyB9XHJcbiAgICAgICAgICAgIHAgeyB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7IH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuaW1hZ2UgZmlndXJlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XHJcbiAgICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgICAmOjpiZWZvcmUgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAgICAgICAgICAgcCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE2cHggY2VudGVyOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICNQYWdlR2FsbGVyeS5wYWdlSW5kZXgge1xyXG4gICAgI01haW4ge1xyXG4gICAgICAjQ29udEJveDAxIHtcclxuICAgICAgICAuZmxleCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgLmxpbmtCb3ggeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu44Kr44OG44K044Oq44Ki44O844Kr44Kk44OWXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUdhbGxlcnkucGFnZUNhdGVnb3J5IHtcclxuICAjTWFpbiB7XHJcbiAgICAjQ29udEJveDAxIHtcclxuICAgICAgLmlubmVyQmFzaWMgeyBtYXgtd2lkdGg6IDkwMHB4OyB9XHJcbiAgICAgIGgzIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgfVxyXG4gICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgLnRleHRCb3ggeyBtYXJnaW46IC0xOHB4IDAgNTdweDsgfVxyXG4gICAgICAgIC5ib3gge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2xpZ2h0Ymx1ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICArIC5ib3ggeyBtYXJnaW4tdG9wOiAgNTBweDsgfVxyXG4gICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYXV0aG9yIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfZ3JheTtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3hUeXBlRXhoaWJpdCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgICAgICAgZ2FwOiAwIDUwcHg7XHJcbiAgICAgICAgICAuaW1hZ2UgeyB3aWR0aDogNDMuOTAyNDM5MDI0MzkwMjQlOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3hUeXBlR3JlYXQge1xyXG4gICAgICAgICAgcGFkZGluZzogNjRweCA1MHB4O1xyXG4gICAgICAgICAgZ2FwOiAwIDUwcHg7XHJcbiAgICAgICAgICAudGl0bGVUeXBlQm90dG9tTGluZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2Jhc2ljO1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5pbWFnZSB7IHdpZHRoOiAyMzBweDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94VHlwZU90aGVyIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDMycHggNDBweCA0MHB4O1xyXG4gICAgICAgICAgZ2FwOiAwIDUwcHg7XHJcbiAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjNweDtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRhbnRpcXVlO1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmltYWdlIHsgd2lkdGg6IDE3MHB4OyB9XHJcbiAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIC5hdXRob3Ige1xyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICNQYWdlR2FsbGVyeS5wYWdlQ2F0ZWdvcnkge1xyXG4gICAgI01haW4ge1xyXG4gICAgICAjQ29udEJveDAxIHtcclxuICAgICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgICAuYm94IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMzJweCAyMHB4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICArIC5ib3ggeyBtYXJnaW4tdG9wOiA0MHB4OyB9XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIC5hdXRob3Ige1xyXG4gICAgICAgICAgICAgICAgcCB7IGxpbmUtaGVpZ2h0OiAyMXB4OyB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuYm94VHlwZUV4aGliaXQge1xyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5ib3hUeXBlR3JlYXQge1xyXG4gICAgICAgICAgICAudGl0bGVUeXBlQm90dG9tTGluZSB7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG4gICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5ib3hUeXBlT3RoZXIge1xyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTgwcHg7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu5YWl5Lya5qGI5YaFXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZVBhcnRpY2lwYXRpb24ucGFnZUluZGV4IHtcclxuICAjTWFpbiB7XHJcbiAgICAuY29udEJveCB7XHJcbiAgICAgICsgLmNvbnRCb3ggeyBtYXJnaW4tdG9wOiAxMDBweDsgfVxyXG4gICAgICAuaW5uZXJCYXNpYyB7IG1heC13aWR0aDogOTAwcHg7IH1cclxuICAgICAgLmNvbnRTdWJCb3ggeyBwYWRkaW5nOiAwIDUwcHg7IH1cclxuICAgICAgLnRpdGxlVHlwZUJvdHRvbUxpbmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLmZsZXgge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjQ29udEJveDAxIHtcclxuICAgICAgLmZsZXgge1xyXG4gICAgICAgIGdhcDogNDBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICB3aWR0aDogY2FsYyggKDEwMCUgLSA0MHB4KSAvIDIgKTtcclxuICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5idG5UeXBlQmFzaWMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDY0cHg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjQ29udEJveDAyIHtcclxuICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEMEQwRDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICB3aWR0aDogMTcwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9saWdodGJsdWU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSkgeyB3aWR0aDogMTY4cHg7IH1cclxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcclxuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI0NvbnRCb3gwMyB7XHJcbiAgICAgIC5jb250U3ViQm94IHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgID4gcCB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmxleCB7XHJcbiAgICAgICAgICBnYXA6IDQwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG4gICAgICAgICAgPiBkaXYgeyB3aWR0aDogY2FsYyggKDEwMCUgLSA0MHB4KSAvIDIgKTsgfVxyXG4gICAgICAgICAgLmJ0blR5cGVCYXNpYyB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIC5wIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3ViQm94IHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA1NjhweDtcclxuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2xpZ2h0Ymx1ZTtcclxuICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYW50aXF1ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAmLmxhcmdlIHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMzBweCkge1xyXG4gICNQYWdlUGFydGljaXBhdGlvbi5wYWdlSW5kZXgge1xyXG4gICAgI01haW4ge1xyXG4gICAgICAjQ29udEJveDAyIHtcclxuICAgICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgICAuc2Nyb2xsQm94IHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI0cHg7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgIC5zY3JvbGwge1xyXG4gICAgICAgICAgICAgICAgJl9faWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9jb250ZW50cy9zY3JvbGwucG5nKSBuby1yZXBlYXQgbGVmdCB0b3A7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDZweCA2cHggcmdiYSgwLDAsMCwwLjE2KTtcclxuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICB0b3A6IDE0MHB4O1xyXG4gICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA5MDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBoZWlnaHQ6IDEwcHg7IH1cclxuICAgICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQkVCRUJFO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNDM0MzO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICNQYWdlUGFydGljaXBhdGlvbi5wYWdlSW5kZXgge1xyXG4gICAgI01haW4ge1xyXG4gICAgICAuY29udEJveCB7XHJcbiAgICAgICAgLmNvbnRTdWJCb3ggeyBwYWRkaW5nOiAwOyB9XHJcbiAgICAgIH1cclxuICAgICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgICAgLmZsZXgge1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogMzBweDtcclxuICAgICAgICAgICAgZmlndXJlIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgI0NvbnRCb3gwMyB7XHJcbiAgICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgICAgPiBwIHsgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxyXG4gICAgICAgICAgLmZsZXgge1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogMzBweCAwO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgLmJ0blR5cGVCYXNpYyB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MzBweDtcclxuICAgICAgICAgICAgICAucCB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBzbWFsbCB7IGxldHRlci1zcGFjaW5nOiAwOyB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7lrabnlJ/jga7jgb/jgarjgZXjgb7jgbhcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlRm9yc3R1ZGVudHMucGFnZUluZGV4IHtcclxuICAjTWFpbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcclxuICAgICNDb250Qm94MDEge1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAuaW1hZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbWFnZTAxIHsgbWF4LXdpZHRoOiAxMDEzcHg7IH1cclxuICAgICAgICAmLmltYWdlMDIgeyBtYXgtd2lkdGg6IDEwNDBweDsgfVxyXG4gICAgICB9XHJcbiAgICAgIC5pbm5lckJhc2ljIHsgbWF4LXdpZHRoOiA4MjBweDsgfVxyXG4gICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgbWFyZ2luOiAxMDBweCAwO1xyXG4gICAgICAgIHAgeyBwYWRkaW5nOiAwIDEwcHg7IH1cclxuICAgICAgICAuZmxleCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogNjRweDtcclxuICAgICAgICAgIC5idG5UeXBlQmFzaWMgeyB3aWR0aDogY2FsYyggKDEwMCUgLSAyMHB4KSAvIDIgKTsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgI1BhZ2VGb3JzdHVkZW50cy5wYWdlSW5kZXgge1xyXG4gICAgI01haW4ge1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAjQ29udEJveDAxIHtcclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgJi5pbWFnZTAxIHsgd2lkdGg6IDQ0M3B4OyB9XHJcbiAgICAgICAgICAmLmltYWdlMDIgeyB3aWR0aDogNDgzcHg7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgICAgbWFyZ2luOiA2NHB4IDA7XHJcbiAgICAgICAgICBwIHsgcGFkZGluZzogMDsgfVxyXG4gICAgICAgICAgLmZsZXgge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgICAgIC5idG5UeXBlQmFzaWMge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIG1heC13aWR0aDogNDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4M3B4KSB7XHJcbiAgI1BhZ2VGb3JzdHVkZW50cy5wYWdlSW5kZXgge1xyXG4gICAgI01haW4ge1xyXG4gICAgICAjQ29udEJveDAxIHtcclxuICAgICAgICAuaW1hZ2UwMiB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDNweCkge1xyXG4gICNQYWdlRm9yc3R1ZGVudHMucGFnZUluZGV4IHtcclxuICAgICNNYWluIHtcclxuICAgICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgICAgLmltYWdlMDEge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu5b255ZOh44O75aeU5ZOh5Lya5bCC55So44Oa44O844K4XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUJvYXJkbWVtYmVyLnBhZ2VJbmRleCB7XHJcbiAgI01haW4ge1xyXG4gICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgIC5pbm5lckJhc2ljIHsgbWF4LXdpZHRoOiA4NDBweDsgfVxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZ2FwOiAzMHB4IDQwcHg7XHJcbiAgICAgICAgbGkgeyB3aWR0aDogY2FsYyggKDEwMCUgLSA0MHB4KSAvIDIpOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICNQYWdlQm9hcmRtZW1iZXIucGFnZUluZGV4IHtcclxuICAgICNNYWluIHtcclxuICAgICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgbGkgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu5qSc57Si57WQ5p6cXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jU2VhcmNoUmVzdWx0Qm94IHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHotaW5kZXg6IDYwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIC5zZWFyY2gge1xyXG4gICAgJl9fd3JhcHBlciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvY29udGVudHMvYmFja2dyb3VuZC5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1heC13aWR0aDogODMwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcGFkZGluZzogNjBweCAwO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBnYXA6IDQwcHggMDtcclxuICAgICAgaDIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYW50aXF1ZTtcclxuICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgLmNsb3NlIHtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYWRpZW50X2JsdWUwMTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbl8wMi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4IGF1dG87XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fcmVzdWx0IHtcclxuICAgICAgZmxleDogMTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3doaXRlO1xyXG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgIHBhZGRpbmc6IDcycHggNDNweDtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICNTZWFyY2hSZXN1bHRCb3gge1xyXG4gICAgLnNlYXJjaCB7XHJcbiAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAuY2xvc2Uge1xyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgI1NlYXJjaFJlc3VsdEJveCB7XHJcbiAgICAuc2VhcmNoIHtcclxuICAgICAgJl9faW5uZXIgeyBwYWRkaW5nOiA2MHB4IDIwcHg7IH1cclxuICAgICAgJl9fcmVzdWx0IHsgcGFkZGluZzogMzJweCAyMHB4OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7jgojjgY/jgYLjgovos6rllY8g5LiA6Kan5YWx6YCaXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jUGFnZUZhcS5wYWdlSW5kZXgsXHJcbiNQYWdlRmFxLnBhZ2VDYXRlZ29yeSB7XHJcbiAgI01haW4ge1xyXG4gICAgcGFkZGluZzogNjJweCAwIDEwMHB4O1xyXG4gICAgLnRpdGxlVHlwZUJvdHRvbUxpbmUgeyBjb2xvcjogJGNvbG9yX2JsdWU7IH1cclxuICAgIC5sZWFkQm94IHtcclxuICAgICAgPiAqOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAjUGFnZUZhcS5wYWdlSW5kZXgsXHJcbiAgI1BhZ2VGYXEucGFnZUNhdGVnb3J5IHtcclxuICAgICNNYWluIHtcclxuICAgICAgLmNvbnRCb3gge1xyXG4gICAgICAgICsgLmNvbnRCb3ggeyBtYXJnaW4tdG9wOiA4MHB4OyB9XHJcbiAgICAgIH1cclxuICAgICAgLnRpdGxlVHlwZUJhc2ljIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDJweDtcclxuICAgICAgfVxyXG4gICAgICAudGl0bGVUeXBlQm90dG9tTGluZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICNQYWdlRmFxLnBhZ2VJbmRleCxcclxuICAjUGFnZUZhcS5wYWdlQ2F0ZWdvcnkge1xyXG4gICAgI01haW4ge1xyXG4gICAgICBwYWRkaW5nOiA0MHB4IDAgNjRweDtcclxuICAgICAgLmNvbnRCb3gge1xyXG4gICAgICAgICsgLmNvbnRCb3ggeyBtYXJnaW4tdG9wOiA1MHB4OyB9XHJcbiAgICAgIH1cclxuICAgICAgLnRpdGxlVHlwZUJvdHRvbUxpbmUgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7jgojjgY/jgYLjgovos6rllY9cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICNQYWdlRmFxLnBhZ2VJbmRleCB7XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgIC5pbm5lckJhc2ljIHsgbWF4LXdpZHRoOiA4MDBweDsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxu44KI44GP44GC44KL6LOq5ZWPIOOCq+ODhuOCtOODquOCouODvOOCq+OCpOODllxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgI1BhZ2VGYXEucGFnZUNhdGVnb3J5IHtcclxuICAgICNNYWluIHtcclxuICAgICAgLmlubmVyQmFzaWMgeyBtYXgtd2lkdGg6IDkwMHB4OyB9XHJcbiAgICAgIC50aXRsZVR5cGVCYXNpYyB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuICAgICAgLmxpc3RUeXBlRmFxIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOiAyNXB4IDIwcHg7XHJcbiAgICAgICAgbGkgeyB3aWR0aDogY2FsYyggKDEwMCUgLSAyMHB4KSAvIDIpOyB9XHJcbiAgICAgIH1cclxuICAgICAgLmJ0blR5cGVSZXR1cm4ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tdG9wOiA2NHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5jb250Qm94IHtcclxuICAgICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwIDUwcHg7XHJcbiAgICAgICAgICAmOmhhcygubGlzdFR5cGVDYXRCdG4pIHsgcGFkZGluZzogMCA0MHB4IDY1cHg7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgICAgLmlubmVyQmFzaWMgeyBwYWRkaW5nOiAwIDUwcHg7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgI1BhZ2VGYXEucGFnZUNhdGVnb3J5IHtcclxuICAgICNNYWluIHtcclxuICAgICAgLmJ0blR5cGVSZXR1cm4ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG7oqJjkuovoqbPntLBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlRmFxLnBhZ2VFbnRyeSB7XHJcbiAgI01haW4ge1xyXG4gICAgLmlubmVyQmFzaWMgeyBtYXgtd2lkdGg6IDkwMHB4OyB9XHJcbiAgICAudGl0bGUge1xyXG4gICAgICBmb250LWZhbWlseTogJGFudGlxdWU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNDdweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJRXCI7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ibHVlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkbWluY2hvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmVudHJ5Qm94IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2xpZ2h0Ymx1ZTtcclxuICAgICAgcGFkZGluZzogNTZweCA1MHB4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJ0EnO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkbWluY2hvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOTRweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgb3BhY2l0eTogMC4xO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0xOHB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgIH1cclxuICAgICAgPiAqOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG59XHJcblxyXG4vKlxyXG7oi7Hoqp7jg5rjg7zjgrhcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlRW4ucGFnZUluZGV4IHtcclxuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAjTWFpbkltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgICNNYWluSW1nSW5uZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAudGV4dEJveCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbWluY2hvO1xyXG4gICAgICAgICAgZm9udC1zaXplOiA1OXB4O1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA3M3B4O1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsOTEsMTgzLDAuOSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5iYW5uZXJCb3gge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzUsMjUsMjEsMC41KTtcclxuICAgICAgICB1bCBsaSBhIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgI01haW4ge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIC5jb250Qm94IHtcclxuICAgICAgLnRpdGxlVHlwZUJvdHRvbUxpbmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkbWluY2hvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xyXG4gICAgICB9XHJcbiAgICAgIHAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XHJcbiAgICB9XHJcbiAgICAjQ29udEJveDAxIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9jb250ZW50cy90b3AvYmdfMDEucG5nKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgcGFkZGluZzogMTA1cHggMCAxNDJweDtcclxuICAgICAgLmlubmVyQmFzaWMgeyBtYXgtd2lkdGg6IDgwMHB4OyB9XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LWZhbWlseTogJG1pbmNobztcclxuICAgICAgICBmb250LXNpemU6IDQ1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDY2cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMTc3cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDY2cHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2NvbnRlbnRzL2VuL3RleHRfMDEucG5nKSBuby1yZXBlYXQgbGVmdCB0b3A7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcclxuICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBwIHtcclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI0NvbnRCb3gwMiB7XHJcbiAgICAgIHBhZGRpbmc6IDIzcHggMCAxMDBweDtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI0YyRjhGQyAwJSwgI0ZGRkZGRiAxMDAlKTtcclxuICAgICAgLmlubmVyQmFzaWMgeyBtYXgtd2lkdGg6IDkwMHB4OyB9XHJcbiAgICAgIC50aXRsZVR5cGVFbiB7IG1hcmdpbi1ib3R0b206IDM2cHg7IH1cclxuICAgICAgLmltYWdlQm94IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICB3aWR0aDogY2FsYyggKDEwMCUgLSA0MHB4KSAvIDIpO1xyXG4gICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgICsgLmNvbnRTdWJCb3ggeyBtYXJnaW4tdG9wOiA1MHB4OyB9XHJcbiAgICAgICAgLnRpdGxlVHlwZUJvdHRvbUxpbmUgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB0ZCB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9saWdodGJsdWU7IH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggOXB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX3doaXRlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICB3aWR0aDogMjA0cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9ibHVlO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3Jfd2hpdGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgZW0geyBmb250LXN0eWxlOiBpdGFsaWM7IH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNDb250Qm94MDMge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2NvbnRlbnRzL3RvcC9iZ18wMi5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICBwYWRkaW5nOiA3MnB4IDAgOTBweDtcclxuICAgICAgLmlubmVyQmFzaWMgeyBtYXgtd2lkdGg6IDgwMHB4OyB9XHJcbiAgICAgIC50aXRsZVR5cGVFbiB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyM3B4O1xyXG4gICAgICB9XHJcbiAgICAgIC5jb250U3ViQm94IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfd2hpdGU7XHJcbiAgICAgICAgcGFkZGluZzogMzJweCA1MHB4IDUwcHg7XHJcbiAgICAgICAgLnRpdGxlVHlwZUJvdHRvbUxpbmUge1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zIEpQXCIsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDNweDtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1YkJveCB7XHJcbiAgICAgICAgICBkbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogNDBweDtcclxuICAgICAgICAgICAgKyBkbCB7IG1hcmdpbi10b3A6IDIwcHg7IH1cclxuICAgICAgICAgICAgZHQge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBGM0ZGO1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsdWU7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmJ0blR5cGVNb3JlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICBhIHsgY29sb3I6ICRjb2xvcl9ibHVlOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNDb250Qm94MDQge1xyXG4gICAgICBwYWRkaW5nOiA3M3B4IDAgMTUwcHg7XHJcbiAgICAgIC50aXRsZVR5cGVFbiB7IG1hcmdpbi1ib3R0b206IDM3cHg7IH1cclxuICAgICAgLmlubmVyQmFzaWMgeyBtYXgtd2lkdGg6IDkwMHB4OyB9XHJcbiAgICAgIC5jb250U3ViQm94IHtcclxuICAgICAgICArIC5jb250U3ViQm94IHsgbWFyZ2luLXRvcDogMTAwcHg7IH1cclxuICAgICAgICAudGl0bGVUeXBlQm90dG9tTGluZSB7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cclxuICAgICAgICAuY29sb3JCb3gge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2xpZ2h0Ymx1ZTtcclxuICAgICAgICAgIHBhZGRpbmc6IDI0cHg7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibHVlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDRweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3ViQm94IHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgICAuc2hvd0JveCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcclxuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDEpIHtcclxuICAgICAgICAgICAgICAgICAgdGgsIHRkIHsgcGFkZGluZy10b3A6IDA7IH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI0cHggMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfZ3JheTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0MHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjQ29udEJveDA1IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2xpZ2h0Ymx1ZTtcclxuICAgICAgcGFkZGluZzogODBweCAwO1xyXG4gICAgICAuaW5uZXJCYXNpYyB7IG1heC13aWR0aDogMTAwJTsgfVxyXG4gICAgICAuZmxleCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgID4gZGl2IHsgd2lkdGg6IDUwJTsgfVxyXG4gICAgICAgIC50ZXh0Qm94IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfYmx1ZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDgzcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibHVlO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuYnRuVHlwZUJhc2ljIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTJweDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDEwOCwxODgsMC4zKTtcclxuICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1hcEJveCB7XHJcbiAgICAgICAgICAuYm94IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDcyLjkzMTAzNDQ4Mjc1ODYyJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgI0Zvb3RlciB7XHJcbiAgICAjQ29udEJveEZvb3RlciB7XHJcbiAgICAgIC50ZXh0Qm94IHAubG9nbyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxOTVweDtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiA0NS43MTAzMzIxMDMzMjEwMyU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Zvb3Rlci9sb2dvX2VuLnBuZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAjUGFnZUVuLnBhZ2VJbmRleCB7XHJcbiAgICAjSGVhZGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIC5ib3hfbG9nbyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2hlYWRlci9sb2dvX2VuLnBuZyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5ib3hfbWVudSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAzMHB4IHJnYmEoMCw5MSwxODMsMC4zKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3O1xyXG4gICAgICAgIC5tYWluTWVudSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl93aGl0ZTsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmZpeGVkICNIZWFkZXIge1xyXG4gICAgICAuYm94X2xvZ28ge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaGVhZGVyL2JhY2tncm91bmQuanBnKTtcclxuICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4IDMwcHggcmdiYSgwLDkxLDE4MywwLjMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjTWFpbkltZyB7XHJcbiAgICAgIGhlaWdodDogNjY0cHg7XHJcbiAgICAgICNNYWluSW1nSW5uZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY29udGVudHMvdG9wL21haW5pbWcuanBnKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI4MHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAudGV4dEJveCB7IGZsZXg6IDE7IH1cclxuICAgICAgICAuYmFubmVyQm94IHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgcGFkZGluZzogMjVweCA4MHB4O1xyXG4gICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMDBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICB3aWR0aDogY2FsYyggKDEwMCUgLSAxMHB4ICkgLyAzICk7XHJcbiAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAwLjU7IH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNDb250YWluZXIgeyBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XHJcbiAgICAjTWFpbiB7XHJcbiAgICAgICNDb250Qm94MDUge1xyXG4gICAgICAgIC5mbGV4IHtcclxuICAgICAgICAgIC50ZXh0Qm94IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcclxuICAgICAgICAgICAgLmJveCB7XHJcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAubWFwQm94IHtcclxuICAgICAgICAgICAgLmJveCB7IG1heC13aWR0aDogNTgwcHg7IH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNGb290ZXIgeyBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAjUGFnZUVuLnBhZ2VJbmRleCB7XHJcbiAgICAjSGVhZGVyIHtcclxuICAgICAgaDEgYSB7XHJcbiAgICAgICAgd2lkdGg6IDExNHB4O1xyXG4gICAgICAgIGhlaWdodDogNTJweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2hlYWRlci9sb2dvX3NwX2VuXzAyLnBuZyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6bm90KC5maXhlZCkge1xyXG4gICAgICAjSGVhZGVyIHtcclxuICAgICAgICBoMSBhIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9oZWFkZXIvbG9nb19zcF9lbi5wbmcpOyB9XHJcbiAgICAgIH1cclxuICAgICAgI01lbnVCdXR0b24geyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2hlYWRlci9pY29uXzAxLnBuZyk7IH1cclxuICAgIH1cclxuICAgICNNYWluSW1nIHtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA3MnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTEsMjgsMTMyLDAuNzQpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7XHJcbiAgICAgIH1cclxuICAgICAgI01haW5JbWdJbm5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIC50ZXh0Qm94IHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAyNzJweDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvY29udGVudHMvdG9wL21haW5pbWdfc3AuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNzJweDtcclxuICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyN3B4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgc3BhbiB7IGZvbnQtc2l6ZTogMzBweDsgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFubmVyQm94IHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNSwyNSwyMSwwLjUpO1xyXG4gICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcclxuICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNNYWluIHtcclxuICAgICAgI0NvbnRCb3gwMSB7XHJcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDcwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jb250ZW50cy90b3AvYmdfMDFfc3AucG5nKTtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIxcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgI0NvbnRCb3gwMiB7XHJcbiAgICAgICAgLmltYWdlQm94IHtcclxuICAgICAgICAgIGZpZ3VyZSB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250U3ViQm94IHtcclxuICAgICAgICAgIC50aXRsZVR5cGVCb3R0b21MaW5lIHsgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxyXG4gICAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aCB7IHdpZHRoOiAxMDBweDsgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAjQ29udEJveDAzIHtcclxuICAgICAgICAuY29udFN1YkJveCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAzMnB4IDI1cHggMzVweDtcclxuICAgICAgICAgIC5zdWJCb3gge1xyXG4gICAgICAgICAgICBkbCB7XHJcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgICAgZHQgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICNDb250Qm94MDQge1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMCAxMDBweDtcclxuICAgICAgICAudGl0bGVUeXBlRW4geyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XHJcbiAgICAgICAgLmNvbnRTdWJCb3gge1xyXG4gICAgICAgICAgLmNvbG9yQm94IHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICNDb250Qm94MDUge1xyXG4gICAgICAgIHBhZGRpbmc6IDMycHggMCA2NHB4O1xyXG4gICAgICAgIC5mbGV4IHtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICBnYXA6IDI0cHggMDtcclxuICAgICAgICAgID4gZGl2IHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgIC50ZXh0Qm94IHtcclxuICAgICAgICAgICAgLnRpdGxlVHlwZUhhc1N1YiB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxuICAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDU0cHgpO1xyXG4gICAgICAgICAgICAgIHRvcDogNjZweDtcclxuICAgICAgICAgICAgICBsZWZ0OiAtMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLm1hcEJveCB7XHJcbiAgICAgICAgICAgIC5ib3ggeyBwYWRkaW5nLXRvcDogNTEuNDI4NTcxNDI4NTcxNDMlOyB9XHJcbiAgICAgICAgICAgIC5idG5UeXBlQmFzaWMge1xyXG4gICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAzMnB4IGF1dG8gMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI0Zvb3RlciB7XHJcbiAgICAgICNDb250Qm94Rm9vdGVyIHtcclxuICAgICAgICAudGV4dEJveCBwLmxvZ28ge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxNzBweDtcclxuICAgICAgICAgIGEgeyBwYWRkaW5nLXRvcDogNDUuNzExNzY0NzA1ODgyMzUlOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG40MDRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNQYWdlNDA0LnBhZ2VJbmRleCB7XHJcbiAgI01haW4ge1xyXG4gICAgLmNvbnRCb3gge1xyXG4gICAgICAuYnRuVHlwZUJhc2ljIGEgeyBtYXgtd2lkdGg6IDQzMHB4OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xyXG5cclxuXHJcbi8vKmZvbnQtZmFtaWx5Ki9cclxuJGxhdG86IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xyXG4kbWluY2hvOiBcIlNoaXBwb3JpIE1pbmNob1wiLCBzZXJpZjtcclxuJGFudGlxdWU6IFwiU2hpcHBvcmkgQW50aXF1ZVwiLCBzYW5zLXNlcmlmO1xyXG5cclxuXHJcbi8vKuWfuuacrOiJsiovXHJcbiRjb2xvcl9iYXNpYzogIzIzMTkxNTtcclxuJGNvbG9yX3doaXRlOiAjRkZGRkZGO1xyXG4kY29sb3JfYmx1ZTogIzAwNkNCQztcclxuJGNvbG9yX2xpZ2h0Ymx1ZTogI0YxRjhGQztcclxuJGNvbG9yX2dyYXk6ICNEMEQwRDA7XHJcbiRjb2xvcl9kYXJrZ3JheTogIzhEOEQ4RDtcclxuXHJcbiRncmFkaWVudF9ibHVlMDE6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYigxMDksIDE5MiwgMjMwKSAwJSwgcmdiKDcxLCAxNTAsIDIwMykgMTUlLCByZ2IoMjgsIDEyOSwgMjAxKSA2NiUsIHJnYigxMDksIDE5MiwgMjMwKSAxMDAlKTtcclxuJGdyYWRpZW50X2JsdWUwMjogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLDExNiwxOTksMC44NSkgMCUscmdiYSgwLDExNSwxOTksMC44NSkgNjAlLHJnYmEoNjgsMTQ4LDIwMywwLjg1KSA5NyUscmdiYSgyLDExNiwxOTksMC44NSkgOTklLHJnYmEoMCwxMTYsMTk5LDAuODUpIDEwMCUpO1xyXG4iXX0= */
