/* This file will hold styles for the mobile version of your website (mobile first). */
/* This also can include ANY global CSS that applies site-wide. Unless overwritten by a more specific style rule, CSS declarations in global.css will apply site-wide. */
@font-face {
  font-family: 'Bitter-Regular';
  src: url("../fonts/Bitter-Regular.eot");
  src: url("../fonts/Bitter-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Bitter-Regular.woff") format("woff"), url("../fonts/Bitter-Regular.ttf") format("truetype"), url("../fonts/Bitter-Regular.svg#bitterRegular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Bitter-Bold';
  src: url("../fonts/Bitter-Bold.eot");
  src: url("../fonts/Bitter-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Bitter-Bold.woff") format("woff"), url("../fonts/Bitter-Bold.ttf") format("truetype"), url("../fonts/Bitter-Bold.svg#bitterBold") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'PT-Sans-Regular';
  src: url("../fonts/PTSans-Regular.eot");
  src: url("../fonts/PTSans-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/PTSans-Regular.woff") format("woff"), url("../fonts/PTSans-Regular.ttf") format("truetype"), url("../fonts/PTSans-Regular.svg#ptSansRegular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'PT-Sans-Bold';
  src: url("../fonts/PTSans-Bold.eot");
  src: url("../fonts/PTSans-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/PTSans-Bold.woff") format("woff"), url("../fonts/PTSans-Bold.ttf") format("truetype"), url("../fonts/PTSans-Bold.svg#ptSansBold") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Opensans';
  src: url("../fonts/OpenSans.eot");
  src: url("../fonts/OpenSans.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans.woff") format("woff"), url("../fonts/OpenSans.ttf") format("truetype"), url("../fonts/OpenSans.svg#OpenSans") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Opensans-Semibold';
  src: url("../fonts/OpenSans-Semibold.eot");
  src: url("../fonts/OpenSans-Semibold.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Semibold.woff") format("woff"), url("../fonts/OpenSans-Semibold.ttf") format("truetype"), url("../fonts/OpenSans-Semibold.svg#OpenSansSemibold") format("svg");
  font-weight: normal;
  font-style: normal; }

/**
 * Design partials: A place to put your specific design partials.
 */
body {
  font-size: 13.5px;
  font-family: PT-Sans-Regular, Arial, Helvetica;
  line-height: 180%; }

p {
  line-height: 180%; }

h1, h2, h3, h4, h5, a {
  color: #3A3A3A; }

h1, h2, h3, h4, h5 {
  font-family: Bitter-Regular, Times New Roman; }

strong a, strong p, strong span {
  font-family: PT-Sans-Bold, Arial, Helvetica; }

a,
a:link,
a:visited {
  color: #339900;
  text-decoration: none; }
  a:hover,
  a:link:hover,
  a:visited:hover {
    color: #33cc00; }

ul li a {
  text-decoration: none; }

input:focus {
  box-shadow: none; }

input[type='submit'],
span.btn,
a.btn {
  background: url(../images/btn-bg.png);
  border: 1px solid #7db035;
  border-radius: 3px;
  color: #FFFFFF !important;
  text-shadow: #7db035 0px -1px 0px;
  font-family: opensans-semibold;
  font-size: 14px;
  background-size: 100% 100%; }
  input[type='submit']:hover,
  span.btn:hover,
  a.btn:hover {
    background: url(../images/btn-bg.png);
    background-size: 100% 100%; }
  input[type='submit']:active,
  span.btn:active,
  a.btn:active {
    background: #93b83f; }

input[type='submit'] {
  padding: 9px 13px;
  background-size: 100% 100%; }

span.btn,
a.btn {
  display: inline-block;
  padding: 8px 13px;
  background-size: 100% 100%; }

.front h1.title {
  display: none; }

.breadcrumb {
  display: inline-block; }

#breadcrumb {
  color: #339900;
  padding: 15px 0; }

.view .item-list {
  text-align: center; }

.pager {
  background: none;
  border: none;
  min-width: 320px;
  display: inline-block; }
  .pager li {
    border: none;
    background: none;
    color: #515151; }
    .pager li a {
      background: none;
      color: #339900; }
    .pager li.pager-current {
      background: none;
      color: #515151;
      border: none; }
    .pager li.pager-item, .pager li.pager-next {
      border: none;
      background: none; }

table[border="0"] {
  border: none; }
  table[border="0"] td {
    border: none; }

table.show-table-border {
  border: 1px solid #CCC; }

td {
  border: 1px solid #CCC; }

tr:hover td,
tr.even:hover td.active,
tr.odd:hover td.active {
  background: none; }

tr.even td:not(.pane-data-full) {
  background: none; }

.zone-user-wrapper,
.zone-footer-wrapper {
  background: #95c53d; }

.zone-footer-wrapper p {
  margin: 0; }

.zone-user-wrapper {
  border-bottom: 6px solid #e9e9e9; }

.zone-postscript-wrapper {
  background: #414141 url(../images/postscript-top-border-bg.jpg) repeat-x;
  padding: 20px 0; }
  .zone-postscript-wrapper .block {
    font-family: Opensans, Arial, Helvetica;
    font-size: 13.5px; }

.page-profile #zone-content-wrapper {
  border-top: 1px solid #e9e9e9; }

.page-profile #breadcrumb {
  display: none; }

#zone-content {
  padding-bottom: 20px; }

.region-footer-second {
  padding: 12px 0 7px 0; }
  .region-footer-second .block {
    color: #FFFFFF; }

.zone-postscript .block p, .zone-postscript .block a {
  color: #A6A6A6;
  text-decoration: none; }

.zone-postscript .block a:hover {
  color: #33cc00; }

.block h2.block-title {
  margin: 0 0 18px 0;
  font-family: Bitter-Regular, Times New Roman; }

.front.logged-in .front-intro-content .btn.join {
  display: none; }

.section.section-content .page-header-title {
  background: url(../images/page-header-title-bg.jpg) repeat-x;
  min-height: 50px; }
  @media only screen and (min-width: 768px) {
    .section.section-content .page-header-title {
      min-height: 104px; } }
  .section.section-content .page-header-title h1.title {
    margin: 0 10px;
    color: #414141;
    line-height: 93px;
    font-size: 30px;
    font-family: Bitter-Bold, Times New Roman; }

.header-quick-buttons {
  padding: 10px 0; }
  .header-quick-buttons a {
    padding: 2px 0;
    background: #80AE34;
    text-align: center;
    color: #FFFFFF;
    font-size: 16px;
    font-family: PT-Sans-Regular, Arial, Helvetica;
    border-radius: 5px;
    box-shadow: inset 0px 2px 1px rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
  .header-quick-buttons .first-name,
  .header-quick-buttons .last-name {
    margin-left: 3px; }
  .header-quick-buttons .first-name,
  .header-quick-buttons .last-name,
  .header-quick-buttons .user-signed-on {
    font-family: PT-Sans-Regular, Arial, Helvetica;
    font-size: 16px;
    font-variant: small-caps;
    font-size: 16px;
    color: #fff; }

.block-user-login,
.block-aact-custom-login-form {
  position: absolute;
  z-index: 500;
  background: #FFFFFF;
  padding: 15px;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.18);
  width: 300px;
  right: 165px;
  top: 67px;
  margin-right: 0; }
  .block-user-login input[type='text'],
  .block-user-login input[type='password'],
  .block-aact-custom-login-form input[type='text'],
  .block-aact-custom-login-form input[type='password'] {
    width: 100%; }
  .block-user-login .form-actions,
  .block-aact-custom-login-form .form-actions {
    overflow: hidden; }
  .block-user-login input[type='submit'],
  .block-aact-custom-login-form input[type='submit'] {
    float: right; }
  .block-user-login label,
  .block-aact-custom-login-form label {
    font-weight: normal;
    color: #80AE34; }
  .block-user-login ul li,
  .block-aact-custom-login-form ul li {
    margin: 0;
    padding: 0; }
    .block-user-login ul li a,
    .block-aact-custom-login-form ul li a {
      color: #80AE34; }

.block-views-slideshow-block {
  overflow: hidden;
  margin-bottom: 0px;
  background: url(../images/slideshow-bg.jpg) no-repeat;
  background-size: cover; }
  .block-views-slideshow-block .view-content {
    padding: 20px 10px 10px 10px; }
    @media (min-width: 768px) {
      .block-views-slideshow-block .view-content {
        padding: 0 30px 11px 30px; } }
  .block-views-slideshow-block .views-slideshow-cycle-main-frame,
  .block-views-slideshow-block .views-slideshow-cycle-main-frame-row {
    width: 100% !important; }
  .block-views-slideshow-block .slideshow-image {
    text-align: center;
    width: 100%; }
    @media (min-width: 768px) {
      .block-views-slideshow-block .slideshow-image {
        margin-top: 35px;
        width: 51%;
        float: right; } }
    @media (max-width: 360px) {
      .block-views-slideshow-block .slideshow-image img {
        max-width: 280px; } }
    .block-views-slideshow-block .slideshow-image .image-caption {
      background: url(../images/image-caption-bg.png);
      color: #FFFFFF;
      margin: 0 auto;
      font-size: 18px;
      width: 100%;
      padding: 2px 0;
      font-family: georgia, Times New Roman;
      font-style: italic;
      transform: translateY(-100%); }
  .block-views-slideshow-block .slideshow-info {
    width: 100%; }
    @media (min-width: 768px) {
      .block-views-slideshow-block .slideshow-info {
        float: left;
        width: 48%; } }
    .block-views-slideshow-block .slideshow-info .sub-title {
      display: block;
      color: #339900;
      font-size: 24px;
      line-height: 100%;
      font-family: Opensans-Semibold, Arial, Helvetica; }
      @media (min-width: 768px) {
        .block-views-slideshow-block .slideshow-info .sub-title {
          margin-bottom: 40px; } }
    .block-views-slideshow-block .slideshow-info h2 {
      font-size: 28px;
      line-height: 100%;
      font-family: Opensans-Semibold, Arial, Helvetica;
      margin: 15px 0 0 0; }
      @media (min-width: 768px) {
        .block-views-slideshow-block .slideshow-info h2 {
          margin: 87px 0 9px 0; } }
    .block-views-slideshow-block .slideshow-info .more-info-container {
      text-align: center;
      overflow: hidden;
      margin-bottom: 10px; }
    .block-views-slideshow-block .slideshow-info p {
      font-size: 14px;
      font-family: Opensans, Arial, Helvetica;
      color: #414141; }
  .block-views-slideshow-block .views-slideshow-pager-field-item {
    background: url(../images/slide-pager-white.png) no-repeat;
    height: 14px;
    width: 14px;
    display: inline-block; }
    .block-views-slideshow-block .views-slideshow-pager-field-item.active {
      background: url(../images/slide-pager-green.png); }
  .block-views-slideshow-block .views-slideshow-controls-bottom {
    float: right;
    margin-right: 30px; }
  .block-views-slideshow-block .views-slideshow-pager-fields {
    width: auto; }
  .block-views-slideshow-block #widget_pager_bottom_slideshow-block,
  .block-views-slideshow-block #views_slideshow_controls_text_slideshow-block {
    float: right; }
  .block-views-slideshow-block .views-slideshow-controls-text-previous,
  .block-views-slideshow-block .views-slideshow-controls-text-next {
    display: none; }
  .block-views-slideshow-block .views-slideshow-controls-text-status-play a,
  .block-views-slideshow-block .views-slideshow-controls-text-status-pause a {
    text-indent: -999em;
    height: 19px;
    width: 20px;
    display: block;
    margin-right: 6px; }
  .block-views-slideshow-block .views-slideshow-controls-text-status-play a {
    background: url(../images/pause-btn.png) no-repeat; }
  .block-views-slideshow-block .views-slideshow-controls-text-status-pause a {
    background: url(../images/play-btn.png) no-repeat; }
  .block-views-slideshow-block .clickable-pane {
    display: block; }
    .block-views-slideshow-block .clickable-pane:after {
      content: "";
      display: table;
      clear: both; }

.front-intro-content {
  border-bottom: 2px solid #f6f6f6; }
  .front-intro-content p {
    width: auto; }
  .front-intro-content h2.block-title {
    font-size: 22px; }

.block-front-sponsor {
  display: none; }
  .block-front-sponsor h2.block-title {
    border-bottom: 2px solid #f6f6f6;
    text-transform: uppercase;
    font-size: 13.5px;
    text-align: center;
    margin: 0;
    color: #818181;
    font-family: PT-Sans-Regular, Arial, Helvetica;
    font-weight: normal;
    letter-spacing: 1px; }
  .block-front-sponsor .sponsor-links {
    text-align: center; }
    .block-front-sponsor .sponsor-links ul {
      list-style: none;
      width: auto;
      display: inline-block; }
      .block-front-sponsor .sponsor-links ul li {
        display: inline-block;
        margin-right: 20px; }
  .block-front-sponsor .row-group {
    width: 100px;
    margin: auto;
    text-align: center; }
    @media only screen and (min-width: 480px) {
      .block-front-sponsor .row-group {
        width: 300px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: center;
            justify-content: center; } }
    @media only screen and (min-width: 768px) {
      .block-front-sponsor .row-group {
        width: 430px; } }
    @media only screen and (min-width: 1024px) {
      .block-front-sponsor .row-group {
        width: 620px; } }
  .block-front-sponsor .views-row {
    display: block;
    box-sizing: border-box;
    padding: 0;
    margin-top: 10px;
    margin-bottom: 10px; }
    @media only screen and (min-width: 480px) {
      .block-front-sponsor .views-row {
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
        -ms-flex-positive: 0;
            flex-grow: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        padding-left: 30px;
        padding-right: 30px; } }
    @media only screen and (min-width: 768px) {
      .block-front-sponsor .views-row {
        -ms-flex-preferred-size: 33.333%;
            flex-basis: 33.333%; } }
    @media only screen and (min-width: 1024px) {
      .block-front-sponsor .views-row {
        -ms-flex-preferred-size: 16.667%;
            flex-basis: 16.667%;
        padding-left: 10px;
        padding-right: 10px; } }

.block-social-icons ul {
  list-style: none; }
  .block-social-icons ul li {
    display: inline-block;
    margin-right: 13px; }

.block-footer-link ul {
  list-style: none; }
  .block-footer-link ul li {
    margin-bottom: 20px; }

.block-nice-menus {
  margin-top: 50px; }
  .block-nice-menus ul.nice-menu-down li.menuparent,
  .block-nice-menus ul.nice-menu-down li {
    background: none;
    border: none; }
    .block-nice-menus ul.nice-menu-down li.menuparent a,
    .block-nice-menus ul.nice-menu-down li a {
      color: #515151;
      padding: 0.3em 7px 0.3em 7px;
      font-size: 14px; }
      .block-nice-menus ul.nice-menu-down li.menuparent a.active,
      .block-nice-menus ul.nice-menu-down li a.active {
        color: #339900; }

.node-type-page .right-content {
  text-align: center; }

.node-type-page .field-name-field-page-headline .field-item,
.node-type-page .field-name-field-page-sub-headline .field-item {
  font-family: Bitter-Regular, Times New Roman; }

.node-type-page .field-name-field-page-headline {
  margin-bottom: 30px; }
  .node-type-page .field-name-field-page-headline .field-item {
    font-size: 30px;
    color: #414141; }

.node-type-page .field-name-field-page-sub-headline {
  margin-bottom: 23px; }
  .node-type-page .field-name-field-page-sub-headline .field-item {
    font-size: 18px;
    color: #AAAAAA;
    line-height: 30px; }

.node-type-page .page-image-caption {
  margin-top: 5px; }
  .node-type-page .page-image-caption span {
    line-height: 100%;
    font-size: 12px;
    font-weight: 700;
    font-family: PT-Sans-Regular, Arial, Helvetica;
    margin-right: 15px; }

.block-content-bottom-menu ul.menu li {
  list-style-image: none;
  list-style-type: none;
  padding: 32px 0;
  vertical-align: top; }
  .block-content-bottom-menu ul.menu li.menu-mlid-516, .block-content-bottom-menu ul.menu li.last {
    margin-right: 0; }
  .block-content-bottom-menu ul.menu li.invisible {
    display: none; }
  .block-content-bottom-menu ul.menu li ul.menu {
    z-index: 10;
    display: none;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.18);
    border-top: 3px solid #95c53d;
    background: #FFFFFF; }
  .block-content-bottom-menu ul.menu li ul.menu li {
    margin: 0;
    padding: 4px 0;
    width: 100%;
    border-bottom: 1px dashed #F6F6F6;
    font-size: 14px; }
    .block-content-bottom-menu ul.menu li ul.menu li a:hover {
      color: #33cc00; }
  .block-content-bottom-menu ul.menu li ul.menu li a {
    color: #818181;
    padding: 0 20px;
    display: block; }
    .block-content-bottom-menu ul.menu li ul.menu li a:hover {
      color: #33cc00; }
  .block-content-bottom-menu ul.menu li .bottom-link {
    overflow: hidden; }
  .block-content-bottom-menu ul.menu li .bottom-link a {
    font-family: PT-Sans-Regular, Arial, Helvetica;
    font-size: 13.5px; }
  .block-content-bottom-menu ul.menu li .bottom-link .read-more {
    background: url(../images/link-arrow-right.png) no-repeat;
    background-position: right 10px; }
  .block-content-bottom-menu ul.menu li .bottom-link .sub-menu {
    background: url(../images/link-arrow-down.png) no-repeat;
    background-position: right 10px; }

.block-content-bottom-menu .menu-info-header {
  overflow: hidden; }
  .block-content-bottom-menu .menu-info-header img {
    width: auto;
    float: left;
    display: inline-block; }
  .block-content-bottom-menu .menu-info-header h3 {
    width: 72%;
    display: inline-block;
    float: left;
    margin: 20px 0 0 3px;
    font-size: 17px;
    font-family: Bitter-Regular, Times New Roman;
    font-weight: normal; }

.block-content-bottom-menu p {
  font-size: 14px;
  font-family: PT-Sans-Regular, Arial, Helvetica;
  margin-left: 5px; }

.block-sitewide-main-menu {
  margin-top: 50px; }
  .block-sitewide-main-menu .dropdown-link-container {
    z-index: 10;
    display: none;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.18);
    border-top: 3px solid #95c53d;
    background: #FFFFFF; }
  .block-sitewide-main-menu .dropdown-menu-link a {
    color: #818181;
    padding: 0 20px;
    display: block; }
  .block-sitewide-main-menu .menu-block-5 > .menu:after {
    content: "";
    display: table;
    clear: both; }
  .block-sitewide-main-menu ul.menu {
    list-style: none; }
    .block-sitewide-main-menu ul.menu li {
      list-style-image: none;
      list-style-type: none;
      display: inline-block;
      float: left;
      padding: 0;
      margin: 0 8px 0 0; }
      .block-sitewide-main-menu ul.menu li.active a {
        color: #339900; }
      .block-sitewide-main-menu ul.menu li.last {
        margin: 0; }
      .block-sitewide-main-menu ul.menu li a {
        color: #515151;
        font-size: 14px;
        float: left; }
        .block-sitewide-main-menu ul.menu li a:hover {
          color: #339900; }
        .block-sitewide-main-menu ul.menu li a.main-menu-top-link {
          background-image: url(/misc/menu-expanded.png);
          background-repeat: no-repeat;
          display: block;
          float: left;
          padding-right: 15px;
          height: 22px;
          background-position: right 10px; }
        .block-sitewide-main-menu ul.menu li a.main-menu-top-link.expanded {
          background-image: url(/misc/menu-collapsed.png);
          background-position: right; }
      .block-sitewide-main-menu ul.menu li ul.menu li {
        margin: 0;
        padding: 4px 0;
        width: 100%;
        border-bottom: 1px dashed #F6F6F6;
        font-size: 14px; }
      .block-sitewide-main-menu ul.menu li ul.menu li.has-children a {
        display: table; }
      .block-sitewide-main-menu ul.menu li ul.menu li a,
      .block-sitewide-main-menu ul.menu li ul.menu li span {
        color: #818181;
        padding: 0 20px;
        display: block; }
        .block-sitewide-main-menu ul.menu li ul.menu li a:hover,
        .block-sitewide-main-menu ul.menu li ul.menu li span:hover {
          color: #339900; }
      .block-sitewide-main-menu ul.menu li ul.menu li a.main-menu-top-link.expanded {
        background-image: url(/misc/menu-collapsed.png);
        background-position: right; }
      .block-sitewide-main-menu ul.menu li ul.menu li .dropdown-link-container {
        z-index: 10;
        display: none;
        box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.18);
        border-top: 3px solid #95c53d;
        background: #FFFFFF; }

a.mmenu-activate {
  display: none; }

a.mmenu-activate {
  float: right;
  position: relative;
  height: 32px;
  width: 18px;
  cursor: pointer;
  right: 18px;
  top: 40px; }
  a.mmenu-activate:before, a.mmenu-activate:after, a.mmenu-activate span {
    background-color: #3A3A3A;
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    transition: all 500ms ease; }
  a.mmenu-activate span {
    top: 15px; }
  a.mmenu-activate:before {
    content: '';
    display: inline-block;
    top: 9px; }
  a.mmenu-activate:after {
    content: '';
    display: inline-block;
    top: 21px; }

.mm-opened a.mmenu-activate span {
  transform: translateX(150%);
  opacity: 0; }

.mm-opened a.mmenu-activate:before {
  transform: rotate(-45deg);
  top: 15px; }

.mm-opened a.mmenu-activate:after {
  transform: rotate(45deg);
  top: 15px; }

@media (max-width: 960px) {
  a.mmenu-activate {
    display: block; }
  .zone-branding .block.block-sitewide-main-menu {
    display: none; } }

.block-search-form {
  background: #fff;
  z-index: 100;
  position: absolute;
  background: #FFFFFF;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.18);
  padding: 15px; }
  .block-search-form input[type='text'] {
    height: 30px;
    margin-top: 2px; }
  .block-search-form .form-actions {
    overflow: hidden; }
  .block-search-form .views-exposed-form .views-exposed-widget .form-submit {
    margin-top: 0;
    float: right; }
  .block-search-form label {
    font-weight: normal;
    color: #fff; }
  .block-search-form .a-z-index-link {
    padding-top: 10px;
    display: block; }
  .block-search-form .search-form {
    margin-bottom: 0; }
    .block-search-form .search-form .form-actions > div {
      display: inline-block;
      width: 40%; }

.view-keyword-search-index .views-exposed-form .views-exposed-widget .form-submit {
  margin-top: 0; }

.page-profile h3 {
  margin-bottom: 0px; }

.page-profile .photo-box,
.page-profile #block-menu-block-1 {
  margin-top: 30px; }

.page-profile .photo-box {
  height: 174px;
  position: relative;
  border: 1px solid #ccc;
  padding: 4px 8px; }
  .page-profile .photo-box.household h3 {
    line-height: 1.35em;
    margin-bottom: 0; }
  .page-profile .photo-box.household .photo-bottom {
    padding: 10px 20px; }
    .page-profile .photo-box.household .photo-bottom span {
      line-height: 1.3em; }
    .page-profile .photo-box.household .photo-bottom a {
      margin-top: 10px; }

.page-profile .photo-bottom,
.page-profile .photo-top {
  padding: 20px;
  box-sizing: border-box;
  min-height: 86px; }

.page-profile .photo-top {
  margin-right: 159px; }

.page-profile .photo-bottom {
  border-top: 1px solid #ccc; }
  .page-profile .photo-bottom a {
    display: block; }
  .page-profile .photo-bottom span {
    display: block; }

.page-profile .photo-holder {
  position: absolute;
  top: 15px;
  bottom: 15px;
  right: 15px;
  border: 1px solid #ccc;
  padding: 0;
  background: white; }

.page-profile .content {
  margin-right: 30px; }

.page-profile .profile-body {
  margin-top: 15px;
  margin-bottom: 15px; }
  .page-profile .profile-body:after {
    content: "";
    display: table;
    clear: both; }
  .page-profile .profile-body .item-list {
    margin: 0 0 0.5em 1em; }
  .page-profile .profile-body .profile-bio {
    margin-top: 20px; }

.page-profile ul {
  list-style-image: none;
  list-style-type: none; }

.page-profile .item-list ul li {
  margin: 0 0 0.25em 0; }

.page-profile .empty {
  color: #d4d4d4; }

.page-profile .right,
.page-profile .left {
  width: 50%; }
  .page-profile .right > ul > li,
  .page-profile .left > ul > li {
    list-style-image: none;
    list-style-type: none; }
    .page-profile .right > ul > li ul,
    .page-profile .left > ul > li ul {
      margin-left: 20px; }

.page-profile .irregular {
  margin-left: 1em; }
  .page-profile .irregular > div,
  .page-profile .irregular > address {
    margin-left: 20px; }

.page-profile .right {
  box-sizing: border-box;
  float: right; }

.page-profile .left {
  float: left;
  box-sizing: border-box; }

.profile-name,
.profile_name {
  color: #95c53d;
  letter-spacing: 0px; }

.page-node-404 .ui-accordion-content,
.page-node-405 .ui-accordion-content,
.page-node-406 .ui-accordion-content {
  margin-left: 25px;
  overflow: visible; }

.page-node-404 .form-item,
.page-node-405 .form-item,
.page-node-406 .form-item {
  margin-top: 0;
  margin-bottom: 0;
  padding: 1em 0; }

.webform-component--civicrm-1-contact-1-fieldset-fieldset--contact--contact-tab--edit-account {
  float: right; }
  .webform-component--civicrm-1-contact-1-fieldset-fieldset--contact--contact-tab--edit-account p {
    margin: 0; }

.page-civicrm-event .event-info,
.page-civicrm-contribute .event-info {
  margin-bottom: 20px; }

.page-civicrm-event .crm-contribution-main-form-block > div,
.page-civicrm-contribute .crm-contribution-main-form-block > div {
  margin-bottom: 12px; }

.page-civicrm-event .crm-price-amount-amount,
.page-civicrm-contribute .crm-price-amount-amount {
  word-spacing: -6px; }

.page-civicrm-event .crm-event-register-form-block #payment_information .crm-section,
.page-civicrm-event .crm-container #Main > .crm-contribution-main-form-block .crm-section,
.page-civicrm-contribute .crm-event-register-form-block #payment_information .crm-section,
.page-civicrm-contribute .crm-container #Main > .crm-contribution-main-form-block .crm-section {
  margin-bottom: 12px; }

.page-civicrm-event #crm-container .crm-public .crm-section,
.page-civicrm-contribute #crm-container .crm-public .crm-section {
  margin-bottom: 10px; }

.page-civicrm-event input[type="radio"],
.page-civicrm-contribute input[type="radio"] {
  margin-right: 6px; }

.page-civicrm-event #crm-container.crm-public select,
.page-civicrm-contribute #crm-container.crm-public select {
  padding-right: 15px;
  line-height: 1em; }

.page-civicrm-event #crm-container.crm-public #crm-submit-buttons,
.page-civicrm-contribute #crm-container.crm-public #crm-submit-buttons {
  margin-bottom: 30px;
  margin-left: 19%; }

.page-civicrm-event [name="honor_type_id"],
.page-civicrm-contribute [name="honor_type_id"] {
  margin-left: 7px; }

.page-civicrm-event .honor_type_id-section label,
.page-civicrm-contribute .honor_type_id-section label {
  vertical-align: middle; }

.page-civicrm-event .ui-icon-print,
.page-civicrm-contribute .ui-icon-print {
  display: none; }

.page-civicrm-event.page-civicrm-contribute-transact .ui-icon-print,
.page-civicrm-contribute.page-civicrm-contribute-transact .ui-icon-print {
  background: none;
  overflow: visible; }
  .page-civicrm-event.page-civicrm-contribute-transact .ui-icon-print:before,
  .page-civicrm-contribute.page-civicrm-contribute-transact .ui-icon-print:before {
    content: 'Click here to print this page for your records.';
    position: absolute;
    right: 0px;
    top: -25px;
    width: 250px;
    color: #339900;
    text-indent: 0px; }

.view-id-store .node-content-product,
.node-type-content-product .node-content-product {
  margin: 70px 0; }
  .view-id-store .node-content-product:first-child,
  .node-type-content-product .node-content-product:first-child {
    margin-top: 0; }

.view-id-store .field-name-field-product-image,
.node-type-content-product .field-name-field-product-image {
  float: left;
  margin: 0 10px; }

.view-id-store .commerce-product-field-commerce-price,
.view-id-store .field-type-commerce-product-reference,
.node-type-content-product .commerce-product-field-commerce-price,
.node-type-content-product .field-type-commerce-product-reference {
  float: right; }

.view-id-store .field-name-commerce-price,
.node-type-content-product .field-name-commerce-price {
  font-size: 19px;
  color: black;
  line-height: 2em;
  margin-right: 12px; }

.view-id-store .field-name-body,
.node-type-content-product .field-name-body {
  min-height: 240px; }

.view-id-store .field-name-body,
.node-type-content-product .field-name-body {
  min-height: 189px; }

#commerce-checkout-form-checkout .fieldset-legend {
  font-size: 28px;
  line-height: 1.6em;
  color: #95c53d; }

#commerce-checkout-form-checkout .view-commerce-coupon-review-pane {
  margin: 20px 0; }

.menu-block-3.menu-name-menu-new-aact .menu-mlid-4738 {
  display: none; }

.hide-shipping {
  display: none; }

.view-id-organizational_member_search .views-row,
.view-id-commercial_member_search .views-row,
.view-id-individual_member_search .views-row {
  border: 1px solid #818181;
  margin: 12px 0; }
  .view-id-organizational_member_search .views-row:after,
  .view-id-commercial_member_search .views-row:after,
  .view-id-individual_member_search .views-row:after {
    content: "";
    display: table;
    clear: both; }
  .view-id-organizational_member_search .views-row h4,
  .view-id-commercial_member_search .views-row h4,
  .view-id-individual_member_search .views-row h4 {
    margin-bottom: 0; }
  .view-id-organizational_member_search .views-row .holder,
  .view-id-commercial_member_search .views-row .holder,
  .view-id-individual_member_search .views-row .holder {
    float: left;
    margin: 10px; }
  .view-id-organizational_member_search .views-row .image-holder,
  .view-id-commercial_member_search .views-row .image-holder,
  .view-id-individual_member_search .views-row .image-holder {
    width: 224px;
    text-align: center; }
    .view-id-organizational_member_search .views-row .image-holder img,
    .view-id-commercial_member_search .views-row .image-holder img,
    .view-id-individual_member_search .views-row .image-holder img {
      display: inline-block; }
  .view-id-organizational_member_search .views-row .core-holder,
  .view-id-commercial_member_search .views-row .core-holder,
  .view-id-individual_member_search .views-row .core-holder {
    width: 224px; }
  .view-id-organizational_member_search .views-row .content-holder,
  .view-id-commercial_member_search .views-row .content-holder,
  .view-id-individual_member_search .views-row .content-holder {
    max-width: 430px; }

.user-menu {
  padding: 0; }
  .user-menu .top {
    padding: 0;
    text-align: center; }
    .user-menu .top h3 {
      background: url(../images/page-header-title-bg.jpg) repeat-x 0 -48px;
      line-height: 2em;
      padding-bottom: 10px;
      border-top: 1px solid #ccc; }
    .user-menu .top h2 {
      line-height: 2em;
      font-size: 20px;
      margin: 0; }

.menu-name-user-menu ul {
  color: #000000;
  max-width: 120px;
  margin: 10px auto;
  list-style-image: url(../../../../../../misc/menu-leaf.png); }

.menu-block-1 .menu-mlid-2 {
  list-style-image: url(/misc/menu-leaf.png); }

.user-menu {
  padding: 0; }
  .user-menu .top {
    padding: 0;
    text-align: center; }
    .user-menu .top h3 {
      background: url(../images/page-header-title-bg.jpg) repeat-x 0 -48px;
      line-height: 2em;
      padding-bottom: 10px;
      border-top: 1px solid #ccc; }
    .user-menu .top h2 {
      line-height: 2em;
      font-size: 20px;
      margin: 0; }

.menu-name-user-menu ul {
  color: #000000;
  max-width: 120px;
  margin: 10px auto;
  list-style-image: url(../../../../../../misc/menu-leaf.png); }

.menu-block-1 .menu-mlid-2 {
  list-style-image: url(/misc/menu-leaf.png); }

#block-aact-aact-authnet {
  margin-left: 30px; }

.page-user .user-profile-details {
  float: right;
  width: 100%; }
  .page-user .user-profile-details .bottom h5 {
    margin-bottom: 5px; }
  .page-user .user-profile-details .bottom h6 {
    margin-bottom: 0;
    font-family: PT-Sans-Regular; }
  .page-user .user-profile-details .bottom .current-through {
    font-style: italic;
    margin-bottom: 10px;
    font-size: 12px; }

.page-user .profile br,
.page-user .profile .user-page-link {
  display: none; }

.page-user .profile-item:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

@media only screen and (min-width: 480px) {
  .page-user .profile-item-left,
  .page-user .profile-item-right {
    float: left;
    width: 50%; } }

@media (max-width: 479px) {
  .page-user .profile-item-left {
    border-bottom: 2px solid #ededed;
    padding-bottom: 5px;
    margin-bottom: 5px; } }

input[type=text]:focus:not([readonly]) {
  border-bottom-color: #339900;
  box-shadow: 0 1px 0 0 #339900; }

.modal {
  max-width: 500px;
  max-height: 200px; }
  .modal a {
    color: #ffffff; }
    .modal a:hover {
      color: #ffffff; }
    .modal a.cancel {
      color: #3A3A3A; }

.profile-list p:not(:last-of-type) {
  margin-bottom: 0; }

.profile-list .profile-item {
  padding: 10px 15px;
  border: 3px solid #ededed;
  border-radius: 3px;
  margin-bottom: 10px; }
  .profile-list .profile-item:nth-child(odd) {
    background: #f6f6f6; }

.profile-list h4 {
  margin-bottom: 2px; }

.profile-list .buttons:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

.profile-list .buttons a,
.profile-list .buttons input[type="submit"] {
  display: block;
  padding: 6px 10px;
  line-height: 1em; }

.profile-list .buttons a,
.profile-list .buttons form {
  float: left; }

.profile-list .editor,
.profile-list .form-authorized-editors-add {
  position: relative;
  padding-left: 10px; }
  .profile-list .editor input[type="submit"],
  .profile-list .form-authorized-editors-add input[type="submit"] {
    padding: 0 10px;
    vertical-align: baseline; }

.profile-list .editor .name,
.profile-list .form-authorized-editors-add {
  padding-right: 30px; }

.profile-list .editor form,
.profile-list .form-authorized-editors-add input[type="submit"] {
  position: absolute;
  top: 0;
  right: 0; }

.profile-list .editor:hover .modal-delete-confirmation-open {
  color: #F44336; }

.profile-list .form-authorized-editors-add input[type="submit"] {
  padding: 5px 10px;
  margin: 0; }
  @media (max-width: 767px) {
    .profile-list .form-authorized-editors-add input[type="submit"] {
      width: 30px; } }

.profile-list .form-authorized-editors-add input.form-text {
  width: 100%; }
  @media only screen and (min-width: 768px) {
    .profile-list .form-authorized-editors-add input.form-text {
      width: 90%; } }

.profile-list form .fa {
  font-family: 'FontAwesome'; }

.profile-list form input[type="submit"] {
  background: none;
  border: none;
  border-radius: 0;
  text-shadow: none;
  color: #7db035 !important; }
  .profile-list form input[type="submit"]:hover {
    background: none; }

.profile-list .form-type-textfield {
  margin: 0; }

.profile-list .title {
  border-bottom: 2px solid #ededed;
  display: inline-block;
  padding: 0px 10px 0 5px; }

.profile-list .modal-delete-confirmation-open {
  padding: 0 10px;
  color: #A6A6A6;
  transition: all 0.3 ease; }

.profile-list .chosen-container {
  width: 100% !important; }
  .profile-list .chosen-container .chosen-results li.highlighted {
    background-color: #339900;
    background-image: none; }

.checkout-review tr.even, .checkout-review tr.odd {
  background: none; }

.checkout-review tr.even tr.even {
  background: #eee; }

.checkout-review tr:hover > td {
  background: none; }

.checkout-review .pane-data > td {
  background: #fafafa; }

.block-user .form-item input {
  height: auto;
  border-color: #818181 #c1c1c1 #e1e1e1;
  border-width: 2px;
  border-style: inset;
  margin: 0; }
  .block-user .form-item input[type="text"]:focus, .block-user .form-item input[type="password"]:focus {
    border-width: 2px; }

.block-user .form-item label {
  position: static;
  font-size: 13.5px; }
  .block-user .form-item label.active {
    transform: none; }

.crm-container input.crm-form-text,
.crm-container .crm-icon-picker-button,
.crm-container input.dateplugin,
.crm-container input.crm-form-password {
  height: 2em; }

.crm-container select.crm-form-select,
.crm-container select.crm-form-date {
  max-width: 80px;
  width: 50%;
  height: 2rem; }

.cvv2-section input[type="text"] {
  max-width: 80px; }

.cvv2-section .cvv2-icon {
  vertical-align: middle; }

#aact-membership-process-join-membership-form--2 strong,
#aact-membership-process-renew-select-form strong,
#aact-membership-process-renew-membership-form strong,
#aact-membership-process-renew-membership-form--2 strong,
#aact-membership-process-renew-ascap-form strong,
#aact-membership-process-renew-payment-form strong,
.membership-process-join strong,
.membership-process-join--individual strong {
  font-family: PT-Sans-Bold, Arial, Helvetica; }

#aact-membership-process-join-membership-form--2 > div:after,
#aact-membership-process-renew-select-form > div:after,
#aact-membership-process-renew-membership-form > div:after,
#aact-membership-process-renew-membership-form--2 > div:after,
#aact-membership-process-renew-ascap-form > div:after,
#aact-membership-process-renew-payment-form > div:after,
.membership-process-join > div:after,
.membership-process-join--individual > div:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

#aact-membership-process-join-membership-form--2 .wizard-trail,
#aact-membership-process-renew-select-form .wizard-trail,
#aact-membership-process-renew-membership-form .wizard-trail,
#aact-membership-process-renew-membership-form--2 .wizard-trail,
#aact-membership-process-renew-ascap-form .wizard-trail,
#aact-membership-process-renew-payment-form .wizard-trail,
.membership-process-join .wizard-trail,
.membership-process-join--individual .wizard-trail {
  height: 14px;
  margin: 30px 0;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  #aact-membership-process-join-membership-form--2 .wizard-trail:after,
  #aact-membership-process-renew-select-form .wizard-trail:after,
  #aact-membership-process-renew-membership-form .wizard-trail:after,
  #aact-membership-process-renew-membership-form--2 .wizard-trail:after,
  #aact-membership-process-renew-ascap-form .wizard-trail:after,
  #aact-membership-process-renew-payment-form .wizard-trail:after,
  .membership-process-join .wizard-trail:after,
  .membership-process-join--individual .wizard-trail:after {
    content: "";
    display: table;
    clear: both; }
  #aact-membership-process-join-membership-form--2 .wizard-trail span,
  #aact-membership-process-renew-select-form .wizard-trail span,
  #aact-membership-process-renew-membership-form .wizard-trail span,
  #aact-membership-process-renew-membership-form--2 .wizard-trail span,
  #aact-membership-process-renew-ascap-form .wizard-trail span,
  #aact-membership-process-renew-payment-form .wizard-trail span,
  .membership-process-join .wizard-trail span,
  .membership-process-join--individual .wizard-trail span {
    display: block;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    background: white;
    font-size: 0; }
    #aact-membership-process-join-membership-form--2 .wizard-trail span.wizard-trail-previous, #aact-membership-process-join-membership-form--2 .wizard-trail span.wizard-trail-current,
    #aact-membership-process-renew-select-form .wizard-trail span.wizard-trail-previous,
    #aact-membership-process-renew-select-form .wizard-trail span.wizard-trail-current,
    #aact-membership-process-renew-membership-form .wizard-trail span.wizard-trail-previous,
    #aact-membership-process-renew-membership-form .wizard-trail span.wizard-trail-current,
    #aact-membership-process-renew-membership-form--2 .wizard-trail span.wizard-trail-previous,
    #aact-membership-process-renew-membership-form--2 .wizard-trail span.wizard-trail-current,
    #aact-membership-process-renew-ascap-form .wizard-trail span.wizard-trail-previous,
    #aact-membership-process-renew-ascap-form .wizard-trail span.wizard-trail-current,
    #aact-membership-process-renew-payment-form .wizard-trail span.wizard-trail-previous,
    #aact-membership-process-renew-payment-form .wizard-trail span.wizard-trail-current,
    .membership-process-join .wizard-trail span.wizard-trail-previous,
    .membership-process-join .wizard-trail span.wizard-trail-current,
    .membership-process-join--individual .wizard-trail span.wizard-trail-previous,
    .membership-process-join--individual .wizard-trail span.wizard-trail-current {
      background: #95c53d;
      color: #95c53d; }
    #aact-membership-process-join-membership-form--2 .wizard-trail span.wizard-trail-next,
    #aact-membership-process-renew-select-form .wizard-trail span.wizard-trail-next,
    #aact-membership-process-renew-membership-form .wizard-trail span.wizard-trail-next,
    #aact-membership-process-renew-membership-form--2 .wizard-trail span.wizard-trail-next,
    #aact-membership-process-renew-ascap-form .wizard-trail span.wizard-trail-next,
    #aact-membership-process-renew-payment-form .wizard-trail span.wizard-trail-next,
    .membership-process-join .wizard-trail span.wizard-trail-next,
    .membership-process-join--individual .wizard-trail span.wizard-trail-next {
      border: 1px solid #dddddd;
      border-left: none; }
      #aact-membership-process-join-membership-form--2 .wizard-trail span.wizard-trail-next:not(:last-child),
      #aact-membership-process-renew-select-form .wizard-trail span.wizard-trail-next:not(:last-child),
      #aact-membership-process-renew-membership-form .wizard-trail span.wizard-trail-next:not(:last-child),
      #aact-membership-process-renew-membership-form--2 .wizard-trail span.wizard-trail-next:not(:last-child),
      #aact-membership-process-renew-ascap-form .wizard-trail span.wizard-trail-next:not(:last-child),
      #aact-membership-process-renew-payment-form .wizard-trail span.wizard-trail-next:not(:last-child),
      .membership-process-join .wizard-trail span.wizard-trail-next:not(:last-child),
      .membership-process-join--individual .wizard-trail span.wizard-trail-next:not(:last-child) {
        border-right: none; }

#aact-membership-process-join-membership-form--2 h2,
#aact-membership-process-renew-select-form h2,
#aact-membership-process-renew-membership-form h2,
#aact-membership-process-renew-membership-form--2 h2,
#aact-membership-process-renew-ascap-form h2,
#aact-membership-process-renew-payment-form h2,
.membership-process-join h2,
.membership-process-join--individual h2 {
  text-transform: uppercase;
  font-family: PT-Sans-Bold, Arial, Helvetica;
  font-size: 30px;
  line-height: 1em; }

#aact-membership-process-join-membership-form--2 .fieldset-legend,
#aact-membership-process-renew-select-form .fieldset-legend,
#aact-membership-process-renew-membership-form .fieldset-legend,
#aact-membership-process-renew-membership-form--2 .fieldset-legend,
#aact-membership-process-renew-ascap-form .fieldset-legend,
#aact-membership-process-renew-payment-form .fieldset-legend,
.membership-process-join .fieldset-legend,
.membership-process-join--individual .fieldset-legend {
  font-family: PT-Sans-Bold, Arial, Helvetica;
  font-size: 18px; }

#aact-membership-process-join-membership-form--2 #edit-description p,
#aact-membership-process-join-membership-form--2 #edit-order-preview p,
#aact-membership-process-renew-select-form #edit-description p,
#aact-membership-process-renew-select-form #edit-order-preview p,
#aact-membership-process-renew-membership-form #edit-description p,
#aact-membership-process-renew-membership-form #edit-order-preview p,
#aact-membership-process-renew-membership-form--2 #edit-description p,
#aact-membership-process-renew-membership-form--2 #edit-order-preview p,
#aact-membership-process-renew-ascap-form #edit-description p,
#aact-membership-process-renew-ascap-form #edit-order-preview p,
#aact-membership-process-renew-payment-form #edit-description p,
#aact-membership-process-renew-payment-form #edit-order-preview p,
.membership-process-join #edit-description p,
.membership-process-join #edit-order-preview p,
.membership-process-join--individual #edit-description p,
.membership-process-join--individual #edit-order-preview p {
  font-size: 18px;
  line-height: 140%; }

#aact-membership-process-join-membership-form--2 input[type="text"],
#aact-membership-process-join-membership-form--2 input[type="password"],
#aact-membership-process-join-membership-form--2 input[type="number"],
#aact-membership-process-renew-select-form input[type="text"],
#aact-membership-process-renew-select-form input[type="password"],
#aact-membership-process-renew-select-form input[type="number"],
#aact-membership-process-renew-membership-form input[type="text"],
#aact-membership-process-renew-membership-form input[type="password"],
#aact-membership-process-renew-membership-form input[type="number"],
#aact-membership-process-renew-membership-form--2 input[type="text"],
#aact-membership-process-renew-membership-form--2 input[type="password"],
#aact-membership-process-renew-membership-form--2 input[type="number"],
#aact-membership-process-renew-ascap-form input[type="text"],
#aact-membership-process-renew-ascap-form input[type="password"],
#aact-membership-process-renew-ascap-form input[type="number"],
#aact-membership-process-renew-payment-form input[type="text"],
#aact-membership-process-renew-payment-form input[type="password"],
#aact-membership-process-renew-payment-form input[type="number"],
.membership-process-join input[type="text"],
.membership-process-join input[type="password"],
.membership-process-join input[type="number"],
.membership-process-join--individual input[type="text"],
.membership-process-join--individual input[type="password"],
.membership-process-join--individual input[type="number"] {
  width: 100%;
  padding-left: 20px;
  border-bottom-color: #303030;
  font-size: 18px; }
  #aact-membership-process-join-membership-form--2 input[type="text"]:focus,
  #aact-membership-process-join-membership-form--2 input[type="password"]:focus,
  #aact-membership-process-join-membership-form--2 input[type="number"]:focus,
  #aact-membership-process-renew-select-form input[type="text"]:focus,
  #aact-membership-process-renew-select-form input[type="password"]:focus,
  #aact-membership-process-renew-select-form input[type="number"]:focus,
  #aact-membership-process-renew-membership-form input[type="text"]:focus,
  #aact-membership-process-renew-membership-form input[type="password"]:focus,
  #aact-membership-process-renew-membership-form input[type="number"]:focus,
  #aact-membership-process-renew-membership-form--2 input[type="text"]:focus,
  #aact-membership-process-renew-membership-form--2 input[type="password"]:focus,
  #aact-membership-process-renew-membership-form--2 input[type="number"]:focus,
  #aact-membership-process-renew-ascap-form input[type="text"]:focus,
  #aact-membership-process-renew-ascap-form input[type="password"]:focus,
  #aact-membership-process-renew-ascap-form input[type="number"]:focus,
  #aact-membership-process-renew-payment-form input[type="text"]:focus,
  #aact-membership-process-renew-payment-form input[type="password"]:focus,
  #aact-membership-process-renew-payment-form input[type="number"]:focus,
  .membership-process-join input[type="text"]:focus,
  .membership-process-join input[type="password"]:focus,
  .membership-process-join input[type="number"]:focus,
  .membership-process-join--individual input[type="text"]:focus,
  .membership-process-join--individual input[type="password"]:focus,
  .membership-process-join--individual input[type="number"]:focus {
    border-bottom-color: #95c53d;
    box-shadow: 0 1px 0 0 #95c53d; }
  #aact-membership-process-join-membership-form--2 input[type="text"]:active,
  #aact-membership-process-join-membership-form--2 input[type="password"]:active,
  #aact-membership-process-join-membership-form--2 input[type="number"]:active,
  #aact-membership-process-renew-select-form input[type="text"]:active,
  #aact-membership-process-renew-select-form input[type="password"]:active,
  #aact-membership-process-renew-select-form input[type="number"]:active,
  #aact-membership-process-renew-membership-form input[type="text"]:active,
  #aact-membership-process-renew-membership-form input[type="password"]:active,
  #aact-membership-process-renew-membership-form input[type="number"]:active,
  #aact-membership-process-renew-membership-form--2 input[type="text"]:active,
  #aact-membership-process-renew-membership-form--2 input[type="password"]:active,
  #aact-membership-process-renew-membership-form--2 input[type="number"]:active,
  #aact-membership-process-renew-ascap-form input[type="text"]:active,
  #aact-membership-process-renew-ascap-form input[type="password"]:active,
  #aact-membership-process-renew-ascap-form input[type="number"]:active,
  #aact-membership-process-renew-payment-form input[type="text"]:active,
  #aact-membership-process-renew-payment-form input[type="password"]:active,
  #aact-membership-process-renew-payment-form input[type="number"]:active,
  .membership-process-join input[type="text"]:active,
  .membership-process-join input[type="password"]:active,
  .membership-process-join input[type="number"]:active,
  .membership-process-join--individual input[type="text"]:active,
  .membership-process-join--individual input[type="password"]:active,
  .membership-process-join--individual input[type="number"]:active {
    box-shadow: none; }
  #aact-membership-process-join-membership-form--2 input[type="text"].error,
  #aact-membership-process-join-membership-form--2 input[type="password"].error,
  #aact-membership-process-join-membership-form--2 input[type="number"].error,
  #aact-membership-process-renew-select-form input[type="text"].error,
  #aact-membership-process-renew-select-form input[type="password"].error,
  #aact-membership-process-renew-select-form input[type="number"].error,
  #aact-membership-process-renew-membership-form input[type="text"].error,
  #aact-membership-process-renew-membership-form input[type="password"].error,
  #aact-membership-process-renew-membership-form input[type="number"].error,
  #aact-membership-process-renew-membership-form--2 input[type="text"].error,
  #aact-membership-process-renew-membership-form--2 input[type="password"].error,
  #aact-membership-process-renew-membership-form--2 input[type="number"].error,
  #aact-membership-process-renew-ascap-form input[type="text"].error,
  #aact-membership-process-renew-ascap-form input[type="password"].error,
  #aact-membership-process-renew-ascap-form input[type="number"].error,
  #aact-membership-process-renew-payment-form input[type="text"].error,
  #aact-membership-process-renew-payment-form input[type="password"].error,
  #aact-membership-process-renew-payment-form input[type="number"].error,
  .membership-process-join input[type="text"].error,
  .membership-process-join input[type="password"].error,
  .membership-process-join input[type="number"].error,
  .membership-process-join--individual input[type="text"].error,
  .membership-process-join--individual input[type="password"].error,
  .membership-process-join--individual input[type="number"].error {
    border: none;
    border-bottom: 2px solid #F44336 !important;
    box-shadow: none; }

#aact-membership-process-join-membership-form--2 .select-wrapper.error,
#aact-membership-process-renew-select-form .select-wrapper.error,
#aact-membership-process-renew-membership-form .select-wrapper.error,
#aact-membership-process-renew-membership-form--2 .select-wrapper.error,
#aact-membership-process-renew-ascap-form .select-wrapper.error,
#aact-membership-process-renew-payment-form .select-wrapper.error,
.membership-process-join .select-wrapper.error,
.membership-process-join--individual .select-wrapper.error {
  background-image: none;
  background: none; }
  #aact-membership-process-join-membership-form--2 .select-wrapper.error .select-dropdown,
  #aact-membership-process-renew-select-form .select-wrapper.error .select-dropdown,
  #aact-membership-process-renew-membership-form .select-wrapper.error .select-dropdown,
  #aact-membership-process-renew-membership-form--2 .select-wrapper.error .select-dropdown,
  #aact-membership-process-renew-ascap-form .select-wrapper.error .select-dropdown,
  #aact-membership-process-renew-payment-form .select-wrapper.error .select-dropdown,
  .membership-process-join .select-wrapper.error .select-dropdown,
  .membership-process-join--individual .select-wrapper.error .select-dropdown {
    border-bottom: 2px solid #F44336 !important; }

#aact-membership-process-join-membership-form--2 input:-webkit-autofill,
#aact-membership-process-renew-select-form input:-webkit-autofill,
#aact-membership-process-renew-membership-form input:-webkit-autofill,
#aact-membership-process-renew-membership-form--2 input:-webkit-autofill,
#aact-membership-process-renew-ascap-form input:-webkit-autofill,
#aact-membership-process-renew-payment-form input:-webkit-autofill,
.membership-process-join input:-webkit-autofill,
.membership-process-join--individual input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 50px white inset;
  /* Change the color to your own background color */
  -webkit-text-fill-color: #3A3A3A; }

#aact-membership-process-join-membership-form--2 .fieldset-legend,
#aact-membership-process-renew-select-form .fieldset-legend,
#aact-membership-process-renew-membership-form .fieldset-legend,
#aact-membership-process-renew-membership-form--2 .fieldset-legend,
#aact-membership-process-renew-ascap-form .fieldset-legend,
#aact-membership-process-renew-payment-form .fieldset-legend,
.membership-process-join .fieldset-legend,
.membership-process-join--individual .fieldset-legend {
  margin-bottom: 40px; }
  #aact-membership-process-join-membership-form--2 .fieldset-legend:after,
  #aact-membership-process-renew-select-form .fieldset-legend:after,
  #aact-membership-process-renew-membership-form .fieldset-legend:after,
  #aact-membership-process-renew-membership-form--2 .fieldset-legend:after,
  #aact-membership-process-renew-ascap-form .fieldset-legend:after,
  #aact-membership-process-renew-payment-form .fieldset-legend:after,
  .membership-process-join .fieldset-legend:after,
  .membership-process-join--individual .fieldset-legend:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    overflow: hidden;
    visibility: hidden; }

#aact-membership-process-join-membership-form--2 .fieldset-wrapper:after,
#aact-membership-process-renew-select-form .fieldset-wrapper:after,
#aact-membership-process-renew-membership-form .fieldset-wrapper:after,
#aact-membership-process-renew-membership-form--2 .fieldset-wrapper:after,
#aact-membership-process-renew-ascap-form .fieldset-wrapper:after,
#aact-membership-process-renew-payment-form .fieldset-wrapper:after,
.membership-process-join .fieldset-wrapper:after,
.membership-process-join--individual .fieldset-wrapper:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

@media only screen and (min-width: 480px) {
  #aact-membership-process-join-membership-form--2 .fieldset-wrapper,
  #aact-membership-process-renew-select-form .fieldset-wrapper,
  #aact-membership-process-renew-membership-form .fieldset-wrapper,
  #aact-membership-process-renew-membership-form--2 .fieldset-wrapper,
  #aact-membership-process-renew-ascap-form .fieldset-wrapper,
  #aact-membership-process-renew-payment-form .fieldset-wrapper,
  .membership-process-join .fieldset-wrapper,
  .membership-process-join--individual .fieldset-wrapper {
    margin-top: 50px; } }

#aact-membership-process-join-membership-form--2 .address .form-item,
#aact-membership-process-renew-select-form .address .form-item,
#aact-membership-process-renew-membership-form .address .form-item,
#aact-membership-process-renew-membership-form--2 .address .form-item,
#aact-membership-process-renew-ascap-form .address .form-item,
#aact-membership-process-renew-payment-form .address .form-item,
.membership-process-join .address .form-item,
.membership-process-join--individual .address .form-item {
  float: left;
  width: 100%; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form--2 .address .form-item-country,
  #aact-membership-process-renew-select-form .address .form-item-country,
  #aact-membership-process-renew-membership-form .address .form-item-country,
  #aact-membership-process-renew-membership-form--2 .address .form-item-country,
  #aact-membership-process-renew-ascap-form .address .form-item-country,
  #aact-membership-process-renew-payment-form .address .form-item-country,
  .membership-process-join .address .form-item-country,
  .membership-process-join--individual .address .form-item-country {
    width: 33.333%;
    padding-right: 20px; } }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form--2 .address .form-item-street-address,
  #aact-membership-process-renew-select-form .address .form-item-street-address,
  #aact-membership-process-renew-membership-form .address .form-item-street-address,
  #aact-membership-process-renew-membership-form--2 .address .form-item-street-address,
  #aact-membership-process-renew-ascap-form .address .form-item-street-address,
  #aact-membership-process-renew-payment-form .address .form-item-street-address,
  .membership-process-join .address .form-item-street-address,
  .membership-process-join--individual .address .form-item-street-address {
    width: 66.666%; } }

@media only screen and (min-width: 480px) {
  #aact-membership-process-join-membership-form--2 .address .form-item-city,
  #aact-membership-process-join-membership-form--2 .address .form-item-state,
  #aact-membership-process-join-membership-form--2 .address .form-item-zipcode,
  #aact-membership-process-renew-select-form .address .form-item-city,
  #aact-membership-process-renew-select-form .address .form-item-state,
  #aact-membership-process-renew-select-form .address .form-item-zipcode,
  #aact-membership-process-renew-membership-form .address .form-item-city,
  #aact-membership-process-renew-membership-form .address .form-item-state,
  #aact-membership-process-renew-membership-form .address .form-item-zipcode,
  #aact-membership-process-renew-membership-form--2 .address .form-item-city,
  #aact-membership-process-renew-membership-form--2 .address .form-item-state,
  #aact-membership-process-renew-membership-form--2 .address .form-item-zipcode,
  #aact-membership-process-renew-ascap-form .address .form-item-city,
  #aact-membership-process-renew-ascap-form .address .form-item-state,
  #aact-membership-process-renew-ascap-form .address .form-item-zipcode,
  #aact-membership-process-renew-payment-form .address .form-item-city,
  #aact-membership-process-renew-payment-form .address .form-item-state,
  #aact-membership-process-renew-payment-form .address .form-item-zipcode,
  .membership-process-join .address .form-item-city,
  .membership-process-join .address .form-item-state,
  .membership-process-join .address .form-item-zipcode,
  .membership-process-join--individual .address .form-item-city,
  .membership-process-join--individual .address .form-item-state,
  .membership-process-join--individual .address .form-item-zipcode {
    width: 33.333%; } }

@media only screen and (min-width: 480px) {
  #aact-membership-process-join-membership-form--2 .address .form-item-city,
  #aact-membership-process-join-membership-form--2 .address .form-item-state,
  #aact-membership-process-renew-select-form .address .form-item-city,
  #aact-membership-process-renew-select-form .address .form-item-state,
  #aact-membership-process-renew-membership-form .address .form-item-city,
  #aact-membership-process-renew-membership-form .address .form-item-state,
  #aact-membership-process-renew-membership-form--2 .address .form-item-city,
  #aact-membership-process-renew-membership-form--2 .address .form-item-state,
  #aact-membership-process-renew-ascap-form .address .form-item-city,
  #aact-membership-process-renew-ascap-form .address .form-item-state,
  #aact-membership-process-renew-payment-form .address .form-item-city,
  #aact-membership-process-renew-payment-form .address .form-item-state,
  .membership-process-join .address .form-item-city,
  .membership-process-join .address .form-item-state,
  .membership-process-join--individual .address .form-item-city,
  .membership-process-join--individual .address .form-item-state {
    padding-right: 20px; } }

#aact-membership-process-join-membership-form--2 .address .form-item-city,
#aact-membership-process-renew-select-form .address .form-item-city,
#aact-membership-process-renew-membership-form .address .form-item-city,
#aact-membership-process-renew-membership-form--2 .address .form-item-city,
#aact-membership-process-renew-ascap-form .address .form-item-city,
#aact-membership-process-renew-payment-form .address .form-item-city,
.membership-process-join .address .form-item-city,
.membership-process-join--individual .address .form-item-city {
  clear: left; }

#aact-membership-process-join-membership-form--2 .form-item-theatre-focus-areas label,
#aact-membership-process-join-membership-form--2 .form-item-theater-areas-of-interest label,
#aact-membership-process-renew-select-form .form-item-theatre-focus-areas label,
#aact-membership-process-renew-select-form .form-item-theater-areas-of-interest label,
#aact-membership-process-renew-membership-form .form-item-theatre-focus-areas label,
#aact-membership-process-renew-membership-form .form-item-theater-areas-of-interest label,
#aact-membership-process-renew-membership-form--2 .form-item-theatre-focus-areas label,
#aact-membership-process-renew-membership-form--2 .form-item-theater-areas-of-interest label,
#aact-membership-process-renew-ascap-form .form-item-theatre-focus-areas label,
#aact-membership-process-renew-ascap-form .form-item-theater-areas-of-interest label,
#aact-membership-process-renew-payment-form .form-item-theatre-focus-areas label,
#aact-membership-process-renew-payment-form .form-item-theater-areas-of-interest label,
.membership-process-join .form-item-theatre-focus-areas label,
.membership-process-join .form-item-theater-areas-of-interest label,
.membership-process-join--individual .form-item-theatre-focus-areas label,
.membership-process-join--individual .form-item-theater-areas-of-interest label {
  position: static;
  margin-bottom: 1rem; }

#aact-membership-process-join-membership-form--2 .form-item-theatre-focus-areas .form-checkboxes,
#aact-membership-process-join-membership-form--2 .form-item-theater-areas-of-interest .form-checkboxes,
#aact-membership-process-renew-select-form .form-item-theatre-focus-areas .form-checkboxes,
#aact-membership-process-renew-select-form .form-item-theater-areas-of-interest .form-checkboxes,
#aact-membership-process-renew-membership-form .form-item-theatre-focus-areas .form-checkboxes,
#aact-membership-process-renew-membership-form .form-item-theater-areas-of-interest .form-checkboxes,
#aact-membership-process-renew-membership-form--2 .form-item-theatre-focus-areas .form-checkboxes,
#aact-membership-process-renew-membership-form--2 .form-item-theater-areas-of-interest .form-checkboxes,
#aact-membership-process-renew-ascap-form .form-item-theatre-focus-areas .form-checkboxes,
#aact-membership-process-renew-ascap-form .form-item-theater-areas-of-interest .form-checkboxes,
#aact-membership-process-renew-payment-form .form-item-theatre-focus-areas .form-checkboxes,
#aact-membership-process-renew-payment-form .form-item-theater-areas-of-interest .form-checkboxes,
.membership-process-join .form-item-theatre-focus-areas .form-checkboxes,
.membership-process-join .form-item-theater-areas-of-interest .form-checkboxes,
.membership-process-join--individual .form-item-theatre-focus-areas .form-checkboxes,
.membership-process-join--individual .form-item-theater-areas-of-interest .form-checkboxes {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  #aact-membership-process-join-membership-form--2 .form-item-theatre-focus-areas .form-checkboxes label,
  #aact-membership-process-join-membership-form--2 .form-item-theater-areas-of-interest .form-checkboxes label,
  #aact-membership-process-renew-select-form .form-item-theatre-focus-areas .form-checkboxes label,
  #aact-membership-process-renew-select-form .form-item-theater-areas-of-interest .form-checkboxes label,
  #aact-membership-process-renew-membership-form .form-item-theatre-focus-areas .form-checkboxes label,
  #aact-membership-process-renew-membership-form .form-item-theater-areas-of-interest .form-checkboxes label,
  #aact-membership-process-renew-membership-form--2 .form-item-theatre-focus-areas .form-checkboxes label,
  #aact-membership-process-renew-membership-form--2 .form-item-theater-areas-of-interest .form-checkboxes label,
  #aact-membership-process-renew-ascap-form .form-item-theatre-focus-areas .form-checkboxes label,
  #aact-membership-process-renew-ascap-form .form-item-theater-areas-of-interest .form-checkboxes label,
  #aact-membership-process-renew-payment-form .form-item-theatre-focus-areas .form-checkboxes label,
  #aact-membership-process-renew-payment-form .form-item-theater-areas-of-interest .form-checkboxes label,
  .membership-process-join .form-item-theatre-focus-areas .form-checkboxes label,
  .membership-process-join .form-item-theater-areas-of-interest .form-checkboxes label,
  .membership-process-join--individual .form-item-theatre-focus-areas .form-checkboxes label,
  .membership-process-join--individual .form-item-theater-areas-of-interest .form-checkboxes label {
    position: relative; }
  #aact-membership-process-join-membership-form--2 .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
  #aact-membership-process-join-membership-form--2 .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
  #aact-membership-process-renew-select-form .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
  #aact-membership-process-renew-select-form .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
  #aact-membership-process-renew-membership-form .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
  #aact-membership-process-renew-membership-form .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
  #aact-membership-process-renew-membership-form--2 .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
  #aact-membership-process-renew-membership-form--2 .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
  #aact-membership-process-renew-ascap-form .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
  #aact-membership-process-renew-ascap-form .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
  #aact-membership-process-renew-payment-form .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
  #aact-membership-process-renew-payment-form .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
  .membership-process-join .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
  .membership-process-join .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
  .membership-process-join--individual .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
  .membership-process-join--individual .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox {
    -ms-flex: 1 0 100%;
        flex: 1 0 100%; }
    @media only screen and (min-width: 768px) {
      #aact-membership-process-join-membership-form--2 .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
      #aact-membership-process-join-membership-form--2 .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
      #aact-membership-process-renew-select-form .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
      #aact-membership-process-renew-select-form .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
      #aact-membership-process-renew-membership-form .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
      #aact-membership-process-renew-membership-form .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
      #aact-membership-process-renew-membership-form--2 .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
      #aact-membership-process-renew-membership-form--2 .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
      #aact-membership-process-renew-ascap-form .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
      #aact-membership-process-renew-ascap-form .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
      #aact-membership-process-renew-payment-form .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
      #aact-membership-process-renew-payment-form .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
      .membership-process-join .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
      .membership-process-join .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox,
      .membership-process-join--individual .form-item-theatre-focus-areas .form-checkboxes .form-type-checkbox,
      .membership-process-join--individual .form-item-theater-areas-of-interest .form-checkboxes .form-type-checkbox {
        -ms-flex: 1 0 33%;
            flex: 1 0 33%; } }

#aact-membership-process-join-membership-form--2 .select-dropdown,
#aact-membership-process-renew-select-form .select-dropdown,
#aact-membership-process-renew-membership-form .select-dropdown,
#aact-membership-process-renew-membership-form--2 .select-dropdown,
#aact-membership-process-renew-ascap-form .select-dropdown,
#aact-membership-process-renew-payment-form .select-dropdown,
.membership-process-join .select-dropdown,
.membership-process-join--individual .select-dropdown {
  border-bottom-color: #303030; }

#aact-membership-process-join-membership-form--2 .form-type-radio label.option:before,
#aact-membership-process-renew-select-form .form-type-radio label.option:before,
#aact-membership-process-renew-membership-form .form-type-radio label.option:before,
#aact-membership-process-renew-membership-form--2 .form-type-radio label.option:before,
#aact-membership-process-renew-ascap-form .form-type-radio label.option:before,
#aact-membership-process-renew-payment-form .form-type-radio label.option:before,
.membership-process-join .form-type-radio label.option:before,
.membership-process-join--individual .form-type-radio label.option:before {
  border: 7px solid white;
  box-shadow: 0 0 0 1px #414141;
  transform: translate(0, 0); }

#aact-membership-process-join-membership-form--2 .form-actions,
#aact-membership-process-renew-select-form .form-actions,
#aact-membership-process-renew-membership-form .form-actions,
#aact-membership-process-renew-membership-form--2 .form-actions,
#aact-membership-process-renew-ascap-form .form-actions,
#aact-membership-process-renew-payment-form .form-actions,
.membership-process-join .form-actions,
.membership-process-join--individual .form-actions {
  width: 100%;
  margin-top: 35px; }
  #aact-membership-process-join-membership-form--2 .form-actions:after,
  #aact-membership-process-renew-select-form .form-actions:after,
  #aact-membership-process-renew-membership-form .form-actions:after,
  #aact-membership-process-renew-membership-form--2 .form-actions:after,
  #aact-membership-process-renew-ascap-form .form-actions:after,
  #aact-membership-process-renew-payment-form .form-actions:after,
  .membership-process-join .form-actions:after,
  .membership-process-join--individual .form-actions:after {
    content: "";
    display: table;
    clear: both; }
  @media (max-width: 767px) {
    #aact-membership-process-join-membership-form--2 .form-actions input,
    #aact-membership-process-renew-select-form .form-actions input,
    #aact-membership-process-renew-membership-form .form-actions input,
    #aact-membership-process-renew-membership-form--2 .form-actions input,
    #aact-membership-process-renew-ascap-form .form-actions input,
    #aact-membership-process-renew-payment-form .form-actions input,
    .membership-process-join .form-actions input,
    .membership-process-join--individual .form-actions input {
      float: left;
      width: 50%;
      margin-right: 0; } }
  @media only screen and (min-width: 768px) {
    #aact-membership-process-join-membership-form--2 .form-actions #edit-next,
    #aact-membership-process-join-membership-form--2 .form-actions #edit-return,
    #aact-membership-process-renew-select-form .form-actions #edit-next,
    #aact-membership-process-renew-select-form .form-actions #edit-return,
    #aact-membership-process-renew-membership-form .form-actions #edit-next,
    #aact-membership-process-renew-membership-form .form-actions #edit-return,
    #aact-membership-process-renew-membership-form--2 .form-actions #edit-next,
    #aact-membership-process-renew-membership-form--2 .form-actions #edit-return,
    #aact-membership-process-renew-ascap-form .form-actions #edit-next,
    #aact-membership-process-renew-ascap-form .form-actions #edit-return,
    #aact-membership-process-renew-payment-form .form-actions #edit-next,
    #aact-membership-process-renew-payment-form .form-actions #edit-return,
    .membership-process-join .form-actions #edit-next,
    .membership-process-join .form-actions #edit-return,
    .membership-process-join--individual .form-actions #edit-next,
    .membership-process-join--individual .form-actions #edit-return {
      float: right; } }

#aact-membership-process-join-membership-form--2 .ajax-progress-throbber,
#aact-membership-process-renew-select-form .ajax-progress-throbber,
#aact-membership-process-renew-membership-form .ajax-progress-throbber,
#aact-membership-process-renew-membership-form--2 .ajax-progress-throbber,
#aact-membership-process-renew-ascap-form .ajax-progress-throbber,
#aact-membership-process-renew-payment-form .ajax-progress-throbber,
.membership-process-join .ajax-progress-throbber,
.membership-process-join--individual .ajax-progress-throbber {
  display: none; }

#aact-membership-process-join-membership-form--2 ::-webkit-input-placeholder,
#aact-membership-process-renew-select-form ::-webkit-input-placeholder,
#aact-membership-process-renew-membership-form ::-webkit-input-placeholder,
#aact-membership-process-renew-membership-form--2 ::-webkit-input-placeholder,
#aact-membership-process-renew-ascap-form ::-webkit-input-placeholder,
#aact-membership-process-renew-payment-form ::-webkit-input-placeholder,
.membership-process-join ::-webkit-input-placeholder,
.membership-process-join--individual ::-webkit-input-placeholder {
  color: #A6A6A6; }

#aact-membership-process-join-membership-form--2 :-moz-placeholder,
#aact-membership-process-renew-select-form :-moz-placeholder,
#aact-membership-process-renew-membership-form :-moz-placeholder,
#aact-membership-process-renew-membership-form--2 :-moz-placeholder,
#aact-membership-process-renew-ascap-form :-moz-placeholder,
#aact-membership-process-renew-payment-form :-moz-placeholder,
.membership-process-join :-moz-placeholder,
.membership-process-join--individual :-moz-placeholder {
  /* Firefox 18- */
  color: #A6A6A6; }

#aact-membership-process-join-membership-form--2 ::-moz-placeholder,
#aact-membership-process-renew-select-form ::-moz-placeholder,
#aact-membership-process-renew-membership-form ::-moz-placeholder,
#aact-membership-process-renew-membership-form--2 ::-moz-placeholder,
#aact-membership-process-renew-ascap-form ::-moz-placeholder,
#aact-membership-process-renew-payment-form ::-moz-placeholder,
.membership-process-join ::-moz-placeholder,
.membership-process-join--individual ::-moz-placeholder {
  /* Firefox 19+ */
  color: #A6A6A6; }

#aact-membership-process-join-membership-form--2 :-ms-input-placeholder,
#aact-membership-process-renew-select-form :-ms-input-placeholder,
#aact-membership-process-renew-membership-form :-ms-input-placeholder,
#aact-membership-process-renew-membership-form--2 :-ms-input-placeholder,
#aact-membership-process-renew-ascap-form :-ms-input-placeholder,
#aact-membership-process-renew-payment-form :-ms-input-placeholder,
.membership-process-join :-ms-input-placeholder,
.membership-process-join--individual :-ms-input-placeholder {
  color: #A6A6A6; }

#aact-membership-process-join-membership-form--2 .required-message,
#aact-membership-process-renew-select-form .required-message,
#aact-membership-process-renew-membership-form .required-message,
#aact-membership-process-renew-membership-form--2 .required-message,
#aact-membership-process-renew-ascap-form .required-message,
#aact-membership-process-renew-payment-form .required-message,
.membership-process-join .required-message,
.membership-process-join--individual .required-message {
  float: left;
  width: 100%;
  font-style: italic;
  color: #A6A6A6; }

#aact-membership-process-join-type-form .membership-type-wrapper {
  margin-top: 45px; }

#aact-membership-process-join-type-form input.form-radio[checked="checked"] + label {
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.17); }

#aact-membership-process-join-type-form .form-type-radio {
  border: 1px solid #95c53d;
  margin-top: 25px; }

#aact-membership-process-join-type-form label.option {
  padding: 20px 45px 20px 75px;
  top: auto;
  width: 100%;
  height: auto; }
  @media only screen and (min-width: 768px) {
    #aact-membership-process-join-type-form label.option {
      padding-bottom: 25px; } }
  #aact-membership-process-join-type-form label.option:before, #aact-membership-process-join-type-form label.option:after {
    top: 30%;
    left: 20px; }
    @media only screen and (min-width: 768px) {
      #aact-membership-process-join-type-form label.option:before, #aact-membership-process-join-type-form label.option:after {
        top: 45%; } }

#aact-membership-process-join-type-form h3 {
  margin-bottom: 0;
  font-size: 22px;
  font-family: PT-Sans-Bold, Arial, Helvetica; }
  @media only screen and (min-width: 768px) {
    #aact-membership-process-join-type-form h3 {
      margin-bottom: 10px;
      font-size: 25px; } }

#aact-membership-process-join-type-form .option-content {
  display: none;
  color: #414141; }
  @media only screen and (min-width: 768px) {
    #aact-membership-process-join-type-form .option-content {
      display: block; } }

#aact-membership-process-join-type-form h4 {
  margin-bottom: 0;
  font-size: 15px;
  font-family: PT-Sans-Bold, Arial, Helvetica; }

#aact-membership-process-join-type-form p {
  line-height: 1.333em; }

#aact-membership-process-join-type-form ul {
  float: left;
  width: 50%;
  padding: 0 20px; }

#aact-membership-process-join-type-form li {
  list-style: disc;
  line-height: 1.333em; }

.breadcrumb a {
  font-size: 14px; }

#aact-membership-process-join-register-form #edit-login,
#aact-membership-process-join-register-form .form-item-first-name,
#aact-membership-process-join-register-form .form-item-last-name,
#aact-membership-process-join-register-form .form-item-mail,
#aact-membership-process-join-register-form .form-type-password-confirm,
#aact-membership-process-join-register-form .form-type-password,
#aact-membership-process-join-register-form #google_recaptcha_aact_membership_process_register_form,
#aact-membership-process-join-register-form .form-actions {
  float: left; }

#aact-membership-process-join-register-form .form-item-first-name,
#aact-membership-process-join-register-form .form-item-last-name {
  padding-right: 30px; }
  @media only screen and (min-width: 480px) {
    #aact-membership-process-join-register-form .form-item-first-name,
    #aact-membership-process-join-register-form .form-item-last-name {
      width: 50%; } }

#aact-membership-process-join-register-form .form-item-mail {
  width: 100%; }

#aact-membership-process-join-register-form .form-item-mail,
#aact-membership-process-join-register-form .form-type-password {
  padding-right: 30px; }
  @media only screen and (min-width: 480px) {
    #aact-membership-process-join-register-form .form-item-mail,
    #aact-membership-process-join-register-form .form-type-password {
      margin-top: 0; } }

#aact-membership-process-join-register-form .form-item-pass {
  float: left;
  width: 100%; }

#aact-membership-process-join-register-form .form-type-password-confirm {
  position: relative;
  width: 100%;
  margin: 0 0 10px; }

#aact-membership-process-join-register-form .form-type-password {
  clear: none;
  width: 100%;
  padding-bottom: 50px; }
  @media only screen and (min-width: 480px) {
    #aact-membership-process-join-register-form .form-type-password {
      width: 50%; } }

#aact-membership-process-join-register-form .form-item-pass-pass1 {
  position: static; }
  @media (max-width: 479px) {
    #aact-membership-process-join-register-form .form-item-pass-pass1 {
      padding-bottom: 20px; } }

#aact-membership-process-join-register-form .password-strength,
#aact-membership-process-join-register-form .password-confirm:not(.form-text) {
  position: absolute;
  bottom: 0; }

@media (max-width: 767px) {
  #aact-membership-process-join-register-form .password-confirm:not(.form-text) {
    transform: translateY(-30px); } }

#aact-membership-process-join-register-form input[type="text"]:active,
#aact-membership-process-join-register-form input[type="password"]:active {
  box-shadow: none; }

#aact-membership-process-join-register-form .password-strength {
  padding-right: 30px; }
  @media only screen and (min-width: 1024px) {
    #aact-membership-process-join-register-form .password-strength {
      width: 100%; } }

#aact-membership-process-join-register-form .password-suggestions {
  display: none !important; }

#aact-membership-process-join-register-form #edit-login {
  width: 100%; }

#aact-membership-process-join-register-form #google_recaptcha_aact_membership_process_join_register_form {
  float: left; }

#aact-membership-process-join-register-form .form-actions {
  clear: left; }

#aact-membership-process-join-membership-form > div > div,
#aact-membership-process-join-membership-form > div > fieldset,
#aact-membership-process-join-membership-form--2 > div > div,
#aact-membership-process-join-membership-form--2 > div > fieldset,
#aact-membership-process-renew-membership-form > div > div,
#aact-membership-process-renew-membership-form > div > fieldset,
#aact-membership-process-renew-membership-form--2 > div > div,
#aact-membership-process-renew-membership-form--2 > div > fieldset,
.membership-process-join--plan > div > div,
.membership-process-join--plan > div > fieldset {
  padding: 0 5px; }

#aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member,
#aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member,
#aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member,
#aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member,
.membership-process-join--plan .form-type-radios.form-item-is-new-member {
  padding: 20px 25px 50px;
  text-align: center;
  background: #bfbfbf; }
  #aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member:after,
  #aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member:after,
  #aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member:after,
  #aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member:after,
  .membership-process-join--plan .form-type-radios.form-item-is-new-member:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    overflow: hidden;
    visibility: hidden; }
  @media only screen and (min-width: 768px) {
    #aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member,
    #aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member,
    #aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member,
    #aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member,
    .membership-process-join--plan .form-type-radios.form-item-is-new-member {
      padding: 20px 275px 20px 15px;
      text-align: left; } }
  #aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member #edit-is-new-member,
  #aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member #edit-is-new-member,
  #aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member #edit-is-new-member,
  #aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member #edit-is-new-member,
  .membership-process-join--plan .form-type-radios.form-item-is-new-member #edit-is-new-member {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: auto;
    width: 215px; }
    @media only screen and (min-width: 768px) {
      #aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member #edit-is-new-member,
      #aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member #edit-is-new-member,
      #aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member #edit-is-new-member,
      #aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member #edit-is-new-member,
      .membership-process-join--plan .form-type-radios.form-item-is-new-member #edit-is-new-member {
        position: static;
        float: right;
        width: auto; } }
  #aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member .form-type-radio,
  #aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member .form-type-radio,
  #aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member .form-type-radio,
  #aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member .form-type-radio,
  .membership-process-join--plan .form-type-radios.form-item-is-new-member .form-type-radio {
    float: left;
    padding-left: 30px;
    margin: 0; }
  #aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member label,
  #aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member label,
  #aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member label,
  #aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member label,
  .membership-process-join--plan .form-type-radios.form-item-is-new-member label {
    color: #414141; }
    #aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member label.option,
    #aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member label.option,
    #aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member label.option,
    #aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member label.option,
    .membership-process-join--plan .form-type-radios.form-item-is-new-member label.option {
      top: auto;
      padding: 0 0 0 30px;
      font-size: 20px; }
  #aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member > label,
  #aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member > label,
  #aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member > label,
  #aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member > label,
  .membership-process-join--plan .form-type-radios.form-item-is-new-member > label {
    position: static;
    font-size: 18px; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form .form-item-product-id,
  #aact-membership-process-join-membership-form--2 .form-item-product-id,
  #aact-membership-process-renew-membership-form .form-item-product-id,
  #aact-membership-process-renew-membership-form--2 .form-item-product-id,
  .membership-process-join--plan .form-item-product-id {
    width: 50%; } }

#aact-membership-process-join-membership-form #membership-pricing,
#aact-membership-process-join-membership-form--2 #membership-pricing,
#aact-membership-process-renew-membership-form #membership-pricing,
#aact-membership-process-renew-membership-form--2 #membership-pricing,
.membership-process-join--plan #membership-pricing {
  padding: 0;
  margin-top: 40px; }
  #aact-membership-process-join-membership-form #membership-pricing:after,
  #aact-membership-process-join-membership-form--2 #membership-pricing:after,
  #aact-membership-process-renew-membership-form #membership-pricing:after,
  #aact-membership-process-renew-membership-form--2 #membership-pricing:after,
  .membership-process-join--plan #membership-pricing:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    overflow: hidden;
    visibility: hidden; }
  #aact-membership-process-join-membership-form #membership-pricing .form-item:after,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-item:after,
  #aact-membership-process-renew-membership-form #membership-pricing .form-item:after,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item:after,
  .membership-process-join--plan #membership-pricing .form-item:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    overflow: hidden;
    visibility: hidden; }
  #aact-membership-process-join-membership-form #membership-pricing .form-radios,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-radios,
  #aact-membership-process-renew-membership-form #membership-pricing .form-radios,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-radios,
  .membership-process-join--plan #membership-pricing .form-radios {
    text-align: center; }
    #aact-membership-process-join-membership-form #membership-pricing .form-radios:after,
    #aact-membership-process-join-membership-form--2 #membership-pricing .form-radios:after,
    #aact-membership-process-renew-membership-form #membership-pricing .form-radios:after,
    #aact-membership-process-renew-membership-form--2 #membership-pricing .form-radios:after,
    .membership-process-join--plan #membership-pricing .form-radios:after {
      content: "\0020";
      display: block;
      height: 0;
      clear: both;
      overflow: hidden;
      visibility: hidden; }
    #aact-membership-process-join-membership-form #membership-pricing .form-radios label.option,
    #aact-membership-process-join-membership-form--2 #membership-pricing .form-radios label.option,
    #aact-membership-process-renew-membership-form #membership-pricing .form-radios label.option,
    #aact-membership-process-renew-membership-form--2 #membership-pricing .form-radios label.option,
    .membership-process-join--plan #membership-pricing .form-radios label.option {
      height: 136px; }
      @media only screen and (min-width: 768px) {
        #aact-membership-process-join-membership-form #membership-pricing .form-radios label.option,
        #aact-membership-process-join-membership-form--2 #membership-pricing .form-radios label.option,
        #aact-membership-process-renew-membership-form #membership-pricing .form-radios label.option,
        #aact-membership-process-renew-membership-form--2 #membership-pricing .form-radios label.option,
        .membership-process-join--plan #membership-pricing .form-radios label.option {
          height: 260px; } }
      @media only screen and (min-width: 1024px) {
        #aact-membership-process-join-membership-form #membership-pricing .form-radios label.option,
        #aact-membership-process-join-membership-form--2 #membership-pricing .form-radios label.option,
        #aact-membership-process-renew-membership-form #membership-pricing .form-radios label.option,
        #aact-membership-process-renew-membership-form--2 #membership-pricing .form-radios label.option,
        .membership-process-join--plan #membership-pricing .form-radios label.option {
          height: 300px; } }
  #aact-membership-process-join-membership-form #membership-pricing fieldset fieldset,
  #aact-membership-process-join-membership-form--2 #membership-pricing fieldset fieldset,
  #aact-membership-process-renew-membership-form #membership-pricing fieldset fieldset,
  #aact-membership-process-renew-membership-form--2 #membership-pricing fieldset fieldset,
  .membership-process-join--plan #membership-pricing fieldset fieldset {
    float: right; }
  #aact-membership-process-join-membership-form #membership-pricing .form-wrapper > .fieldset-wrapper > div,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-wrapper > .fieldset-wrapper > div,
  #aact-membership-process-renew-membership-form #membership-pricing .form-wrapper > .fieldset-wrapper > div,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-wrapper > .fieldset-wrapper > div,
  .membership-process-join--plan #membership-pricing .form-wrapper > .fieldset-wrapper > div {
    margin: 30px 0; }
    @media only screen and (min-width: 768px) {
      #aact-membership-process-join-membership-form #membership-pricing .form-wrapper > .fieldset-wrapper > div,
      #aact-membership-process-join-membership-form--2 #membership-pricing .form-wrapper > .fieldset-wrapper > div,
      #aact-membership-process-renew-membership-form #membership-pricing .form-wrapper > .fieldset-wrapper > div,
      #aact-membership-process-renew-membership-form--2 #membership-pricing .form-wrapper > .fieldset-wrapper > div,
      .membership-process-join--plan #membership-pricing .form-wrapper > .fieldset-wrapper > div {
        margin: 30px 30px 40px; } }
  #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount,
  #aact-membership-process-join-membership-form #membership-pricing .value,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount,
  #aact-membership-process-join-membership-form--2 #membership-pricing .value,
  #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount,
  #aact-membership-process-renew-membership-form #membership-pricing .value,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .value,
  .membership-process-join--plan #membership-pricing .form-item-donation-amount,
  .membership-process-join--plan #membership-pricing .value {
    position: relative;
    padding-left: 105px;
    font-size: 25px;
    color: #8a8a89;
    font-family: PT-Sans-Bold, Arial, Helvetica; }
    #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount:before,
    #aact-membership-process-join-membership-form #membership-pricing .value:before,
    #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount:before,
    #aact-membership-process-join-membership-form--2 #membership-pricing .value:before,
    #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount:before,
    #aact-membership-process-renew-membership-form #membership-pricing .value:before,
    #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount:before,
    #aact-membership-process-renew-membership-form--2 #membership-pricing .value:before,
    .membership-process-join--plan #membership-pricing .form-item-donation-amount:before,
    .membership-process-join--plan #membership-pricing .value:before {
      content: '$';
      position: absolute;
      left: 8px; }
  #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input,
  #aact-membership-process-join-membership-form #membership-pricing .value,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input,
  #aact-membership-process-join-membership-form--2 #membership-pricing .value,
  #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input,
  #aact-membership-process-renew-membership-form #membership-pricing .value,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .value,
  .membership-process-join--plan #membership-pricing .form-item-donation-amount input,
  .membership-process-join--plan #membership-pricing .value {
    float: right;
    width: 160px;
    box-sizing: border-box;
    padding: 10px 35px 10px 30px;
    border: 1px solid #bfbfbf;
    font-family: PT-Sans-Bold, Arial, Helvetica;
    font-size: 25px;
    color: #414141;
    text-align: right;
    background: #f7f7f7; }
    @media only screen and (min-width: 768px) {
      #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input,
      #aact-membership-process-join-membership-form #membership-pricing .value,
      #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input,
      #aact-membership-process-join-membership-form--2 #membership-pricing .value,
      #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input,
      #aact-membership-process-renew-membership-form #membership-pricing .value,
      #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input,
      #aact-membership-process-renew-membership-form--2 #membership-pricing .value,
      .membership-process-join--plan #membership-pricing .form-item-donation-amount input,
      .membership-process-join--plan #membership-pricing .value {
        width: 200px;
        padding-right: 55px; } }
    #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input + label,
    #aact-membership-process-join-membership-form #membership-pricing .value + label,
    #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input + label,
    #aact-membership-process-join-membership-form--2 #membership-pricing .value + label,
    #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input + label,
    #aact-membership-process-renew-membership-form #membership-pricing .value + label,
    #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input + label,
    #aact-membership-process-renew-membership-form--2 #membership-pricing .value + label,
    .membership-process-join--plan #membership-pricing .form-item-donation-amount input + label,
    .membership-process-join--plan #membership-pricing .value + label {
      left: auto;
      right: 170px;
      width: 130px;
      text-align: right; }
      @media only screen and (min-width: 768px) {
        #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input + label,
        #aact-membership-process-join-membership-form #membership-pricing .value + label,
        #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input + label,
        #aact-membership-process-join-membership-form--2 #membership-pricing .value + label,
        #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input + label,
        #aact-membership-process-renew-membership-form #membership-pricing .value + label,
        #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input + label,
        #aact-membership-process-renew-membership-form--2 #membership-pricing .value + label,
        .membership-process-join--plan #membership-pricing .form-item-donation-amount input + label,
        .membership-process-join--plan #membership-pricing .value + label {
          right: 230px; } }
  #aact-membership-process-join-membership-form #membership-pricing .discount,
  #aact-membership-process-join-membership-form--2 #membership-pricing .discount,
  #aact-membership-process-renew-membership-form #membership-pricing .discount,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .discount,
  .membership-process-join--plan #membership-pricing .discount {
    color: #4d4d4c; }
  #aact-membership-process-join-membership-form #membership-pricing .subtotal + label,
  #aact-membership-process-join-membership-form #membership-pricing .order-total + label,
  #aact-membership-process-join-membership-form--2 #membership-pricing .subtotal + label,
  #aact-membership-process-join-membership-form--2 #membership-pricing .order-total + label,
  #aact-membership-process-renew-membership-form #membership-pricing .subtotal + label,
  #aact-membership-process-renew-membership-form #membership-pricing .order-total + label,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .subtotal + label,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .order-total + label,
  .membership-process-join--plan #membership-pricing .subtotal + label,
  .membership-process-join--plan #membership-pricing .order-total + label {
    top: 10px !important; }
  #aact-membership-process-join-membership-form #membership-pricing .order-total,
  #aact-membership-process-join-membership-form--2 #membership-pricing .order-total,
  #aact-membership-process-renew-membership-form #membership-pricing .order-total,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .order-total,
  .membership-process-join--plan #membership-pricing .order-total {
    color: #95c53d;
    background: none; }
    #aact-membership-process-join-membership-form #membership-pricing .order-total + label,
    #aact-membership-process-join-membership-form--2 #membership-pricing .order-total + label,
    #aact-membership-process-renew-membership-form #membership-pricing .order-total + label,
    #aact-membership-process-renew-membership-form--2 #membership-pricing .order-total + label,
    .membership-process-join--plan #membership-pricing .order-total + label {
      color: #95c53d; }
  #aact-membership-process-join-membership-form #membership-pricing .donation-wrapper,
  #aact-membership-process-join-membership-form--2 #membership-pricing .donation-wrapper,
  #aact-membership-process-renew-membership-form #membership-pricing .donation-wrapper,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .donation-wrapper,
  .membership-process-join--plan #membership-pricing .donation-wrapper {
    position: relative;
    font-family: PT-Sans-Bold, Arial, Helvetica; }
    @media only screen and (min-width: 768px) {
      #aact-membership-process-join-membership-form #membership-pricing .donation-wrapper:before, #aact-membership-process-join-membership-form #membership-pricing .donation-wrapper:after,
      #aact-membership-process-join-membership-form--2 #membership-pricing .donation-wrapper:before,
      #aact-membership-process-join-membership-form--2 #membership-pricing .donation-wrapper:after,
      #aact-membership-process-renew-membership-form #membership-pricing .donation-wrapper:before,
      #aact-membership-process-renew-membership-form #membership-pricing .donation-wrapper:after,
      #aact-membership-process-renew-membership-form--2 #membership-pricing .donation-wrapper:before,
      #aact-membership-process-renew-membership-form--2 #membership-pricing .donation-wrapper:after,
      .membership-process-join--plan #membership-pricing .donation-wrapper:before,
      .membership-process-join--plan #membership-pricing .donation-wrapper:after {
        display: block;
        position: absolute;
        content: "";
        background-repeat: no-repeat; } }
    #aact-membership-process-join-membership-form #membership-pricing .donation-wrapper:before,
    #aact-membership-process-join-membership-form--2 #membership-pricing .donation-wrapper:before,
    #aact-membership-process-renew-membership-form #membership-pricing .donation-wrapper:before,
    #aact-membership-process-renew-membership-form--2 #membership-pricing .donation-wrapper:before,
    .membership-process-join--plan #membership-pricing .donation-wrapper:before {
      position: absolute;
      top: -40px;
      right: 0;
      width: 270px;
      font-size: 12px;
      content: "Help support community theatre nationwide!";
      color: #95c53d; }
      @media only screen and (min-width: 480px) {
        #aact-membership-process-join-membership-form #membership-pricing .donation-wrapper:before,
        #aact-membership-process-join-membership-form--2 #membership-pricing .donation-wrapper:before,
        #aact-membership-process-renew-membership-form #membership-pricing .donation-wrapper:before,
        #aact-membership-process-renew-membership-form--2 #membership-pricing .donation-wrapper:before,
        .membership-process-join--plan #membership-pricing .donation-wrapper:before {
          width: 320px;
          font-size: 14px; } }
      @media only screen and (min-width: 768px) {
        #aact-membership-process-join-membership-form #membership-pricing .donation-wrapper:before,
        #aact-membership-process-join-membership-form--2 #membership-pricing .donation-wrapper:before,
        #aact-membership-process-renew-membership-form #membership-pricing .donation-wrapper:before,
        #aact-membership-process-renew-membership-form--2 #membership-pricing .donation-wrapper:before,
        .membership-process-join--plan #membership-pricing .donation-wrapper:before {
          top: -50px;
          left: -370px;
          width: 230px;
          height: 160px;
          background-image: url("../images/cake_bubble.png");
          background-size: 100%;
          content: ""; } }
  #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount:before,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount:before,
  #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount:before,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount:before,
  .membership-process-join--plan #membership-pricing .form-item-donation-amount:before {
    top: 11px;
    left: auto;
    right: 136px;
    color: #414141; }
    @media only screen and (min-width: 768px) {
      #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount:before,
      #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount:before,
      #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount:before,
      #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount:before,
      .membership-process-join--plan #membership-pricing .form-item-donation-amount:before {
        right: 176px; } }
  #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount label,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount label,
  #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount label,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount label,
  .membership-process-join--plan #membership-pricing .form-item-donation-amount label {
    transform: none;
    font-family: PT-Sans-Regular, Arial, Helvetica; }
    @media (max-width: 767px) {
      #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount label,
      #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount label,
      #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount label,
      #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount label,
      .membership-process-join--plan #membership-pricing .form-item-donation-amount label {
        top: 0;
        left: -6px;
        width: 100px;
        word-break: break-word;
        text-align: right; } }
    @media only screen and (min-width: 768px) {
      #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount label,
      #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount label,
      #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount label,
      #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount label,
      .membership-process-join--plan #membership-pricing .form-item-donation-amount label {
        left: -130px; } }
  #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input[type="text"],
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"],
  #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input[type="text"],
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"],
  .membership-process-join--plan #membership-pricing .form-item-donation-amount input[type="text"] {
    float: none;
    margin: 0; }
    #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input[type="text"]:focus, #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input[type="text"]:active,
    #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"]:focus,
    #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"]:active,
    #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input[type="text"]:focus,
    #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input[type="text"]:active,
    #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"]:focus,
    #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"]:active,
    .membership-process-join--plan #membership-pricing .form-item-donation-amount input[type="text"]:focus,
    .membership-process-join--plan #membership-pricing .form-item-donation-amount input[type="text"]:active {
      box-shadow: none; }
  #aact-membership-process-join-membership-form #membership-pricing label,
  #aact-membership-process-join-membership-form--2 #membership-pricing label,
  #aact-membership-process-renew-membership-form #membership-pricing label,
  #aact-membership-process-renew-membership-form--2 #membership-pricing label,
  .membership-process-join--plan #membership-pricing label {
    font-size: 18px;
    color: #414141;
    font-family: PT-Sans-Bold, Arial, Helvetica;
    text-transform: uppercase; }
    @media only screen and (min-width: 768px) {
      #aact-membership-process-join-membership-form #membership-pricing label,
      #aact-membership-process-join-membership-form--2 #membership-pricing label,
      #aact-membership-process-renew-membership-form #membership-pricing label,
      #aact-membership-process-renew-membership-form--2 #membership-pricing label,
      .membership-process-join--plan #membership-pricing label {
        font-size: 20px; } }
  #aact-membership-process-join-membership-form #membership-pricing label.option,
  #aact-membership-process-join-membership-form--2 #membership-pricing label.option,
  #aact-membership-process-renew-membership-form #membership-pricing label.option,
  #aact-membership-process-renew-membership-form--2 #membership-pricing label.option,
  .membership-process-join--plan #membership-pricing label.option {
    display: block;
    top: auto;
    left: auto;
    padding: 0; }
    #aact-membership-process-join-membership-form #membership-pricing label.option:before, #aact-membership-process-join-membership-form #membership-pricing label.option:after,
    #aact-membership-process-join-membership-form--2 #membership-pricing label.option:before,
    #aact-membership-process-join-membership-form--2 #membership-pricing label.option:after,
    #aact-membership-process-renew-membership-form #membership-pricing label.option:before,
    #aact-membership-process-renew-membership-form #membership-pricing label.option:after,
    #aact-membership-process-renew-membership-form--2 #membership-pricing label.option:before,
    #aact-membership-process-renew-membership-form--2 #membership-pricing label.option:after,
    .membership-process-join--plan #membership-pricing label.option:before,
    .membership-process-join--plan #membership-pricing label.option:after {
      top: auto;
      bottom: 75px;
      left: 30px;
      transform: translateX(-50%); }
      @media only screen and (min-width: 768px) {
        #aact-membership-process-join-membership-form #membership-pricing label.option:before, #aact-membership-process-join-membership-form #membership-pricing label.option:after,
        #aact-membership-process-join-membership-form--2 #membership-pricing label.option:before,
        #aact-membership-process-join-membership-form--2 #membership-pricing label.option:after,
        #aact-membership-process-renew-membership-form #membership-pricing label.option:before,
        #aact-membership-process-renew-membership-form #membership-pricing label.option:after,
        #aact-membership-process-renew-membership-form--2 #membership-pricing label.option:before,
        #aact-membership-process-renew-membership-form--2 #membership-pricing label.option:after,
        .membership-process-join--plan #membership-pricing label.option:before,
        .membership-process-join--plan #membership-pricing label.option:after {
          bottom: 25px;
          left: 50%; } }
    #aact-membership-process-join-membership-form #membership-pricing label.option:after,
    #aact-membership-process-join-membership-form--2 #membership-pricing label.option:after,
    #aact-membership-process-renew-membership-form #membership-pricing label.option:after,
    #aact-membership-process-renew-membership-form--2 #membership-pricing label.option:after,
    .membership-process-join--plan #membership-pricing label.option:after {
      bottom: 80px; }
      @media only screen and (min-width: 768px) {
        #aact-membership-process-join-membership-form #membership-pricing label.option:after,
        #aact-membership-process-join-membership-form--2 #membership-pricing label.option:after,
        #aact-membership-process-renew-membership-form #membership-pricing label.option:after,
        #aact-membership-process-renew-membership-form--2 #membership-pricing label.option:after,
        .membership-process-join--plan #membership-pricing label.option:after {
          bottom: 30px; } }

#aact-membership-process-join-membership-form .form-submit[value="Continue"].hide,
#aact-membership-process-join-membership-form--2 .form-submit[value="Continue"].hide,
#aact-membership-process-renew-membership-form .form-submit[value="Continue"].hide,
#aact-membership-process-renew-membership-form--2 .form-submit[value="Continue"].hide,
.membership-process-join--plan .form-submit[value="Continue"].hide {
  display: none; }

#order-container {
  position: relative; }
  #order-container .form-submit {
    position: absolute;
    top: 140px;
    left: 0;
    right: 0;
    width: 80%;
    margin: auto; }
    @media only screen and (min-width: 768px) {
      #order-container .form-submit {
        top: 21px;
        right: 20px;
        bottom: auto;
        left: auto;
        width: auto; } }

.form-item-dirty-budget.input-field {
  position: relative;
  padding: 15px 50px 180px;
  text-align: center;
  margin: 35px 0;
  background: #bfbfbf; }

.form-item-dirty-budget.input-field:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

@media only screen and (min-width: 768px) {
  .form-item-dirty-budget.input-field {
    padding: 15px 110px 15px 370px;
    text-align: left; } }

.form-item-dirty-budget.input-field > label {
  position: absolute;
  top: 20px;
  font-size: 18px;
  color: #414141 !important;
  transform: none;
  right: 0;
  left: 0;
  width: 190px;
  margin: auto; }

@media only screen and (min-width: 768px) {
  .form-item-dirty-budget.input-field > label {
    top: 50%;
    right: auto;
    left: 15px;
    width: auto;
    transform: translateY(-50%); } }

.form-item-dirty-budget.input-field input {
  position: absolute;
  right: 0;
  bottom: 70px;
  left: 0;
  width: 80% !important;
  margin: auto;
  border: 1px solid #95c53d !important;
  background: white; }

@media only screen and (min-width: 768px) {
  .form-item-dirty-budget.input-field input {
    position: static;
    width: 270px !important;
    padding-left: 30px !important;
    margin-bottom: 0;
    font-style: italic;
    font-size: 18px; } }

.form-item-dirty-budget.input-field input:focus {
  border: 1px solid #95c53d;
  box-shadow: none; }

.form-item.form-item-membership-length {
  display: inline-block;
  width: 100%;
  margin: 0;
  text-align: center;
  box-sizing: border-box;
  background: #f2f2f2;
  background-clip: content-box; }
  @media (max-width: 767px) {
    .form-item.form-item-membership-length:nth-child(n+2) {
      margin-top: 20px; } }
  @media only screen and (min-width: 768px) {
    .form-item.form-item-membership-length {
      width: 32%;
      padding: 0 5px; } }
  .form-item.form-item-membership-length label {
    transition: all 0.3s ease; }
  .form-item.form-item-membership-length label.is-active {
    box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.17); }
  .form-item.form-item-membership-length .price {
    height: 85px;
    padding: 30px 0;
    margin: 0;
    color: white;
    font-family: PT-Sans-Bold, Arial, Helvetica; }
    @media only screen and (min-width: 768px) {
      .form-item.form-item-membership-length .price {
        height: 135px;
        padding: 50px 0 40px; } }
    @media only screen and (min-width: 1024px) {
      .form-item.form-item-membership-length .price {
        height: 175px;
        padding: 65px 0 40px; } }
    .form-item.form-item-membership-length .price span {
      display: inline-block;
      height: 100%;
      vertical-align: top;
      line-height: 1em; }
      .form-item.form-item-membership-length .price span.dollars {
        line-height: 0.5em; }
  .form-item.form-item-membership-length .one .price {
    background: #f57220; }
  .form-item.form-item-membership-length .one .length {
    color: #f57220; }
  .form-item.form-item-membership-length .two .price {
    background: #01b3ef; }
  .form-item.form-item-membership-length .two .length {
    color: #01b3ef; }
  .form-item.form-item-membership-length .three .price {
    background: #8178b9; }
  .form-item.form-item-membership-length .three .length {
    color: #8178b9; }
  .form-item.form-item-membership-length .dollar-sign,
  .form-item.form-item-membership-length .cents {
    font-size: 18px; }
    @media only screen and (min-width: 768px) {
      .form-item.form-item-membership-length .dollar-sign,
      .form-item.form-item-membership-length .cents {
        font-size: 28px; } }
  .form-item.form-item-membership-length .dollars {
    font-size: 48px;
    letter-spacing: -2px; }
    @media only screen and (min-width: 768px) {
      .form-item.form-item-membership-length .dollars {
        font-size: 60px; } }
    @media only screen and (min-width: 1024px) {
      .form-item.form-item-membership-length .dollars {
        font-size: 80px; } }
  .form-item.form-item-membership-length .length {
    padding: 10px 0;
    font-size: 20px;
    text-transform: uppercase; }
    @media only screen and (min-width: 768px) {
      .form-item.form-item-membership-length .length {
        padding: 20px 0;
        font-size: 30px; } }
  .form-item.form-item-membership-length .discount-message {
    font-size: 10px;
    transform: translateY(5px);
    text-transform: uppercase; }
    @media only screen and (min-width: 768px) {
      .form-item.form-item-membership-length .discount-message {
        transform: translateY(0);
        font-size: 18px; } }

.dropdown-content {
  overflow: scroll !important; }

.membership-process-payment {
  position: relative;
  padding-bottom: 220px; }
  @media only screen and (min-width: 768px) {
    .membership-process-payment {
      padding-bottom: 170px; } }
  .membership-process-payment .form-type-radio {
    margin: 0; }
    .membership-process-payment .form-type-radio:first-child {
      position: relative; }
      .membership-process-payment .form-type-radio:first-child:after {
        display: none;
        position: absolute;
        top: 21px;
        left: 200px;
        width: 175px;
        height: 27px;
        background-image: url("../images/cards-outline.png");
        background-repeat: no-repeat;
        background-size: contain;
        content: ""; }
        @media only screen and (min-width: 480px) {
          .membership-process-payment .form-type-radio:first-child:after {
            display: block; } }
    .membership-process-payment .form-type-radio:last-child {
      position: absolute;
      bottom: 100px;
      width: 100%; }
      @media only screen and (min-width: 768px) {
        .membership-process-payment .form-type-radio:last-child {
          bottom: 100px; } }
  .membership-process-payment label.option {
    top: auto;
    height: auto;
    padding: 22px 22px 22px 80px;
    background: #bfbfbf;
    color: #414141;
    font-size: 20px;
    width: 100%; }
    .membership-process-payment label.option:before, .membership-process-payment label.option:after {
      top: 33%;
      left: 30px; }
  .membership-process-payment #credit-card:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    overflow: hidden;
    visibility: hidden; }
  .membership-process-payment .form-item-credit-card-owner,
  .membership-process-payment .form-item-credit-card-number {
    float: left;
    width: 100%;
    padding-right: 20px;
    margin-top: 50px; }
    @media only screen and (min-width: 768px) {
      .membership-process-payment .form-item-credit-card-owner,
      .membership-process-payment .form-item-credit-card-number {
        width: 50%; } }
  .membership-process-payment .form-item-credit-card-code,
  .membership-process-payment .form-item-credit-card-zipcode {
    float: left;
    width: 50%;
    padding-right: 20px; }
    @media only screen and (min-width: 768px) {
      .membership-process-payment .form-item-credit-card-code,
      .membership-process-payment .form-item-credit-card-zipcode {
        width: 25%; } }
  .membership-process-payment .commerce-credit-card-expiration,
  .membership-process-payment .form-item-credit-card-code {
    margin-bottom: 20px; }
  .membership-process-payment .commerce-credit-card-expiration {
    float: left;
    width: 100%; }
    @media only screen and (min-width: 768px) {
      .membership-process-payment .commerce-credit-card-expiration {
        width: 50%;
        padding-right: 20px; } }
  .membership-process-payment .form-item-credit-card-exp-month,
  .membership-process-payment .form-item-credit-card-exp-year {
    display: block;
    float: left;
    width: 50%;
    padding-right: 20px; }
  .membership-process-payment .form-actions {
    position: absolute;
    bottom: 30px;
    width: 100%; }
  .membership-process-payment .required-message {
    position: absolute;
    bottom: 0; }

#aact-membership-process-renew-select-form .form-radios,
#aact-membership-process-renew-ascap-form .form-radios {
  padding-top: 50px; }
  #aact-membership-process-renew-select-form .form-radios label,
  #aact-membership-process-renew-ascap-form .form-radios label {
    top: 0; }

.page-membership-thank-you .block-main .content {
  text-align: center; }

.page-membership-thank-you .block-main h2 {
  font-size: 30px;
  font-family: PT-Sans-Bold, Arial, Helvetica; }

.page-membership-thank-you .block-main p {
  font-size: 18px;
  line-height: 1.6em; }

.page-membership-thank-you .block-main a.btn {
  padding: 0 2rem;
  box-sizing: border-box; }
  @media only screen and (min-width: 480px) {
    .page-membership-thank-you .block-main a.btn {
      font-size: 23px; } }

.form-type-radio label {
  color: #818181;
  position: relative;
  margin-bottom: 0;
  top: 0;
  left: 0;
  font-size: 1rem;
  cursor: text;
  transition: .2s ease-out; }

.form-type-radio input {
  position: absolute;
  left: -9999px;
  opacity: 0; }

.form-type-radio [type="radio"] + label {
  margin-bottom: .5rem;
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  display: inline-block;
  height: 25px;
  line-height: 25px;
  font-size: 1rem; }

.form-type-radio [type="radio"] + label:before,
.form-type-radio [type="radio"] + label:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  margin: 4px;
  width: 16px;
  height: 16px;
  z-index: 0;
  --transition: .28s ease;
  transition: .28s ease; }

.form-type-radio [type="radio"]:not(:checked) + label:before,
.form-type-radio [type="radio"]:not(:checked) + label:after {
  border: 2px solid #515151; }

.form-type-radio [type="radio"]:not(:checked) + label:before,
.form-type-radio [type="radio"]:not(:checked) + label:after,
.form-type-radio [type="radio"]:checked + label:before,
.form-type-radio [type="radio"]:checked + label:after,
.form-type-radio [type="radio"].with-gap:checked + label:before,
.form-type-radio [type="radio"].with-gap:checked + label:after {
  border-radius: 50%; }

.form-type-radio [type="radio"]:checked + label:after,
.form-type-radio [type="radio"].with-gap:checked + label:before,
.form-type-radio [type="radio"].with-gap:checked + label:after {
  border: 2px solid #80AE34; }

.form-type-radio [type="radio"]:checked + label:after,
.form-type-radio [type="radio"].with-gap:checked + label:after {
  background-color: #80AE34;
  z-index: 0; }

.form-type-radio [type="radio"]:checked + label:after {
  transform: scale(1.02); }

.webform-conditional-processed fieldset {
  border: none; }

.webform-conditional-processed .fieldset-wrapper {
  margin-top: 10px; }

.webform-conditional-processed input {
  box-sizing: border-box;
  border: none;
  border-bottom: 1px solid #818181;
  height: 2rem; }

.webform-conditional-processed .form-actions input {
  height: 3rem; }

.webform-conditional-processed label {
  color: #818181;
  position: relative;
  margin-bottom: 0;
  top: 0;
  left: 0;
  font-size: 1rem;
  cursor: text;
  transition: .2s ease-out; }

.webform-conditional-processed .form-type-checkbox input {
  position: absolute;
  left: -9999px;
  opacity: 0; }

.webform-conditional-processed .form-type-checkbox [type="checkbox"] + label {
  margin-bottom: .5rem;
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  display: inline-block;
  height: 25px;
  line-height: 25px;
  font-size: 1rem; }

.webform-conditional-processed .form-type-checkbox [type="checkbox"] + label:before,
.webform-conditional-processed .form-type-checkbox [type="checkbox"]:not(.filled-in) + label:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  z-index: 0;
  border: 2px solid #515151;
  border-radius: 1px;
  margin-top: 2px;
  transition: .2s; }

.webform-conditional-processed .form-type-checkbox [type="checkbox"]:checked + label:after {
  border: none; }

.webform-conditional-processed .form-type-checkbox [type="checkbox"]:checked + label:before {
  top: -4px;
  left: -5px;
  width: 12px;
  height: 22px;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  border-right: 2px solid #80AE34;
  border-bottom: 2px solid #80AE34;
  transform: rotate(40deg);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform-origin: 100% 100%; }

.webform-conditional-processed select {
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.9);
  width: 100%;
  padding: 5px;
  border: 1px solid #F6F6F6;
  border-radius: 2px;
  height: 3rem;
  max-width: 397px; }

.webform-conditional-processed .form-item-theater-areas-of-interest label {
  margin-bottom: .5rem; }

.webform-conditional-processed .form-item-theatre-focus-areas {
  margin-top: 1.5rem; }
  .webform-conditional-processed .form-item-theatre-focus-areas label {
    text-transform: capitalize; }

.form-item-membership-length [type="radio"]:not(:checked) + label,
.form-item-membership-length [type="radio"]:checked + label,
div.membership-length-option-list [type="radio"]:checked + label {
  padding-left: 0px;
  height: 100%;
  background-color: #F6F6F6; }

.form-item-membership-length [type="radio"]:checked + label .membership-length-option_1,
.form-item-membership-length [type="radio"]:checked + label .membership-length-option {
  border: 2px solid transparent; }
  .form-item-membership-length [type="radio"]:checked + label .membership-length-option_1.one,
  .form-item-membership-length [type="radio"]:checked + label .membership-length-option.one {
    border-color: #f57220;
    box-shadow: 7px 7px 5px rgba(245, 114, 32, 0.33); }
  .form-item-membership-length [type="radio"]:checked + label .membership-length-option_1.two,
  .form-item-membership-length [type="radio"]:checked + label .membership-length-option.two {
    border-color: #01b3ef;
    box-shadow: 7px 7px 5px rgba(1, 179, 239, 0.33); }
  .form-item-membership-length [type="radio"]:checked + label .membership-length-option_1.three,
  .form-item-membership-length [type="radio"]:checked + label .membership-length-option.three {
    border-color: #8178b9;
    box-shadow: 7px 7px 5px rgba(129, 120, 185, 0.33); }

.webform-component--membership-process-type--civicrm-2-contact-1-cg17-fieldset .fieldset-wrapper .form-item {
  display: inline-block;
  width: 40%; }

.webform-component--membership-process-type--civicrm-2-contact-1-cg17-fieldset .fieldset-wrapper .webform-component-markup {
  padding: 40px; }

.webform-component--membership-process-type--civicrm-1-contact-1-cg17-fieldset .fieldset-wrapper .webform-component-markup .button {
  padding: 9px 13px;
  background-size: 100% 100%;
  background: url("sites/default/files/styles/media_thumbnail/public/btn-bg.png") #80AE34;
  border: 1px solid #80AE34;
  border-radius: 3px;
  color: white !important;
  text-shadow: #80AE34 0px -1px 0px;
  font-family: opensans-semibold;
  font-size: 14px;
  background-size: 100% 100%; }

.form-item-submitted-organization-membership-selection-civicrm-1-membership-1-membership-num-terms [type="radio"]:not(:checked) + label:before,
.form-item-submitted-organization-membership-selection-civicrm-1-membership-1-membership-num-terms [type="radio"]:not(:checked) + label:after,
.form-item-submitted-organization-membership-selection-civicrm-1-membership-1-membership-num-terms [type="radio"]:checked + label:before,
.form-item-submitted-organization-membership-selection-civicrm-1-membership-1-membership-num-terms [type="radio"]:checked + label:after,
.form-item-submitted-organization-membership-selection-civicrm-1-membership-1-membership-num-terms [type="radio"] + label:before,
.form-item-submitted-organization-membership-selection-civicrm-1-membership-1-membership-num-terms [type="radio"] + label:after {
  display: none;
  width: 0px;
  height: 0px;
  border: none;
  margin: 0;
  padding-left: 0; }

form-item.webform-component--organization-membership-selection--membership-amount,
form-item.webform-component--organization-membership-selection--membership-amount label,
form-item.webform-component--organization-membership-selection--membership-amount input,
label[for=edit-submitted-organization-membership-selection-membership-amount],
input.membership-amount-number-id {
  display: none;
  height: 0px; }

.webform-component--membership-contribution-amount--civicrm-1-contribution-1-contribution-total-amount {
  text-align: left; }

.webform-component--membership-contribution-amount .description {
  display: none;
  float: right;
  width: 250px;
  height: 200px;
  padding: 0px;
  text-align: center;
  background-image: url("sites/default/files/styles/media_gallery_thumbnail/public/aact_support_theatre_2.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%; }
  .webform-component--membership-contribution-amount .description .desc-text {
    color: white;
    font-size: 20px;
    font-weight: bold;
    vertical-align: middle;
    text-align: center;
    margin: 60px 40px auto 28px; }

@media only screen and (min-width: 768px) {
  .webform-component--membership-contribution-amount {
    margin-right: 25%;
    text-align: center; } }

@media only screen and (min-width: 768px) {
  .membership-join--half-width-fields .fieldset-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .membership-join--half-width-fields .form-item {
    -ms-flex: 1 0 48%;
        flex: 1 0 48%; }
    .membership-join--half-width-fields .form-item:nth-child(odd):not(:last-child) {
      margin-right: 4%; }
    .membership-join--half-width-fields .form-item:last-child {
      max-width: 48%; }
    .membership-join--half-width-fields .form-item input {
      box-sizing: border-box; } }

.membership-process-join--swap-email-phone .form-item-mail {
  -ms-flex-order: 1;
      order: 1; }

@media only screen and (min-width: 768px) {
  .membership-process-join--swap-email-phone .form-item-mail {
    max-width: 48%; }
  .membership-process-join--swap-email-phone .form-item:last-child {
    max-width: initial; }
  .membership-process-join--swap-email-phone .form-item-phone {
    margin-right: 4%; } }

.membership-process-join--swap-email-title .form-item-mail,
.membership-process-join--swap-email-title .form-item-job-title {
  -ms-flex-order: 1;
      order: 1; }

@media only screen and (min-width: 768px) {
  .membership-process-join--swap-email-title .form-item-mail {
    max-width: 48%; }
  .membership-process-join--swap-email-title .form-item:last-child {
    max-width: initial;
    color: black; }
  .membership-process-join--swap-email-title .form-item-phone {
    margin-right: 4%; }
  .membership-process-join--swap-email-title .form-item.input-field.form-item-phone-secondary {
    margin-right: 0; } }

#aact-membership-process-join-membership-form > div > div,
#aact-membership-process-join-membership-form > div > fieldset,
#aact-membership-process-join-membership-form--2 > div > div,
#aact-membership-process-join-membership-form--2 > div > fieldset,
#aact-membership-process-renew-membership-form > div > div,
#aact-membership-process-renew-membership-form > div > fieldset,
#aact-membership-process-renew-membership-form--2 > div > div,
#aact-membership-process-renew-membership-form--2 > div > fieldset,
.membership-process-join--plan > div > div,
.membership-process-join--plan > div > fieldset {
  padding: 0 5px; }

#aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member,
#aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member,
#aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member,
#aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member,
.membership-process-join--plan .form-type-radios.form-item-is-new-member {
  padding: 20px 25px 50px;
  text-align: center;
  background: #bfbfbf; }

#aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member:after,
#aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member:after,
#aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member:after,
#aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member:after,
.membership-process-join--plan .form-type-radios.form-item-is-new-member:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member,
  #aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member,
  #aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member,
  #aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member,
  .membership-process-join--plan .form-type-radios.form-item-is-new-member {
    padding: 20px 275px 20px 15px;
    text-align: left; } }

#aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member #edit-is-new-member,
#aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member #edit-is-new-member,
#aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member #edit-is-new-member,
#aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member #edit-is-new-member,
.membership-process-join--plan .form-type-radios.form-item-is-new-member #edit-is-new-member {
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  margin: auto;
  width: 215px; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member #edit-is-new-member,
  #aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member #edit-is-new-member,
  #aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member #edit-is-new-member,
  #aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member #edit-is-new-member,
  .membership-process-join--plan .form-type-radios.form-item-is-new-member #edit-is-new-member {
    position: static;
    float: right;
    width: auto; } }

#aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member .form-type-radio,
#aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member .form-type-radio,
#aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member .form-type-radio,
#aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member .form-type-radio,
.membership-process-join--plan .form-type-radios.form-item-is-new-member .form-type-radio {
  float: left;
  padding-left: 30px;
  margin: 0; }

#aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member label,
#aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member label,
#aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member label,
#aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member label,
.membership-process-join--plan .form-type-radios.form-item-is-new-member label {
  color: #414141; }

#aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member label.option,
#aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member label.option,
#aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member label.option,
#aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member label.option,
.membership-process-join--plan .form-type-radios.form-item-is-new-member label.option {
  top: auto;
  padding: 0 0 0 30px;
  font-size: 20px; }

#aact-membership-process-join-membership-form .form-type-radios.form-item-is-new-member > label,
#aact-membership-process-join-membership-form--2 .form-type-radios.form-item-is-new-member > label,
#aact-membership-process-renew-membership-form .form-type-radios.form-item-is-new-member > label,
#aact-membership-process-renew-membership-form--2 .form-type-radios.form-item-is-new-member > label,
.membership-process-join--plan .form-type-radios.form-item-is-new-member > label {
  position: static;
  font-size: 18px; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form .form-item-product-id,
  #aact-membership-process-join-membership-form--2 .form-item-product-id,
  #aact-membership-process-renew-membership-form .form-item-product-id,
  #aact-membership-process-renew-membership-form--2 .form-item-product-id,
  .membership-process-join--plan .form-item-product-id {
    width: 50%; } }

#aact-membership-process-join-membership-form #membership-pricing,
#aact-membership-process-join-membership-form--2 #membership-pricing,
#aact-membership-process-renew-membership-form #membership-pricing,
#aact-membership-process-renew-membership-form--2 #membership-pricing,
.membership-process-join--plan #membership-pricing {
  padding: 0;
  margin-top: 40px; }

#aact-membership-process-join-membership-form #membership-pricing:after,
#aact-membership-process-join-membership-form--2 #membership-pricing:after,
#aact-membership-process-renew-membership-form #membership-pricing:after,
#aact-membership-process-renew-membership-form--2 #membership-pricing:after,
.membership-process-join--plan #membership-pricing:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

#aact-membership-process-join-membership-form #membership-pricing .form-item:after,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-item:after,
#aact-membership-process-renew-membership-form #membership-pricing .form-item:after,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-item:after,
.membership-process-join--plan #membership-pricing .form-item:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

#aact-membership-process-join-membership-form #membership-pricing .form-radios,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-radios,
#aact-membership-process-renew-membership-form #membership-pricing .form-radios,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-radios,
.membership-process-join--plan #membership-pricing .form-radios {
  text-align: center; }

#aact-membership-process-join-membership-form #membership-pricing .form-radios:after,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-radios:after,
#aact-membership-process-renew-membership-form #membership-pricing .form-radios:after,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-radios:after,
.membership-process-join--plan #membership-pricing .form-radios:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

#aact-membership-process-join-membership-form #membership-pricing .form-radios label.option,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-radios label.option,
#aact-membership-process-renew-membership-form #membership-pricing .form-radios label.option,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-radios label.option,
.membership-process-join--plan #membership-pricing .form-radios label.option {
  height: 136px;
  height: auto; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form #membership-pricing .form-radios label.option,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-radios label.option,
  #aact-membership-process-renew-membership-form #membership-pricing .form-radios label.option,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-radios label.option,
  .membership-process-join--plan #membership-pricing .form-radios label.option {
    height: 260px;
    height: auto; } }

@media only screen and (min-width: 1024px) {
  #aact-membership-process-join-membership-form #membership-pricing .form-radios label.option,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-radios label.option,
  #aact-membership-process-renew-membership-form #membership-pricing .form-radios label.option,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-radios label.option,
  .membership-process-join--plan #membership-pricing .form-radios label.option {
    height: 300px;
    height: auto; } }

#aact-membership-process-join-membership-form #membership-pricing fieldset fieldset,
#aact-membership-process-join-membership-form--2 #membership-pricing fieldset fieldset,
#aact-membership-process-renew-membership-form #membership-pricing fieldset fieldset,
#aact-membership-process-renew-membership-form--2 #membership-pricing fieldset fieldset,
.membership-process-join--plan #membership-pricing fieldset fieldset {
  float: right; }

#aact-membership-process-join-membership-form #membership-pricing .form-wrapper > .fieldset-wrapper > div,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-wrapper > .fieldset-wrapper > div,
#aact-membership-process-renew-membership-form #membership-pricing .form-wrapper > .fieldset-wrapper > div,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-wrapper > .fieldset-wrapper > div,
.membership-process-join--plan #membership-pricing .form-wrapper > .fieldset-wrapper > div {
  margin: 30px 0; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form #membership-pricing .form-wrapper > .fieldset-wrapper > div,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-wrapper > .fieldset-wrapper > div,
  #aact-membership-process-renew-membership-form #membership-pricing .form-wrapper > .fieldset-wrapper > div,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-wrapper > .fieldset-wrapper > div,
  .membership-process-join--plan #membership-pricing .form-wrapper > .fieldset-wrapper > div {
    margin: 30px 30px 40px; } }

#aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount,
#aact-membership-process-join-membership-form #membership-pricing .value,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount,
#aact-membership-process-join-membership-form--2 #membership-pricing .value,
#aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount,
#aact-membership-process-renew-membership-form #membership-pricing .value,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount,
#aact-membership-process-renew-membership-form--2 #membership-pricing .value,
.membership-process-join--plan #membership-pricing .form-item-donation-amount,
.membership-process-join--plan #membership-pricing .value {
  position: relative;
  padding-left: 105px;
  font-size: 25px;
  color: #8a8a89;
  font-family: PT-Sans-Bold, Arial, Helvetica; }

#aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount:before,
#aact-membership-process-join-membership-form #membership-pricing .value:before,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount:before,
#aact-membership-process-join-membership-form--2 #membership-pricing .value:before,
#aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount:before,
#aact-membership-process-renew-membership-form #membership-pricing .value:before,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount:before,
#aact-membership-process-renew-membership-form--2 #membership-pricing .value:before,
.membership-process-join--plan #membership-pricing .form-item-donation-amount:before,
.membership-process-join--plan #membership-pricing .value:before {
  content: '$';
  position: absolute;
  left: 8px; }

#aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input,
#aact-membership-process-join-membership-form #membership-pricing .value,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input,
#aact-membership-process-join-membership-form--2 #membership-pricing .value,
#aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input,
#aact-membership-process-renew-membership-form #membership-pricing .value,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input,
#aact-membership-process-renew-membership-form--2 #membership-pricing .value,
.membership-process-join--plan #membership-pricing .form-item-donation-amount input,
.membership-process-join--plan #membership-pricing .value {
  float: right;
  width: 160px;
  box-sizing: border-box;
  padding: 10px 35px 10px 30px;
  border: 1px solid #bfbfbf;
  font-family: PT-Sans-Bold, Arial, Helvetica;
  font-size: 25px;
  color: #414141;
  text-align: right;
  background: #f7f7f7; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input,
  #aact-membership-process-join-membership-form #membership-pricing .value,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input,
  #aact-membership-process-join-membership-form--2 #membership-pricing .value,
  #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input,
  #aact-membership-process-renew-membership-form #membership-pricing .value,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .value,
  .membership-process-join--plan #membership-pricing .form-item-donation-amount input,
  .membership-process-join--plan #membership-pricing .value {
    width: 200px;
    padding-right: 55px; } }

#aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input + label,
#aact-membership-process-join-membership-form #membership-pricing .value + label,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input + label,
#aact-membership-process-join-membership-form--2 #membership-pricing .value + label,
#aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input + label,
#aact-membership-process-renew-membership-form #membership-pricing .value + label,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input + label,
#aact-membership-process-renew-membership-form--2 #membership-pricing .value + label,
.membership-process-join--plan #membership-pricing .form-item-donation-amount input + label,
.membership-process-join--plan #membership-pricing .value + label {
  left: auto;
  right: 170px;
  width: 130px;
  text-align: right; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input + label,
  #aact-membership-process-join-membership-form #membership-pricing .value + label,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input + label,
  #aact-membership-process-join-membership-form--2 #membership-pricing .value + label,
  #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input + label,
  #aact-membership-process-renew-membership-form #membership-pricing .value + label,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input + label,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .value + label,
  .membership-process-join--plan #membership-pricing .form-item-donation-amount input + label,
  .membership-process-join--plan #membership-pricing .value + label {
    right: 230px; } }

#aact-membership-process-join-membership-form #membership-pricing .discount,
#aact-membership-process-join-membership-form--2 #membership-pricing .discount,
#aact-membership-process-renew-membership-form #membership-pricing .discount,
#aact-membership-process-renew-membership-form--2 #membership-pricing .discount,
.membership-process-join--plan #membership-pricing .discount {
  color: #4d4d4c; }

#aact-membership-process-join-membership-form #membership-pricing .subtotal + label,
#aact-membership-process-join-membership-form #membership-pricing .order-total + label,
#aact-membership-process-join-membership-form--2 #membership-pricing .subtotal + label,
#aact-membership-process-join-membership-form--2 #membership-pricing .order-total + label,
#aact-membership-process-renew-membership-form #membership-pricing .subtotal + label,
#aact-membership-process-renew-membership-form #membership-pricing .order-total + label,
#aact-membership-process-renew-membership-form--2 #membership-pricing .subtotal + label,
#aact-membership-process-renew-membership-form--2 #membership-pricing .order-total + label,
.membership-process-join--plan #membership-pricing .subtotal + label,
.membership-process-join--plan #membership-pricing .order-total + label {
  top: 10px !important; }

#aact-membership-process-join-membership-form #membership-pricing .order-total,
#aact-membership-process-join-membership-form--2 #membership-pricing .order-total,
#aact-membership-process-renew-membership-form #membership-pricing .order-total,
#aact-membership-process-renew-membership-form--2 #membership-pricing .order-total,
.membership-process-join--plan #membership-pricing .order-total {
  color: #95c53d;
  background: none; }

#aact-membership-process-join-membership-form #membership-pricing .order-total + label,
#aact-membership-process-join-membership-form--2 #membership-pricing .order-total + label,
#aact-membership-process-renew-membership-form #membership-pricing .order-total + label,
#aact-membership-process-renew-membership-form--2 #membership-pricing .order-total + label,
.membership-process-join--plan #membership-pricing .order-total + label {
  color: #95c53d; }

#aact-membership-process-join-membership-form #membership-pricing .donation-wrapper,
#aact-membership-process-join-membership-form--2 #membership-pricing .donation-wrapper,
#aact-membership-process-renew-membership-form #membership-pricing .donation-wrapper,
#aact-membership-process-renew-membership-form--2 #membership-pricing .donation-wrapper,
.membership-process-join--plan #membership-pricing .donation-wrapper {
  position: relative;
  font-family: PT-Sans-Bold, Arial, Helvetica; }

@media only screen and (min-width: 768px) {
  .membership-process-join--plan #membership-pricing .donation-wrapper:before,
  .membership-process-join--plan #membership-pricing .donation-wrapper:after {
    display: block;
    position: absolute;
    content: "";
    background-repeat: no-repeat; } }

#aact-membership-process-join-membership-form #membership-pricing .donation-wrapper:before,
#aact-membership-process-join-membership-form--2 #membership-pricing .donation-wrapper:before,
#aact-membership-process-renew-membership-form #membership-pricing .donation-wrapper:before,
#aact-membership-process-renew-membership-form--2 #membership-pricing .donation-wrapper:before,
.membership-process-join--plan #membership-pricing .donation-wrapper:before {
  position: absolute;
  top: -40px;
  right: 0;
  width: 270px;
  font-size: 12px;
  content: "Help support community theatre nationwide!";
  color: #95c53d; }

@media only screen and (min-width: 480px) {
  #aact-membership-process-join-membership-form #membership-pricing .donation-wrapper:before,
  #aact-membership-process-join-membership-form--2 #membership-pricing .donation-wrapper:before,
  #aact-membership-process-renew-membership-form #membership-pricing .donation-wrapper:before,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .donation-wrapper:before,
  .membership-process-join--plan #membership-pricing .donation-wrapper:before {
    width: 320px;
    font-size: 14px; } }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form #membership-pricing .donation-wrapper:before,
  #aact-membership-process-join-membership-form--2 #membership-pricing .donation-wrapper:before,
  #aact-membership-process-renew-membership-form #membership-pricing .donation-wrapper:before,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .donation-wrapper:before,
  .membership-process-join--plan #membership-pricing .donation-wrapper:before {
    top: -50px;
    left: -370px;
    width: 230px;
    height: 160px;
    background-image: url("../images/cake_bubble.png");
    background-size: 100%;
    content: ""; } }

#aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount:before,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount:before,
#aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount:before,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount:before,
.membership-process-join--plan #membership-pricing .form-item-donation-amount:before {
  top: 11px;
  left: auto;
  right: 136px;
  color: #414141; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount:before,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount:before,
  #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount:before,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount:before,
  .membership-process-join--plan #membership-pricing .form-item-donation-amount:before {
    right: 176px; } }

#aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount label,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount label,
#aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount label,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount label,
.membership-process-join--plan #membership-pricing .form-item-donation-amount label {
  transform: none;
  font-family: PT-Sans-Regular, Arial, Helvetica; }

@media (max-width: 767px) {
  #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount label,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount label,
  #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount label,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount label,
  .membership-process-join--plan #membership-pricing .form-item-donation-amount label {
    top: 0;
    left: -6px;
    width: 100px;
    word-break: break-word;
    text-align: right; } }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount label,
  #aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount label,
  #aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount label,
  #aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount label,
  .membership-process-join--plan #membership-pricing .form-item-donation-amount label {
    left: -130px; } }

#aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input[type="text"],
#aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"],
#aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input[type="text"],
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"],
.membership-process-join--plan #membership-pricing .form-item-donation-amount input[type="text"] {
  float: none;
  margin: 0; }

#aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input[type="text"]:focus, #aact-membership-process-join-membership-form #membership-pricing .form-item-donation-amount input[type="text"]:active,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"]:focus,
#aact-membership-process-join-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"]:active,
#aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input[type="text"]:focus,
#aact-membership-process-renew-membership-form #membership-pricing .form-item-donation-amount input[type="text"]:active,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"]:focus,
#aact-membership-process-renew-membership-form--2 #membership-pricing .form-item-donation-amount input[type="text"]:active,
.membership-process-join--plan #membership-pricing .form-item-donation-amount input[type="text"]:focus,
.membership-process-join--plan #membership-pricing .form-item-donation-amount input[type="text"]:active {
  box-shadow: none; }

.membership-process-join--plan #membership-pricing label,
.membership-process-join--plan .form-membership-length label,
label[for=edit-submitted-organization-membership-selection-civicrm-1-membership-1-membership-membership-type-id],
label[for=edit-submitted-membership-process-type-civicrm-1-contact-1-cg17-fieldset-civicrm-1-contact-1-cg17-custom-37],
label[for=edit-submitted-membership-contribution-amount-civicrm-1-contribution-1-contribution-total-amount] {
  font-size: 18px;
  color: #414141;
  font-family: PT-Sans-Bold, Arial, Helvetica;
  text-transform: uppercase; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form #membership-pricing label,
  #aact-membership-process-join-membership-form--2 #membership-pricing label,
  #aact-membership-process-renew-membership-form #membership-pricing label,
  #aact-membership-process-renew-membership-form--2 #membership-pricing label,
  .membership-process-join--plan #membership-pricing label {
    font-size: 20px; } }

#aact-membership-process-join-membership-form #membership-pricing label.option,
#aact-membership-process-join-membership-form--2 #membership-pricing label.option,
#aact-membership-process-renew-membership-form #membership-pricing label.option,
#aact-membership-process-renew-membership-form--2 #membership-pricing label.option,
.membership-process-join--plan #membership-pricing label.option {
  display: block;
  top: auto;
  left: auto;
  padding: 0; }

#aact-membership-process-join-membership-form #membership-pricing label.option:before,
#aact-membership-process-join-membership-form #membership-pricing label.option:after,
#aact-membership-process-join-membership-form--2 #membership-pricing label.option:before,
#aact-membership-process-join-membership-form--2 #membership-pricing label.option:after,
#aact-membership-process-renew-membership-form #membership-pricing label.option:before,
#aact-membership-process-renew-membership-form #membership-pricing label.option:after,
#aact-membership-process-renew-membership-form--2 #membership-pricing label.option:before,
#aact-membership-process-renew-membership-form--2 #membership-pricing label.option:after,
.membership-process-join--plan #membership-pricing label.option:before,
.membership-process-join--plan #membership-pricing label.option:after {
  top: auto;
  bottom: 75px;
  left: 30px;
  transform: translateX(-50%);
  display: none; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form #membership-pricing label.option:before,
  #aact-membership-process-join-membership-form #membership-pricing label.option:after,
  #aact-membership-process-join-membership-form--2 #membership-pricing label.option:before,
  #aact-membership-process-join-membership-form--2 #membership-pricing label.option:after,
  #aact-membership-process-renew-membership-form #membership-pricing label.option:before,
  #aact-membership-process-renew-membership-form #membership-pricing label.option:after,
  #aact-membership-process-renew-membership-form--2 #membership-pricing label.option:before,
  #aact-membership-process-renew-membership-form--2 #membership-pricing label.option:after,
  .membership-process-join--plan #membership-pricing label.option:before,
  .membership-process-join--plan #membership-pricing label.option:after {
    bottom: 25px;
    left: 50%;
    display: none; } }

#aact-membership-process-join-membership-form #membership-pricing label.option:after,
#aact-membership-process-join-membership-form--2 #membership-pricing label.option:after,
#aact-membership-process-renew-membership-form #membership-pricing label.option:after,
#aact-membership-process-renew-membership-form--2 #membership-pricing label.option:after,
.membership-process-join--plan #membership-pricing label.option:after {
  bottom: 80px; }

@media only screen and (min-width: 768px) {
  #aact-membership-process-join-membership-form #membership-pricing label.option:after,
  #aact-membership-process-join-membership-form--2 #membership-pricing label.option:after,
  #aact-membership-process-renew-membership-form #membership-pricing label.option:after,
  #aact-membership-process-renew-membership-form--2 #membership-pricing label.option:after,
  .membership-process-join--plan #membership-pricing label.option:after {
    bottom: 30px; } }

#aact-membership-process-join-membership-form .form-submit[value="Continue"].hide,
#aact-membership-process-join-membership-form--2 .form-submit[value="Continue"].hide,
#aact-membership-process-renew-membership-form .form-submit[value="Continue"].hide,
#aact-membership-process-renew-membership-form--2 .form-submit[value="Continue"].hide,
.membership-process-join--plan .form-submit[value="Continue"].hide {
  display: none; }

#order-container {
  position: relative; }

#order-container .form-submit {
  position: absolute;
  top: 140px;
  left: 0;
  right: 0;
  width: 80%;
  margin: auto; }

@media only screen and (min-width: 768px) {
  #order-container .form-submit {
    top: 21px;
    right: 20px;
    bottom: auto;
    left: auto;
    width: auto; } }

.form-item-dirty-budget.input-field {
  position: relative;
  padding: 15px 50px 180px;
  text-align: center;
  margin: 35px 0;
  background: #bfbfbf; }

.form-item-dirty-budget.input-field:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

@media only screen and (min-width: 768px) {
  .form-item-dirty-budget.input-field {
    padding: 15px 110px 15px 370px;
    text-align: left; } }

.form-item-dirty-budget.input-field > label {
  position: absolute;
  top: 20px;
  font-size: 18px;
  color: #414141 !important;
  transform: none;
  right: 0;
  left: 0;
  width: 190px;
  margin: auto; }

@media only screen and (min-width: 768px) {
  .form-item-dirty-budget.input-field > label {
    top: 50%;
    right: auto;
    left: 15px;
    width: auto;
    transform: translateY(-50%); } }

.form-item-dirty-budget.input-field input {
  position: absolute;
  right: 0;
  bottom: 70px;
  left: 0;
  width: 80% !important;
  margin: auto;
  border: 1px solid #95c53d !important;
  background: white; }

@media only screen and (min-width: 768px) {
  .form-item-dirty-budget.input-field input {
    position: static;
    width: 270px !important;
    padding-left: 30px !important;
    margin-bottom: 0;
    font-style: italic;
    font-size: 18px; } }

.form-item-dirty-budget.input-field input:focus {
  border: 1px solid #95c53d;
  box-shadow: none; }

#edit-submitted-membership-process-type-civicrm-1-membership-1-membership-num-terms {
  padding: 0; }
  #edit-submitted-membership-process-type-civicrm-1-membership-1-membership-num-terms .membership-length-option-list label {
    height: auto !important; }

.webform-component--civicrm-1-lineitem-2-contribution-line-total.form-item > label,
.webform-component--membership-contribution-amount--civicrm-1-contribution-1-contribution-total-amount.form-item > label,
.webform-component--membership-process-type--civicrm-1-membership-1-membership-membership-type-id.form-item > label,
.webform-component--membership-process-type--additional-details--civicrm-1-contribution-1-contribution-total-amount.form-item > label,
.webform-component--membership-process-type--civicrm-1-membership-1-membership-num-terms.form-item > label,
.webform-component--membership-process-type--additional-details--total-amount-display-only.form-item > label {
  font-size: 18px;
  color: #414141;
  font-family: PT-Sans-Bold, Arial, Helvetica;
  text-transform: uppercase;
  text-align: left; }

.form-item.form-item-membership-length.webform-component.webform-component--membership-process-type--civicrm-1-membership-1-membership-num-terms {
  width: 100%;
  background: #ffffff; }
  .form-item.form-item-membership-length.webform-component.webform-component--membership-process-type--civicrm-1-membership-1-membership-num-terms label.option::before {
    position: absolute;
    left: -9999px;
    opacity: 0; }
  .form-item.form-item-membership-length.webform-component.webform-component--membership-process-type--civicrm-1-membership-1-membership-num-terms label.option::after {
    position: absolute;
    left: -9999px;
    opacity: 0; }
  @media only screen and (min-width: 768px) {
    .form-item.form-item-membership-length.webform-component.webform-component--membership-process-type--civicrm-1-membership-1-membership-num-terms {
      width: 100%; } }

.form-item-membership-length,
.form-item-membership-terms {
  display: block;
  width: 100%;
  margin: 0;
  text-align: center;
  box-sizing: border-box;
  /* background: #f2f2f2; */
  background-clip: content-box; }

.membership-length-option {
  width: 100%; }

.form-item-membership-length:nth-child(n+2) {
  margin-top: 20px; }

@media only screen and (min-width: 600px) {
  .form-item-membership-length:nth-child(n+2) {
    margin-top: 0; } }

div.membership-length-option-list label {
  height: auto !important;
  min-height: 150px; }

.form-item.form-item-membership-length.webform-component--membership-process-type--civicrm-2-membership-1-membership-num-terms,
.membership-length-option-list .form-item.form-item-submitted-membership-process-type-civicrm-1-membership-1-membership-num-terms,
.form-item-submitted-membership-process-type-civicrm-1-membership-1-membership-num-terms,
.form-item-submitted-organization-membership-selection-civicrm-1-membership-1-membership-num-terms {
  display: inline-block;
  width: 100%;
  max-width: 320px;
  background: #fff; }
  @media only screen and (min-width: 600px) {
    .form-item.form-item-membership-length.webform-component--membership-process-type--civicrm-2-membership-1-membership-num-terms,
    .membership-length-option-list .form-item.form-item-submitted-membership-process-type-civicrm-1-membership-1-membership-num-terms,
    .form-item-submitted-membership-process-type-civicrm-1-membership-1-membership-num-terms,
    .form-item-submitted-organization-membership-selection-civicrm-1-membership-1-membership-num-terms {
      width: 28%;
      padding: 0 1.5%; } }

.webform-component--membership-process-type--additional-details--civicrm-1-contribution-1-contribution-total-amount {
  margin-top: 3em; }

.form-item-membership-length .form-type-radio label {
  width: 100%;
  transition: all 0.3s ease; }

.form-item-membership-length .form-type-radio label.is-active {
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.17); }

.form-item-membership-length .price {
  height: 85px;
  padding: 40px 20px 0;
  margin: 0;
  color: white;
  font-family: PT-Sans-Bold, Arial, Helvetica; }

@media only screen and (min-width: 768px) {
  .form-item-membership-length .price {
    height: 145px;
    padding: 60px 20px 0; } }

@media only screen and (min-width: 1024px) {
  .form-item-membership-length .price {
    height: 165px;
    padding: 75px 0 0; } }

.form-item-membership-length .price span {
  display: inline-block;
  height: 100%;
  vertical-align: top;
  line-height: 1em; }

.form-item-membership-length .price span.dollars {
  line-height: 0.5em; }

.form-item-membership-length .one .price {
  background: #f57220; }

.form-item-membership-length .one .length {
  color: #f57220; }

.form-item-membership-length .two .price {
  background: #01b3ef; }

.form-item-membership-length .two .length {
  color: #01b3ef; }

.form-item-membership-length .three .price {
  background: #8178b9; }

.form-item-membership-length .three .length {
  color: #8178b9; }

.form-item-membership-length .dollar-sign,
.form-item-membership-length .cents {
  font-size: 18px; }

@media only screen and (min-width: 768px) {
  .form-item-membership-length .dollar-sign,
  .form-item-membership-length .cents,
  #ct01 {
    font-size: 28px; } }

.form-item-membership-length .dollars,
#dl01 {
  font-size: 48px;
  letter-spacing: -2px; }

@media only screen and (min-width: 768px) {
  .form-item-membership-length .dollars,
  #dl01 {
    font-size: 60px; } }

@media only screen and (min-width: 1024px) {
  .form-item-membership-length .dollars,
  #dl01 {
    font-size: 80px; } }

.form-item-membership-length .length,
#yrln01 {
  padding: 10px 0;
  font-size: 20px;
  text-transform: uppercase; }

@media only screen and (min-width: 768px) {
  .form-item-membership-length .length,
  #yrln01 {
    padding: 20px 0;
    font-size: 30px; } }

.form-item-membership-length .discount-message {
  font-size: 10px;
  transform: translateY(5px);
  text-transform: uppercase; }

@media only screen and (min-width: 768px) {
  .form-item-membership-length .discount-message {
    transform: translateY(0);
    font-size: 18px; } }

.dropdown-content {
  overflow: scroll !important; }

.membership-process-payment {
  position: relative;
  padding-bottom: 220px; }

@media only screen and (min-width: 768px) {
  .membership-process-payment {
    padding-bottom: 170px; } }

.membership-process-payment .form-type-radio {
  margin: 0; }

.membership-process-payment .form-type-radio:first-child {
  position: relative; }

.membership-process-payment .form-type-radio:first-child:after {
  display: none;
  position: absolute;
  top: 21px;
  left: 200px;
  width: 175px;
  height: 27px;
  background-image: url("../images/cards-outline.png");
  background-repeat: no-repeat;
  background-size: contain;
  content: ""; }

@media only screen and (min-width: 480px) {
  .membership-process-payment .form-type-radio:first-child:after {
    display: block; } }

.membership-process-payment .form-type-radio:last-child {
  position: absolute;
  bottom: 100px;
  width: 100%; }

@media only screen and (min-width: 768px) {
  .membership-process-payment .form-type-radio:last-child {
    bottom: 100px; } }

.membership-process-payment label.option {
  top: auto;
  height: auto;
  padding: 22px 22px 22px 80px;
  background: #bfbfbf;
  color: #414141;
  font-size: 20px;
  width: 100%; }

.membership-process-payment label.option:before, .membership-process-payment label.option:after {
  top: 33%;
  left: 30px; }

.membership-process-payment #credit-card:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

.membership-process-payment .form-item-credit-card-owner,
.membership-process-payment .form-item-credit-card-number {
  float: left;
  width: 100%;
  padding-right: 20px;
  margin-top: 50px; }

@media only screen and (min-width: 768px) {
  .membership-process-payment .form-item-credit-card-owner,
  .membership-process-payment .form-item-credit-card-number {
    width: 50%; } }

.membership-process-payment .form-item-credit-card-code,
.membership-process-payment .form-item-credit-card-zipcode {
  float: left;
  width: 50%;
  padding-right: 20px; }

@media only screen and (min-width: 768px) {
  .membership-process-payment .form-item-credit-card-code,
  .membership-process-payment .form-item-credit-card-zipcode {
    width: 25%; } }

.membership-process-payment .commerce-credit-card-expiration,
.membership-process-payment .form-item-credit-card-code {
  margin-bottom: 20px; }

.membership-process-payment .commerce-credit-card-expiration {
  float: left;
  width: 100%; }

@media only screen and (min-width: 768px) {
  .membership-process-payment .commerce-credit-card-expiration {
    width: 50%;
    padding-right: 20px; } }

.membership-process-payment .form-item-credit-card-exp-month,
.membership-process-payment .form-item-credit-card-exp-year {
  display: block;
  float: left;
  width: 50%;
  padding-right: 20px; }

.membership-process-payment .form-actions {
  position: absolute;
  bottom: 30px;
  width: 100%; }

.membership-process-payment .required-message {
  position: absolute;
  bottom: 0; }

#aact-membership-process-renew-select-form .form-radios,
#aact-membership-process-renew-ascap-form .form-radios {
  padding-top: 50px; }

#aact-membership-process-renew-select-form .form-radios label,
#aact-membership-process-renew-ascap-form .form-radios label {
  top: 0; }

.page-membership-thank-you .block-main .content {
  text-align: center; }

.page-membership-thank-you .block-main h2 {
  font-size: 30px;
  font-family: PT-Sans-Bold, Arial, Helvetica; }

.page-membership-thank-you .block-main p {
  font-size: 18px;
  line-height: 1.6em; }

.page-membership-thank-you .block-main a.btn {
  padding: 0 2rem;
  box-sizing: border-box; }

@media only screen and (min-width: 480px) {
  .page-membership-thank-you .block-main a.btn {
    font-size: 23px; } }

@media only screen and (min-width: 768px) {
  .membership-join--half-width-fields .fieldset-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .membership-join--half-width-fields .form-item {
    -ms-flex: 1 0 48%;
        flex: 1 0 48%; }
  .membership-join--half-width-fields .form-item:nth-child(odd):not(:last-child) {
    margin-right: 4%; }
  .membership-join--half-width-fields .form-item:last-child {
    max-width: 48%; }
  .membership-join--half-width-fields .form-item input {
    box-sizing: border-box; } }

.membership-process-join--swap-email-phone .form-item-mail {
  -ms-flex-order: 1;
      order: 1; }

@media only screen and (min-width: 768px) {
  .membership-process-join--swap-email-phone .form-item-mail {
    max-width: 48%; }
  .membership-process-join--swap-email-phone .form-item:last-child {
    max-width: initial; }
  .membership-process-join--swap-email-phone .form-item-phone {
    margin-right: 4%; } }

.membership-process-join--swap-email-title .form-item-mail,
.membership-process-join--swap-email-title .form-item-job-title {
  -ms-flex-order: 1;
      order: 1; }

@media only screen and (min-width: 768px) {
  .membership-process-join--swap-email-title .form-item-mail {
    max-width: 48%; }
  .membership-process-join--swap-email-title .form-item:last-child {
    max-width: initial;
    color: black; }
  .membership-process-join--swap-email-title .form-item-phone {
    margin-right: 4%; }
  .membership-process-join--swap-email-title .form-item.input-field.form-item-phone-secondary {
    margin-right: 0; } }

.membership-process-join input {
  box-sizing: border-box; }

.membership-process-join .form-item-theatre-focus-areas {
  margin-top: 25px; }

.membership-process-join .form-item-theatre-focus-areas label {
  text-transform: capitalize; }

.webform-component--membership-duration {
  display: none; }

/** Zone layout **/
.zone-branding .branding-data {
  width: 100%;
  display: block;
  text-align: center; }

.zone-branding .block {
  width: 100%;
  float: none;
  display: block; }

.zone-branding .logo-img {
  float: none;
  width: auto;
  margin: 0 auto;
  display: inline-block; }

.page-user-orders .action-links {
  position: absolute;
  z-index: 1; }

.zone-postscript-wrapper {
  text-align: center; }

/** Block layout **/
.header-quick-buttons {
  width: 100%;
  float: none;
  text-align: center;
  display: inline-block; }
  .header-quick-buttons .user-signed-on {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-bottom: 0px; }
    .header-quick-buttons .user-signed-on a {
      float: right; }
  .header-quick-buttons a {
    display: block;
    width: 100%; }
  .header-quick-buttons .open-sign-in-btn,
  .header-quick-buttons .open-sign-out-btn,
  .header-quick-buttons .open-search-btn {
    margin-right: 0;
    margin-bottom: 0px; }

form#user-login label {
  color: #95c53d; }

form#user-login li {
  margin: 0; }

.block-user-login,
.block-search-form {
  right: 0;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  top: 48px; }

.block-search-form {
  width: 90%; }
  .block-search-form .a-z-index-link {
    display: block; }
  .logged-in .block-search-form {
    top: 48px; }
  .block-search-form .views-widget-filter-search_api_views_fulltext {
    display: block;
    float: none;
    width: 100%;
    margin-bottom: 10px;
    padding: 0; }
  .block-search-form input[type='text'] {
    width: 100%; }
  .block-search-form label {
    display: none; }
  .block-search-form .views-submit-button {
    padding: 0;
    width: 100%;
    display: block;
    float: none; }
  .block-search-form #edit-submit-search-keyword {
    margin: 0; }
  .block-search-form .views-exposed-form .views-exposed-widget .form-submit {
    width: 100%;
    display: block;
    float: none; }

.content-exposed-form .views-submit-button {
  padding: 0; }

.content-exposed-form #edit-submit-search-keyword {
  margin: 0; }

.content-exposed-form .a-z-index-link {
  display: none; }

.block-sitewide-main-menu {
  margin-top: 0;
  margin-bottom: 32px; }
  .block-sitewide-main-menu .dropdown-menu-link a {
    padding: 10px 0; }
  .block-sitewide-main-menu ul.menu li {
    width: 100%;
    float: none;
    margin: 0;
    overflow: hidden;
    border-bottom: 1px dashed #F6F6F6; }
    .block-sitewide-main-menu ul.menu li a.main-menu-top-link {
      display: block;
      width: 100%;
      padding-right: 0; }
    .block-sitewide-main-menu ul.menu li ul.menu li {
      width: 98.5%; }
    .block-sitewide-main-menu ul.menu li ul.menu li a {
      width: 100%;
      padding: 0; }
    .block-sitewide-main-menu ul.menu li ul.menu li .dropdown-link-container {
      margin-top: 30px;
      margin-left: 8px;
      box-shadow: none;
      border: none; }
    .block-sitewide-main-menu ul.menu li ul.menu li .dropdown-menu-link a {
      padding: 10px 0; }
  .block-sitewide-main-menu .dropdown-link-container {
    display: none;
    position: relative;
    width: 100%;
    margin-left: 8px;
    box-shadow: none;
    border: none;
    margin-top: 30px; }

.member-only-link {
  position: relative; }
  .member-only-link:before {
    position: absolute;
    left: 10px;
    content: "*"; }

.member-only-legend {
  line-height: 1.2em;
  font-style: italic;
  font-size: 0.8em; }

.member-only-access:after {
  content: "*"; }

.front-intro-content p {
  float: none;
  text-align: center; }
  .front-intro-content p:first-child {
    width: 100%;
    text-align: left; }

.front-intro-content a.btn {
  margin-left: 0; }

#block-views-slideshow-block {
  display: none; }

.block-front-sponsor .sponsor-list-container {
  padding: 15px 0; }
  .block-front-sponsor .sponsor-list-container ul li {
    display: inline-block;
    margin: 10px 20px; }

.block-front-sponsor .sponsor-links ul li {
  float: none; }

.block-content-bottom-menu ul.menu li {
  width: 100%;
  margin: 0;
  display: block; }
  .block-content-bottom-menu ul.menu li .bottom-link .sub-menu {
    display: block;
    float: none;
    width: auto;
    clear: left;
    padding-right: 0; }
  .block-content-bottom-menu ul.menu li .bottom-link .read-more {
    display: block;
    float: none;
    width: auto; }
  .block-content-bottom-menu ul.menu li .bottom-link .read-more a,
  .block-content-bottom-menu ul.menu li .bottom-link .sub-menu a {
    display: block; }
  .block-content-bottom-menu ul.menu li .bottom-link .sub-menu a {
    padding: 0; }
  .block-content-bottom-menu ul.menu li ul.menu li.column-expanded {
    background: white url(../images/menu-border-bg.png) repeat-y;
    background-position: center;
    width: auto; }
  .block-content-bottom-menu ul.menu li ul.menu li.right-column, .block-content-bottom-menu ul.menu li ul.menu li.left-column {
    float: none;
    margin-left: 0; }

/** Panels Layout **/
.panels-flexible-region-3_columns-mid_content_1,
.panels-flexible-region-3_columns-mid_content_2,
.panels-flexible-region-3_columns-mid_content_3,
.panels-flexible-region-2_3_4_columns-center,
.panels-flexible-region-2_3_4_columns-image_content,
.panels-flexible-region-2_3_4_columns-mid_content_1,
.panels-flexible-region-2_3_4_columns-mid_content_2,
.panels-flexible-region-2_3_4_columns-mid_content_3,
.panels-flexible-region-2_3_4_columns-bottom_content_1,
.panels-flexible-region-2_3_4_columns-bottom_content_2,
.panels-flexible-region-2_3_4_columns-bottom_content_3,
.panels-flexible-region-2_3_4_columns-bottom_content_4,
.panels-flexible-region-2_columns-center,
.panels-flexible-region-2_columns-right_content {
  width: 100%;
  display: block;
  float: none; }

.panels-flexible-region-2_columns .panels-flexible-region-inside,
.panels-flexible-3_columns .panels-flexible-region-inside,
.panels-flexible-2_3_4_columns .panels-flexible-region-inside {
  padding: 0; }

.left {
  float: left; }

.right {
  float: right; }

#editrow-first_name {
  margin-top: 0px; }

iframe {
  width: 100%; }

.view-file-resources-node-form:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden; }

.view-file-resources-node-form .view-content {
  float: left;
  width: 60%;
  padding-right: 5%; }

.view-file-resources-node-form .node-form {
  float: left;
  width: 35%; }

.view-file-resources-node-form input[type="text"] {
  width: 100%; }

.view-file-resources-node-form .vertical-tabs {
  display: none; }

.pager li.pager-first a, .pager li.pager-previous a, .pager li.pager-next a, .pager li.pager-last a {
  width: auto;
  padding: 4px 8px; }

.pager li.pager-last, .pager li.pager-next.last {
  position: static; }

.pager li.pager-next {
  position: static; }

html.mm-background .mm-page.mm-slideout {
  background-color: white; }

.awebstore-anchor {
  display: none; }

#block-menu-block-26 {
  display: none; }

.form-message {
  font-style: italic;
  color: gray; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb2JhbC5zY3NzIiwicGFydGlhbHMvY29uZmlnL192YXJpYWJsZXMuc2NzcyIsInBhcnRpYWxzL2Rlc2lnbi9fZGVzaWduLnNjc3MiLCJwYXJ0aWFscy9kZXNpZ24vX25vcm1hbGl6ZS5zY3NzIiwicGFydGlhbHMvZGVzaWduL196b25lcy5zY3NzIiwicGFydGlhbHMvZGVzaWduL19yZWdpb25zLnNjc3MiLCJwYXJ0aWFscy9kZXNpZ24vX2Jsb2Nrcy5zY3NzIiwicGFydGlhbHMvZGVzaWduL19zZWN0aW9ucy5zY3NzIiwicGFydGlhbHMvY29uZmlnL19tZWRpYV9xdWVyaWVzLnNjc3MiLCJwYXJ0aWFscy9kZXNpZ24vX2hlYWRlci1xdWljay1idXR0b25zLnNjc3MiLCJwYXJ0aWFscy9kZXNpZ24vX2Jsb2NrLXVzZXItbG9naW4uc2NzcyIsInBhcnRpYWxzL2Rlc2lnbi9fYmxvY2stdmlld3Mtc2xpZGVzaG93LWJsb2NrLnNjc3MiLCJwYXJ0aWFscy9jb25maWcvX21peGlucy5zY3NzIiwicGFydGlhbHMvZGVzaWduL19mcm9udC1pbnRyby1jb250ZW50LnNjc3MiLCJwYXJ0aWFscy9kZXNpZ24vX2Jsb2NrLWZyb250LXNwb25zb3Iuc2NzcyIsInBhcnRpYWxzL2Rlc2lnbi9fYmxvY2stc29jaWFsLWljb25zLnNjc3MiLCJwYXJ0aWFscy9kZXNpZ24vX2Jsb2NrLWZvb3Rlci1saW5rLnNjc3MiLCJwYXJ0aWFscy9kZXNpZ24vX2Jsb2NrLW5pY2UtbWVudXMuc2NzcyIsInBhcnRpYWxzL2Rlc2lnbi9fbm9kZS10eXBlLXBhZ2Uuc2NzcyIsInBhcnRpYWxzL2Rlc2lnbi9fYmxvY2stY29udGVudC1ib3R0b20tbWVudS5zY3NzIiwicGFydGlhbHMvZGVzaWduL19ibG9jay1zaXRld2lkZS1tYWluLW1lbnUuc2NzcyIsInBhcnRpYWxzL2Rlc2lnbi9fYmxvY2stc2VhcmNoLWZvcm0uc2NzcyIsInBhcnRpYWxzL2Rlc2lnbi9fcGFnZS1wcm9maWxlLnNjc3MiLCJwYXJ0aWFscy9kZXNpZ24vX3BhZ2UtZG9uYXRlLnNjc3MiLCJwYXJ0aWFscy9kZXNpZ24vX3BhZ2Utc3RvcmUuc2NzcyIsInBhcnRpYWxzL2Rlc2lnbi9fcGFnZS1zZWFyY2guc2NzcyIsInBhcnRpYWxzL2Rlc2lnbi9fYmxvY2stdXNlci1tZW51LnNjc3MiLCJwYXJ0aWFscy9kZXNpZ24vX2Jsb2NrLWF1dGhvcml6ZS1sb2dvLnNjc3MiLCJwYXJ0aWFscy9kZXNpZ24vX3VzZXItcHJvZmlsZS5zY3NzIiwicGFydGlhbHMvZGVzaWduL19hdXRob3JpemVkLWVkaXRvcnMuc2NzcyIsInBhcnRpYWxzL2Rlc2lnbi9fY2FydC5zY3NzIiwicGFydGlhbHMvbWVtYmVyc2hpcC9fbWVtYmVyc2hpcC5zY3NzIiwicGFydGlhbHMvbWVtYmVyc2hpcC9fY29uZmlnLnNjc3MiLCJwYXJ0aWFscy9tZW1iZXJzaGlwL19tZWRpYV9xdWVyaWVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUZBQXVGO0FBQ3ZGLHlLQUF5SztBQ3dCeks7RUFDRSw4QkFBOEI7RUFDOUIsd0NBQVE7RUFDUixzUEFHNEQ7RUFDNUQsb0JBQW9CO0VBQ3BCLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLDJCQUEyQjtFQUMzQixxQ0FBUTtFQUNSLHVPQUdzRDtFQUN0RCxvQkFBb0I7RUFDcEIsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsK0JBQStCO0VBQy9CLHdDQUFRO0VBQ1Isc1BBRzREO0VBQzVELG9CQUFvQjtFQUNwQixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSw0QkFBNEI7RUFDNUIscUNBQVE7RUFDUix1T0FHc0Q7RUFDdEQsb0JBQW9CO0VBQ3BCLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLHdCQUF3QjtFQUN4QixrQ0FBUTtFQUNSLHlOQUdpRDtFQUNqRCxvQkFBb0I7RUFDcEIsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsaUNBQWlDO0VBQ2pDLDJDQUFRO0VBQ1IscVFBR2tFO0VBQ2xFLG9CQUFvQjtFQUNwQixt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LG1CQUFtQixFQUNwQjs7QS9CeVFIO0VBR0ksWUFBWTtFQUNaLFdBQVc7RUFDWCxrQkFBa0IsRUFDbkI7O0FBTkg7RUFRSSxZQUFZO0VBQ1osV0FBVyxFQUNaOztBQVZIO0VBWUksWUFBWSxFQUNiOztBQWJIO0VBZUksY0FBYyxFQUNmOztBQUdIO0VBQ0UsWUFBWTtFQUNaLGlCQUFpQixFQUVsQjs7QUFFRDtFQUNFLGlCQUFnQixFQUNqQjs7QUFFRDtFQUNFLGlCQUFnQixFQUNqQjs7QUFFRDtFQUNFLHdCQUF1QixFQUN4Qjs7QUFFRDtFQUNFLGNBQWEsRUFDZDs7QUFFRDtFQUNFLGNBQWMsRUFDZjs7QUFFRDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZLEVBQ2IiLCJmaWxlIjoiZ2xvYmFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFRoaXMgZmlsZSB3aWxsIGhvbGQgc3R5bGVzIGZvciB0aGUgbW9iaWxlIHZlcnNpb24gb2YgeW91ciB3ZWJzaXRlIChtb2JpbGUgZmlyc3QpLiAqL1xuLyogVGhpcyBhbHNvIGNhbiBpbmNsdWRlIEFOWSBnbG9iYWwgQ1NTIHRoYXQgYXBwbGllcyBzaXRlLXdpZGUuIFVubGVzcyBvdmVyd3JpdHRlbiBieSBhIG1vcmUgc3BlY2lmaWMgc3R5bGUgcnVsZSwgQ1NTIGRlY2xhcmF0aW9ucyBpbiBnbG9iYWwuY3NzIHdpbGwgYXBwbHkgc2l0ZS13aWRlLiAqL1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBEZXNpZ24gU3R5bGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAncGFydGlhbHMvZGVzaWduL2Rlc2lnbic7XG5AaW1wb3J0ICdwYXJ0aWFscy9tZW1iZXJzaGlwL21lbWJlcnNoaXAnO1xuXG4vKiogWm9uZSBsYXlvdXQgKiovXG4uem9uZS1icmFuZGluZyB7XG4gIC5icmFuZGluZy1kYXRhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAubG9nby1pbWcge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4ucGFnZS11c2VyLW9yZGVycyAuYWN0aW9uLWxpbmtzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xufVxuXG4uem9uZS1wb3N0c2NyaXB0LXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qKiBCbG9jayBsYXlvdXQgKiovXG4uaGVhZGVyLXF1aWNrLWJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAudXNlci1zaWduZWQtb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgYSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5vcGVuLXNpZ24taW4tYnRuLFxuICAub3Blbi1zaWduLW91dC1idG4sXG4gIC5vcGVuLXNlYXJjaC1idG4gIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICB9XG59XG5cbmZvcm0jdXNlci1sb2dpbiB7XG4gIGxhYmVsIHtcbiAgICBjb2xvcjogJGdyZWVuO1xuICB9XG4gIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLmJsb2NrLXVzZXItbG9naW4sXG4uYmxvY2stc2VhcmNoLWZvcm0ge1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgbWFyZ2luLXJpZ2h0OmF1dG87XG4gIHRvcDogNDhweDtcbn1cbi5ibG9jay1zZWFyY2gtZm9ybSAge1xuICB3aWR0aDogOTAlO1xuICAuYS16LWluZGV4LWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5sb2dnZWQtaW4gJiB7XG4gICAgdG9wOiA0OHB4O1xuICB9XG4gIC52aWV3cy13aWRnZXQtZmlsdGVyLXNlYXJjaF9hcGlfdmlld3NfZnVsbHRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC52aWV3cy1zdWJtaXQtYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gICNlZGl0LXN1Ym1pdC1zZWFyY2gta2V5d29yZCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC52aWV3cy1leHBvc2VkLWZvcm0gLnZpZXdzLWV4cG9zZWQtd2lkZ2V0IC5mb3JtLXN1Ym1pdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cbi5jb250ZW50LWV4cG9zZWQtZm9ybSB7XG4gIC52aWV3cy1zdWJtaXQtYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICNlZGl0LXN1Ym1pdC1zZWFyY2gta2V5d29yZCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5hLXotaW5kZXgtbGluayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmJsb2NrLXNpdGV3aWRlLW1haW4tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIC5kcm9wZG93bi1tZW51LWxpbmsgYSB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICB9XG4gIHVsLm1lbnUgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJHdoaXRlLTI7XG4gICAgYS5tYWluLW1lbnUtdG9wLWxpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIHVsLm1lbnUgbGkge1xuICAgICAgd2lkdGg6IDk4LjUlO1xuICAgIH1cbiAgICB1bC5tZW51IGxpICBhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgdWwubWVudSBsaSAuZHJvcGRvd24tbGluay1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIHVsLm1lbnUgbGkgLmRyb3Bkb3duLW1lbnUtbGluayBhIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB9XG4gIH1cbiAgLmRyb3Bkb3duLWxpbmstY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbn1cblxuLm1lbWJlci1vbmx5LWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTBweDtcbiAgICBjb250ZW50OiBcIipcIjtcbiAgfVxufVxuXG4ubWVtYmVyLW9ubHktbGVnZW5kIHtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi5tZW1iZXItb25seS1hY2Nlc3Mge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIipcIjtcbiAgfVxufVxuXG4uZnJvbnQtaW50cm8tY29udGVudCB7XG4gIHAge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbiAgYS5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4jYmxvY2stdmlld3Mtc2xpZGVzaG93LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ibG9jay1mcm9udC1zcG9uc29yIHtcbiAgLnNwb25zb3ItbGlzdC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDEwcHggMjBweDtcbiAgICB9XG4gIH1cbiAgLnNwb25zb3ItbGlua3MgdWwgbGkge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG4uYmxvY2stY29udGVudC1ib3R0b20tbWVudSB7XG4gIHVsLm1lbnUge1xuICAgIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAuYm90dG9tLWxpbmsgLnN1Yi1tZW51IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBcbiAgICAgIH1cbiAgICAgIC5ib3R0b20tbGluayAucmVhZC1tb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICAgIC5ib3R0b20tbGluayAucmVhZC1tb3JlIGEsXG4gICAgICAuYm90dG9tLWxpbmsgLnN1Yi1tZW51IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIC5ib3R0b20tbGluayAuc3ViLW1lbnUgYSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgICB1bC5tZW51IGxpIHtcbiAgICAgICAgJi5jb2x1bW4tZXhwYW5kZWQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSB1cmwoLi4vaW1hZ2VzL21lbnUtYm9yZGVyLWJnLnBuZykgcmVwZWF0LXk7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgICYucmlnaHQtY29sdW1uLFxuICAgICAgICAmLmxlZnQtY29sdW1uIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiogUGFuZWxzIExheW91dCAqKi9cbi5wYW5lbHMtZmxleGlibGUtcmVnaW9uLTNfY29sdW1ucy1taWRfY29udGVudF8xLFxuLnBhbmVscy1mbGV4aWJsZS1yZWdpb24tM19jb2x1bW5zLW1pZF9jb250ZW50XzIsXG4ucGFuZWxzLWZsZXhpYmxlLXJlZ2lvbi0zX2NvbHVtbnMtbWlkX2NvbnRlbnRfMyxcbi5wYW5lbHMtZmxleGlibGUtcmVnaW9uLTJfM180X2NvbHVtbnMtY2VudGVyLFxuLnBhbmVscy1mbGV4aWJsZS1yZWdpb24tMl8zXzRfY29sdW1ucy1pbWFnZV9jb250ZW50LFxuLnBhbmVscy1mbGV4aWJsZS1yZWdpb24tMl8zXzRfY29sdW1ucy1taWRfY29udGVudF8xLFxuLnBhbmVscy1mbGV4aWJsZS1yZWdpb24tMl8zXzRfY29sdW1ucy1taWRfY29udGVudF8yLFxuLnBhbmVscy1mbGV4aWJsZS1yZWdpb24tMl8zXzRfY29sdW1ucy1taWRfY29udGVudF8zLFxuLnBhbmVscy1mbGV4aWJsZS1yZWdpb24tMl8zXzRfY29sdW1ucy1ib3R0b21fY29udGVudF8xLFxuLnBhbmVscy1mbGV4aWJsZS1yZWdpb24tMl8zXzRfY29sdW1ucy1ib3R0b21fY29udGVudF8yLFxuLnBhbmVscy1mbGV4aWJsZS1yZWdpb24tMl8zXzRfY29sdW1ucy1ib3R0b21fY29udGVudF8zLFxuLnBhbmVscy1mbGV4aWJsZS1yZWdpb24tMl8zXzRfY29sdW1ucy1ib3R0b21fY29udGVudF80LFxuLnBhbmVscy1mbGV4aWJsZS1yZWdpb24tMl9jb2x1bW5zLWNlbnRlcixcbi5wYW5lbHMtZmxleGlibGUtcmVnaW9uLTJfY29sdW1ucy1yaWdodF9jb250ZW50ICB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG59XG4ucGFuZWxzLWZsZXhpYmxlLXJlZ2lvbi0yX2NvbHVtbnMgLnBhbmVscy1mbGV4aWJsZS1yZWdpb24taW5zaWRlLFxuLnBhbmVscy1mbGV4aWJsZS0zX2NvbHVtbnMgLnBhbmVscy1mbGV4aWJsZS1yZWdpb24taW5zaWRlLFxuLnBhbmVscy1mbGV4aWJsZS0yXzNfNF9jb2x1bW5zIC5wYW5lbHMtZmxleGlibGUtcmVnaW9uLWluc2lkZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ucmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi8vb25lIG9mZnNcbiNlZGl0cm93LWZpcnN0X25hbWUge1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG5cbmlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udmlldy1maWxlLXJlc291cmNlcy1ub2RlLWZvcm0ge1xuICBAaW5jbHVkZSBsZWdhY3ktcGllLWNsZWFyZml4O1xuICAudmlldy1jb250ZW50IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNjAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xuICB9XG4gIC5ub2RlLWZvcm0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzNSU7XG4gIH1cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC52ZXJ0aWNhbC10YWJzIHtcbiAgICBkaXNwbGF5OiBub25lOyAvLyBjYW5ub3QgYmUgdW5zZXQgaW4gbW9kdWxlIGJlY2F1c2Ugbm9kZSB3b24ndCBiZSBwdWJsaXNoZWRcbiAgfVxufVxuXG4ucGFnZXIgbGkucGFnZXItZmlyc3QgYSwgLnBhZ2VyIGxpLnBhZ2VyLXByZXZpb3VzIGEsIC5wYWdlciBsaS5wYWdlci1uZXh0IGEsIC5wYWdlciBsaS5wYWdlci1sYXN0IGEge1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogNHB4IDhweDtcblxufVxuXG4ucGFnZXIgbGkucGFnZXItbGFzdCwgLnBhZ2VyIGxpLnBhZ2VyLW5leHQubGFzdCB7XG4gIHBvc2l0aW9uOnN0YXRpYztcbn1cblxuLnBhZ2VyIGxpLnBhZ2VyLW5leHQge1xuICBwb3NpdGlvbjpzdGF0aWM7XG59XG5cbmh0bWwubW0tYmFja2dyb3VuZCAubW0tcGFnZS5tbS1zbGlkZW91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG59XG5cbi5hd2Vic3RvcmUtYW5jaG9yIHtcbiAgZGlzcGxheTpub25lO1xufVxuXG4jYmxvY2stbWVudS1ibG9jay0yNiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb3JtLW1lc3NhZ2Uge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiBncmF5O1xufVxuIiwiLy9cbi8vIFZhcmlhYmxlcyBQYXJ0aWFsc1xuLy9cblxuLy8gQ29sb3JzXG5cbiR3aGl0ZTogICAgICAgICAgI0ZGRkZGRjtcbiR3aGl0ZS0yOiAgICAgICAgI0Y2RjZGNjtcbi8vJGdyZWVuOiAgICAgICAgICAjOTVDNTNEO1xuJGRhcmstZ3JleTogICAgICAjNDE0MTQxO1xuJGRhcmstZ3JleS0yOiAgICAjNTE1MTUxO1xuJGZvbnQtYmxhY2stMTogICAjM0EzQTNBO1xuJGxpZ2h0LWdyZXktMTogICAjQTZBNkE2O1xuJGxpZ2h0LWdyZXktMjogICAjODE4MTgxO1xuJGxpZ2h0LWdyZXktMzogICAjQUFBQUFBO1xuJGRhcmstZ3JlZW46ICAgICAjODBBRTM0O1xuJG9sZC1ncmVlbjogIzk1YzUzZDtcbiRncmVlbjogIzMzOTkwMDtcbiRob3Zlci1ncmVlbjogIzMzY2MwMDtcbiRyZWQ6ICNGNDQzMzY7XG5cbiRiYXNlLWZvbnQtc2l6ZTogMTMuNXB4O1xuXG4vLyBGb250c1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCaXR0ZXItUmVndWxhcic7XG4gIHNyYzogdXJsKCcuLi9mb250cy9CaXR0ZXItUmVndWxhci5lb3QnKTtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0JpdHRlci1SZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9CaXR0ZXItUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9CaXR0ZXItUmVndWxhci50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udHMvQml0dGVyLVJlZ3VsYXIuc3ZnI2JpdHRlclJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0JpdHRlci1Cb2xkJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0JpdHRlci1Cb2xkLmVvdCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvQml0dGVyLUJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL0JpdHRlci1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvQml0dGVyLUJvbGQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL0JpdHRlci1Cb2xkLnN2ZyNiaXR0ZXJCb2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQVC1TYW5zLVJlZ3VsYXInO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUFRTYW5zLVJlZ3VsYXIuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9QVFNhbnMtUmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udHMvUFRTYW5zLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnLi4vZm9udHMvUFRTYW5zLVJlZ3VsYXIudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL1BUU2Fucy1SZWd1bGFyLnN2ZyNwdFNhbnNSZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQVC1TYW5zLUJvbGQnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUFRTYW5zLUJvbGQuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9QVFNhbnMtQm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udHMvUFRTYW5zLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnLi4vZm9udHMvUFRTYW5zLUJvbGQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL1BUU2Fucy1Cb2xkLnN2ZyNwdFNhbnNCb2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuc2Fucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9PcGVuU2Fucy5lb3QnKTtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL09wZW5TYW5zLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9PcGVuU2Fucy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9PcGVuU2Fucy50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udHMvT3BlblNhbnMuc3ZnI09wZW5TYW5zJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuc2Fucy1TZW1pYm9sZCc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9PcGVuU2Fucy1TZW1pYm9sZC5lb3QnKTtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL09wZW5TYW5zLVNlbWlib2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9PcGVuU2Fucy1TZW1pYm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9PcGVuU2Fucy1TZW1pYm9sZC50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udHMvT3BlblNhbnMtU2VtaWJvbGQuc3ZnI09wZW5TYW5zU2VtaWJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbiRhcmlhbDogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiRiaXR0ZXItcmVndWxhcjogQml0dGVyLVJlZ3VsYXIsIFRpbWVzIE5ldyBSb21hbjtcbiRiaXR0ZXItYm9sZDogQml0dGVyLUJvbGQsIFRpbWVzIE5ldyBSb21hbjtcbiRwdC1zYW5zLXJlZ3VsYXI6IFBULVNhbnMtUmVndWxhciwgQXJpYWwsIEhlbHZldGljYTtcbiRwdC1zYW5zLWJvbGQ6IFBULVNhbnMtQm9sZCwgQXJpYWwsIEhlbHZldGljYTtcbiRvcGVuc2FuczogT3BlbnNhbnMsIEFyaWFsLCBIZWx2ZXRpY2E7XG4kb3BlbnNhbnMtc2VtaWJvbGQ6IE9wZW5zYW5zLVNlbWlib2xkLCBBcmlhbCwgSGVsdmV0aWNhO1xuJGdlb3JnaWE6IGdlb3JnaWEsIFRpbWVzIE5ldyBSb21hbjtcbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy9jb25maWcnO1xuQGltcG9ydCAnLi4vY29uZmlnL21lZGlhX3F1ZXJpZXMnO1xuXG4vKipcbiAqIERlc2lnbiBwYXJ0aWFsczogQSBwbGFjZSB0byBwdXQgeW91ciBzcGVjaWZpYyBkZXNpZ24gcGFydGlhbHMuXG4gKi9cblxuQGltcG9ydCAnbm9ybWFsaXplJzsgICAgICAgICAgICAgICAgICAgIC8vIE5vcm1hbGl6ZSBzdHlsZXNcbkBpbXBvcnQgJ3pvbmVzJzsgICAgICAgICAgICAgICAgICAgICAgICAvLyBab25lIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ3JlZ2lvbnMnOyAgICAgICAgICAgICAgICAgICAgICAvLyBSZWdpb24gY29udGFpbmVyc1xuQGltcG9ydCAnYmxvY2tzJzsgICAgICAgICAgICAgICAgICAgICAgIC8vIEJsb2NrcyBzdHlsaW5nXG5AaW1wb3J0ICdzZWN0aW9ucyc7ICAgICAgICAgICAgICAgICAgICAgLy8gU2VjdGlvbiBzdHlsaW5nXG5cbi8vIEN1c3RvbSBTdHlsZXNcblxuQGltcG9ydCAnaGVhZGVyLXF1aWNrLWJ1dHRvbnMnOyAgICAgICAgIC8vIFN0eWxlIGZvciBoZWFkZXItcXVpY2stYnV0dG9uc1xuQGltcG9ydCAnYmxvY2stdXNlci1sb2dpbic7ICAgICAgICAgICAgIC8vIFN0eWxlIGZvciB1c2VyIGxvZ2luIGJsb2NrXG5AaW1wb3J0ICdibG9jay12aWV3cy1zbGlkZXNob3ctYmxvY2snOyAgLy8gU3R5bGUgZm9yIHNsaWRlc2hvdyBibG9ja1xuQGltcG9ydCAnZnJvbnQtaW50cm8tY29udGVudCc7ICAgICAgICAgIC8vIFN0eWxlIGZvciBmcm9udCBpbnRybyBjb250ZW50IGJsb2NrXG5AaW1wb3J0ICdibG9jay1mcm9udC1zcG9uc29yJzsgICAgICAgICAgLy8gU3R5bGUgZm9yIGZyb250IHNwb25zb3IgYmxvY2tcbkBpbXBvcnQgJ2Jsb2NrLXNvY2lhbC1pY29ucyc7ICAgICAgICAgICAvLyBTdHlsZSBmb3Igc29jaWFsIGljb24gYmxvY2tcbkBpbXBvcnQgJ2Jsb2NrLWZvb3Rlci1saW5rJzsgICAgICAgICAgICAvLyBTdHlsZSBmb3IgZm9vdGVyIGxpbmtzIGJsb2NrXG5AaW1wb3J0ICdibG9jay1uaWNlLW1lbnVzJzsgICAgICAgICAgICAgLy8gU3R5bGUgZm9yIG1lbnUgYmxvY2tcbkBpbXBvcnQgJ25vZGUtdHlwZS1wYWdlJzsgICAgICAgICAgICAgICAvLyBTdHlsZSBmb3Igbm9kZSB0eXBlIHBhZ2VcbkBpbXBvcnQgJ2Jsb2NrLWNvbnRlbnQtYm90dG9tLW1lbnUnOyAgICAvLyBTdHlsZSBmb3IgY29udGVudCBib3R0b20gbWVudVxuQGltcG9ydCAnYmxvY2stc2l0ZXdpZGUtbWFpbi1tZW51JzsgICAgIC8vIFN0eWxlIGZvciBtYWluIG1lbnVcbkBpbXBvcnQgJ2Jsb2NrLXNlYXJjaC1mb3JtJzsgICAgICAgICAgICAvLyBTdHlsZSBmb3IgYmxvY2sgc2VhcmNoIGZvcm1cbkBpbXBvcnQgJ3BhZ2UtcHJvZmlsZSc7ICAgICAgICAgICAgICAgICAvLyBTdHlsZSBmb3IgcHJvZmlsZSBwYWdlXG5AaW1wb3J0ICdwYWdlLWRvbmF0ZSc7ICAgICAgICAgICAgICAgICAgLy8gU3R5bGUgZm9yIGRvbmF0aW9ucyBwYWdlc1xuQGltcG9ydCAncGFnZS1zdG9yZSc7ICAgICAgICAgICAgICAgICAgLy8gU3R5bGUgZm9yIGRvbmF0aW9ucyBwYWdlc1xuQGltcG9ydCAncGFnZS1zZWFyY2gnOyAgICAgICAgICAgICAgICAgIC8vIFN0eWxlIGZvciBzZWFyY2ggIHBhZ2VzXG5AaW1wb3J0ICdibG9jay11c2VyLW1lbnUnOyAgICAgICAgICAgICAgLy8gU3R5bGUgZm9yIHVzZXIgbWVudVxuQGltcG9ydCAnYmxvY2stdXNlci1tZW51JzsgICAgICAgICAgICAgIC8vIFN0eWxlIGZvciB1c2VyIG1lbnVcbkBpbXBvcnQgJ2Jsb2NrLWF1dGhvcml6ZS1sb2dvJzsgICAgICAgICAvLyBTdHlsZSBmb3IgYXV0aG9yaXplIGxvZ28gYmxvY2tcbkBpbXBvcnQgJ3VzZXItcHJvZmlsZSc7XG5AaW1wb3J0ICdhdXRob3JpemVkLWVkaXRvcnMnO1xuQGltcG9ydCAnY2FydCc7XG4iLCIvL1xuLy8gTm9ybWFsaXplIHN0eWxlc1xuLy9cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMTMuNXB4O1xuICBmb250LWZhbWlseTogJHB0LXNhbnMtcmVndWxhcjtcbiAgbGluZS1oZWlnaHQ6IDE4MCU7XG59XG5wIHtcbiAgbGluZS1oZWlnaHQ6IDE4MCU7XG59XG5oMSxoMixoMyxoNCxoNSxhIHtcbiAgY29sb3I6ICRmb250LWJsYWNrLTE7XG59XG5oMSxoMixoMyxoNCxoNSB7XG4gIGZvbnQtZmFtaWx5OiAkYml0dGVyLXJlZ3VsYXI7XG59XG5zdHJvbmcge1xuICBhLHAsc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6ICRwdC1zYW5zLWJvbGQ7XG4gIH1cbn1cbmEsXG5hOmxpbmssXG5hOnZpc2l0ZWQge1xuICBjb2xvcjogJGdyZWVuO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjMzNjYzAwO1xuICB9XG59XG51bCBsaSBhe1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5pbnB1dDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5pbnB1dFt0eXBlPSdzdWJtaXQnXSxcbnNwYW4uYnRuLFxuYS5idG4ge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2J0bi1iZy5wbmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjN2RiMDM1O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogIzdkYjAzNSAwcHggLTFweCAwcHg7XG4gIGZvbnQtZmFtaWx5OiBvcGVuc2Fucy1zZW1pYm9sZDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9idG4tYmcucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgfVxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzkzYjgzZjtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gIHBhZGRpbmc6IDlweCAxM3B4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuc3BhbixcbmEge1xuICAmLmJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDhweCAxM3B4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICB9XG59XG4uZnJvbnQgaDEudGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4jYnJlYWRjcnVtYiB7XG4gIGNvbG9yOiAkZ3JlZW47XG4gIHBhZGRpbmc6IDE1cHggMDtcbn1cbi52aWV3IC5pdGVtLWxpc3Qge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucGFnZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBsaSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICRkYXJrLWdyZXktMjtcbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cbiAgICAmLnBhZ2VyLWN1cnJlbnQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmV5LTI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICAgICYucGFnZXItaXRlbSxcbiAgICAmLnBhZ2VyLW5leHQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gT3ZlcnJpZGUgb21lZ2EtdmlzdWFscy5jc3NcbnRhYmxlW2JvcmRlcj1cIjBcIl0ge1xuICBib3JkZXI6IG5vbmU7XG4gIHRkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cblxudGFibGUuc2hvdy10YWJsZS1ib3JkZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xufVxuXG50ZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG59XG5cbi8vIE92ZXJyaWRlIG9tZWdhLXZpc3VhbHMuY3NzXG50cjpob3ZlciB0ZCxcbnRyLmV2ZW46aG92ZXIgdGQuYWN0aXZlLFxudHIub2RkOmhvdmVyIHRkLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbnRyLmV2ZW4gdGQ6bm90KC5wYW5lLWRhdGEtZnVsbCkge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuIiwiLy9cbi8vIFpvbmUgY29udGFpbmVyc1xuLy9cbi56b25lLXVzZXItd3JhcHBlcixcbi56b25lLWZvb3Rlci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogJG9sZC1ncmVlbjtcbn1cbi56b25lLWZvb3Rlci13cmFwcGVyIHAge1xuICBtYXJnaW46IDA7XG59XG4uem9uZS11c2VyLXdyYXBwZXIge1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2U5ZTllOTtcbn1cbi56b25lLXBvc3RzY3JpcHQtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICRkYXJrLWdyZXkgdXJsKC4uL2ltYWdlcy9wb3N0c2NyaXB0LXRvcC1ib3JkZXItYmcuanBnKSByZXBlYXQteDtcbiAgcGFkZGluZzogMjBweCAwO1xuICAuYmxvY2sge1xuICAgIGZvbnQtZmFtaWx5OiAkb3BlbnNhbnM7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIH1cbn1cbi5wYWdlLXByb2ZpbGUge1xuICAjem9uZS1jb250ZW50LXdyYXBwZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllOWU5O1xuICB9XG4gICNicmVhZGNydW1iIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbiN6b25lLWNvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cbiIsIi8vXG4vLyBSZWdpb24gY29udGFpbmVyc1xuLy9cblxuLnJlZ2lvbi1mb290ZXItc2Vjb25kIHtcbiAgcGFkZGluZzogMTJweCAwIDdweCAwO1xuICAuYmxvY2sge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuIiwiLy9cbi8vIEJsb2NrcyBzdHlsaW5nXG4vL1xuXG4uYmxvY2sge1xuICAuem9uZS1wb3N0c2NyaXB0ICYge1xuICAgIHAsIGEge1xuICAgICAgY29sb3I6ICRsaWdodC1ncmV5LTE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzM2NjMDA7XG4gICAgfVxuICB9XG4gIGgyLmJsb2NrLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxOHB4IDA7XG4gICAgZm9udC1mYW1pbHk6ICRiaXR0ZXItcmVndWxhcjtcbiAgfVxufVxuXG4uZnJvbnQubG9nZ2VkLWluIC5mcm9udC1pbnRyby1jb250ZW50IHtcbiAgLmJ0bi5qb2luIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59IiwiLy9cbi8vIFNlY3Rpb24gc3R5bGluZ1xuLy9cblxuLnNlY3Rpb24ge1xuICAmLnNlY3Rpb24tY29udGVudCB7XG4gICAgLnBhZ2UtaGVhZGVyLXRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZS1oZWFkZXItdGl0bGUtYmcuanBnKSByZXBlYXQteDtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtYW5kLXVwIHtcbiAgICAgICAgbWluLWhlaWdodDogMTA0cHg7XG4gICAgICB9XG4gICAgICBoMS50aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDkzcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRiaXR0ZXItYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvLyBNZWRpYSBRdWVyaWVzIGluIFNhc3MgMy4yXG4vL1xuLy8gVGhlc2UgbWl4aW5zIG1ha2UgbWVkaWEgcXVlcmllcyBhIGJyZWV6ZSB3aXRoIFNhc3MuXG4vLyBUaGUgbWVkaWEgcXVlcmllcyBmcm9tIG1vYmlsZSB1cCB1bnRpbCBkZXNrdG9wIGFsbFxuLy8gdHJpZ2dlciBhdCBkaWZmZXJlbnQgcG9pbnRzIGFsb25nIHRoZSB3YXlcbi8vXG4vLyBBbmQgaW1wb3J0YW50IHBvaW50IHRvIHJlbWVtYmVyIGlzIHRoYXQgYW5kIHdpZHRoXG4vLyBvdmVyIHRoZSBwb3J0cmFpdCB3aWR0aCBpcyBjb25zaWRlcmVkIHRvIGJlIHBhcnQgb2YgdGhlXG4vLyBsYW5kc2NhcGUgd2lkdGguIFRoaXMgYWxsb3dzIHVzIHRvIGNhcHR1cmUgd2lkdGhzIG9mIGRldmljZXNcbi8vIHRoYXQgbWlnaHQgbm90IGZpdCB0aGUgZGltZW5zaW9ucyBleGFjdGx5LiBUaGlzIG1lYW5zIHRoZSBicmVha1xuLy8gcG9pbnRzIGFyZSBzZWFtbGVzcy5cblxuJG1xLW1vYmlsZS1wb3J0cmFpdCAgICAgICA6IDMyMHB4O1xuJG1xLW1vYmlsZS1sYW5kc2NhcGUgICAgICA6IDQ4MHB4O1xuJG1xLXRhYmxldC1wb3J0cmFpdCAgICAgICA6IDc2OHB4O1xuJG1xLXRhYmxldC1sYW5kc2NhcGUgICAgICA6IDEwMjRweDtcbiRtcS1kZXNrdG9wICAgICAgICAgICAgICAgOiAxMjgwcHg7IC8vIDEzODJweCAhZGVmYXVsdDtcblxuQG1peGluIGtleWJvYXJkLXVwIHsvLyBtZWRpYSBxdWVyeSB0byBvbmx5IHRha2UgZWZmZWN0IHdoZW4gdGhlIGtleWJvYXJkIGlzIHVwIG9uIGFuZHJvaWQgLS0gc2hvdWxkIG5vdCBiZSAzMjAgc28gYXMgdG8gYXZvaWQgc25hZ2dpbmcgdGhlIGRlZmF1bHQgbGFuZHNjYXBlIHZpZXcgLS0gQ1VSUkVOVExZIFVQIEZPUiBERUxFVElPTiBJRiBOT1QgVVNFRCBTT01FV0hFUkUgQlkgNS0xMi0yMDE0XG4gIEBtZWRpYSBvbmx5IGFsbCBhbmQgKG1heC1oZWlnaHQ6IDI4MHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy9mb2xsb3dpbmcgbWVkaWEgcXVlcnkgc2hvdWxkIG5vdCBiZSByZS11c2VkIGFuZCBuZWVkcyB0byBiZSBjbGVhbmVkIG91dCwgYnV0IHRvIGRvIHNvIGN1cnJlbnRseSB3b3VsZCB0YWtlIG1vcmUgcmUtYXJjaGl0ZWN0dXJpbmcgdGhhbiB3ZSB3YW50IHRvIGRvLlxuQG1peGluIG5pbmVzaXh0eS1wbHVzIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMTAyNHB4KSwgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkgYW5kIChtaW4tZGV2aWNlLWhlaWdodDogJG1xLXRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBCb3RoIHBvcnRyYWl0IGFuZCBsYW5kc2NhcGVcbkBtaXhpbiBtb2JpbGUtb25seSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoIDogJG1xLXRhYmxldC1wb3J0cmFpdCAtIDEpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFdmVyeXRoaW5nIHVwIHRvIGFuZCBpbmNsdWRpbmcgdGhlIHBvcnRyYWl0IHdpZHRoIG9mIHRoZSBwaG9uZVxuLy8gU2luY2UgaXQncyB0aGUgc21hbGxlc3QgcXVlcnkgaXQgZG9lc24ndCBuZWVkIGEgbWluXG5AbWl4aW4gbW9iaWxlLXBvcnRyYWl0LW9ubHkge1xuICBAbWVkaWEgKG1heC13aWR0aCA6ICRtcS1tb2JpbGUtbGFuZHNjYXBlIC0gMSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV2ZXJ5dGhpbmcgdXAgdG8gYW5kIGluY2x1ZGluZyB0aGUgbW9iaWxlIHBvcnRyYWl0XG5AbWl4aW4gbW9iaWxlLXBvcnRyYWl0LWFuZC1iZWxvdyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoIDogJG1xLW1vYmlsZS1sYW5kc2NhcGUgLSAxKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gRXZlcnl0aGluZyBhYm92ZSBhbmQgaW5jbHVkaW5nIHRoZSBtb2JpbGUgcG9ydHJhaXRcbkBtaXhpbiBtb2JpbGUtcG9ydHJhaXQtYW5kLXVwIHtcbiAgQG1lZGlhIChtaW4td2lkdGggOiAkbXEtbW9iaWxlLXBvcnRyYWl0KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gRXZlcnRoaW5nIGxhcmdlciB0aGFuIGEgcG9ydHJhaXQgbW9iaWxlIHVwIHVudGlsIG1vYmlsZSBsYW5kc2NhcGVcbkBtaXhpbiBtb2JpbGUtbGFuZHNjYXBlLW9ubHkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAkbXEtbW9iaWxlLWxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGggOiAkbXEtdGFibGV0LXBvcnRyYWl0IC0gMSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV2ZXJ5dGhpbmcgdXAgdG8gYW5kIGluY2x1ZGluZyB0aGUgbW9iaWxlIGxhbmRzY2FwZSB3aWR0aFxuQG1peGluIG1vYmlsZS1sYW5kc2NhcGUtYW5kLWJlbG93IHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogJG1xLXRhYmxldC1wb3J0cmFpdCAtIDEpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFdmVyeXRoaW5nIGFib3ZlIGFuZCBpbmNsdWRpbmcgdGhlIG1vYmlsZSBsYW5kc2NhcGUgd2lkdGhcbkBtaXhpbiBtb2JpbGUtbGFuZHNjYXBlLWFuZC11cCB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICRtcS1tb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gRXZlcnl0aGluZyBiZXR3ZWVuIGFuZCBpbmNsdWRpbmcgbW9iaWxlIGxhbmRzY2FwZSBhbmQgdGFibGV0IHBvcnRyYWl0XG5AbWl4aW4gbW9iaWxlLWxhbmRzY2FwZS10aHJvdWdoLXRhYmxldC1wb3J0cmFpdCB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICRtcS1tb2JpbGUtbGFuZHNjYXBlKSBhbmQgKG1heC13aWR0aCA6ICRtcS10YWJsZXQtbGFuZHNjYXBlIC0gMSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV2ZXJ5dGhpbmcgYmV0d2VlbiBhbmQgaW5jbHVkaW5nIG1vYmlsZSBsYW5kc2NhcGUgYW5kIHRhYmxldCBsYW5kc2NhcGVcbkBtaXhpbiBtb2JpbGUtbGFuZHNjYXBlLXRocm91Z2gtdGFibGV0LWxhbmRzY2FwZSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICRtcS1tb2JpbGUtbGFuZHNjYXBlKSBhbmQgKG1heC13aWR0aCA6ICRtcS1kZXNrdG9wIC0gMSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEJvdGggdGhlIHBvcnRyYWl0IGFuZCBsYW5kc2NhcGUgd2lkdGggb2YgdGhlIHRhYmxldFxuLy8gTGFyZ2VyIHRoYW4gYSBsYW5kc2NhcGUgbW9iaWxlIGJ1dCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gYSBsYW5kc2NhcGUgdGFibGV0XG5AbWl4aW4gdGFibGV0LW9ubHkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAkbXEtdGFibGV0LXBvcnRyYWl0KSBhbmQgKG1heC13aWR0aCA6ICRtcS1kZXNrdG9wIC0gMSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV2ZXJ5dGhpbmcgbGFyZ2VyIHRoYW4gbW9iaWxlIGxhbmRzY2FwZSB1cCB1bnRpbCB0aGUgcG9ydHJhaXQgd2lkdGggb2YgdGhlIHRhYmxldFxuQG1peGluIHRhYmxldC1wb3J0cmFpdC1vbmx5IHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogJG1xLXRhYmxldC1wb3J0cmFpdCkgYW5kIChtYXgtd2lkdGggOiAkbXEtdGFibGV0LWxhbmRzY2FwZSAtIDEpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFdmVyeXRoaW5nIGJlbG93IGFuZCBpbmNsdWRpbmcgdGhlIHBvcnRyYWl0IHdpZHRoIG9mIHRoZSB0YWJsZXRcbkBtaXhpbiB0YWJsZXQtcG9ydHJhaXQtYW5kLWJlbG93IHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogJG1xLXRhYmxldC1sYW5kc2NhcGUgLSAxKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gRXZlcnl0aGluZyBhYm92ZSBhbmQgaW5jbHVkaW5nIHRoZSBwb3J0cmFpdCB3aWR0aCBvZiB0aGUgdGFibGV0XG5AbWl4aW4gdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICRtcS10YWJsZXQtcG9ydHJhaXQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBMYXJnZXIgdGhhbiBwb3J0cmFpdCBidXQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBsYW5kc2NhcGUgd2lkdGhcbkBtaXhpbiB0YWJsZXQtbGFuZHNjYXBlLW9ubHkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAkbXEtdGFibGV0LWxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGggOiAkbXEtZGVza3RvcCAtIDEpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBVcCB0byBhbmQgaW5jbHVkaW5nIHRoZSB0YWJsZXQgbGFuZHNjYXBlXG5AbWl4aW4gdGFibGV0LWxhbmRzY2FwZS1hbmQtYmVsb3cge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiAkbXEtZGVza3RvcCAtIDEpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFdmVyeXRoaW5nIGxhcmdlciB0aGFuIHBvcnRyYWl0IHRhYmxldFxuQG1peGluIHRhYmxldC1sYW5kc2NhcGUtYW5kLXVwIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogJG1xLXRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFdmVyeXRoaW5nIGxhcmdlciB0aGFuIGEgbGFuZHNjYXBlIHRhYmxldFxuQG1peGluIGRlc2t0b3AtYW5kLXVwIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogJG1xLWRlc2t0b3ApIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBmb3IgdXMsIHRoaXMgaXMgYWxsIHNpemVzLCB0aHVzIG5vdCBuZWVkZWQgLWNwIDcvMTkvMTNcbi8vIEV2ZXJ5dGhpbmcgYmVsb3cgYW5kIGluY2x1ZGluZyB0aGUgZGVza3RvcFxuLy8gQG1peGluIGRlc2t0b3AtYW5kLWJlbG93IHtcbi8vICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogJG1xLWRlc2t0b3ApIHtcbi8vICAgICBAY29udGVudDtcbi8vICAgfVxuLy8gfVxuXG4vLyBFdmVyeXRoaW5nIGRlc2t0b3AgYW5kIHVwXG5AbWl4aW4gZGVza3RvcC1vbmx5IHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogJG1xLWRlc2t0b3ApIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBSZXRpbmEgc2NyZWVucyBoYXZlIGEgMS41IHBpeGVsIHJhdGlvLCBub3QgMlxuQG1peGluIHJldGluYSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyA6IDEuNSksIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbyA6IDEuNSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvL1xuLy8gU3R5bGUgZm9yIGhlYWRlci1xdWljay1idXR0b25zXG4vL1xuXG4uaGVhZGVyLXF1aWNrLWJ1dHRvbnMge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGEge1xuICAgIHBhZGRpbmc6IDJweCAwO1xuICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyZWVuO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LWZhbWlseTogJHB0LXNhbnMtcmVndWxhcjtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsgXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7IFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDBweCAycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDBweCAycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsIDAuNSk7XG4gIH1cbiAgLmZpcnN0LW5hbWUsXG4gIC5sYXN0LW5hbWUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cbiAgLmZpcnN0LW5hbWUsXG4gIC5sYXN0LW5hbWUsXG4gIC51c2VyLXNpZ25lZC1vbiB7XG4gICAgZm9udC1mYW1pbHk6ICRwdC1zYW5zLXJlZ3VsYXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtdmFyaWFudDogc21hbGwtY2FwcztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuIiwiLy9cbi8vIFN0eWxlIGZvciB1c2VyIGxvZ2luIGJsb2NrXG4vL1xuXG4uYmxvY2stdXNlci1sb2dpbixcbi5ibG9jay1hYWN0LWN1c3RvbS1sb2dpbi1mb3JtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA1MDA7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgcGFkZGluZzogMTVweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE4KTtcblxuICB3aWR0aDogMzAwcHg7XG4gIHJpZ2h0OiAxNjVweDtcbiAgdG9wOiA2N3B4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICBpbnB1dFt0eXBlPSdwYXNzd29yZCddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICRkYXJrLWdyZWVuO1xuICB9XG4gIHVsIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmVlbjtcbiAgICB9XG4gIH1cbn1cblxuIiwiLy9cbi8vIFN0eWxlIGZvciBzbGlkZXNob3cgYmxvY2tcbi8vXG4uYmxvY2stdmlld3Mtc2xpZGVzaG93LWJsb2NrIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NsaWRlc2hvdy1iZy5qcGcpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAudmlldy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHggMTBweCAxMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHggMTFweCAzMHB4O1xuICAgIH1cbiAgfVxuICAudmlld3Mtc2xpZGVzaG93LWN5Y2xlLW1haW4tZnJhbWUsXG4gIC52aWV3cy1zbGlkZXNob3ctY3ljbGUtbWFpbi1mcmFtZS1yb3cge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IC8vIE92ZXJyaWRlIHZpZXdzIHNsaWRlc2hvdyBtYWluZnJhbWUgd2lkdGhcbiAgfVxuICAuc2xpZGVzaG93LWltYWdlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xuICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgIHdpZHRoOiA1MSU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDozNjBweCkge1xuICAgICAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuaW1hZ2UtY2FwdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ltYWdlLWNhcHRpb24tYmcucG5nKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICBmb250LWZhbWlseTogJGdlb3JnaWE7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuICB9XG4gIC5zbGlkZXNob3ctaW5mbyB7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNDglO1xuICAgIH1cbiAgICAuc3ViLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgZm9udC1mYW1pbHk6ICRvcGVuc2Fucy1zZW1pYm9sZDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgZm9udC1mYW1pbHk6ICRvcGVuc2Fucy1zZW1pYm9sZDtcbiAgICAgIG1hcmdpbjogMTVweCAwIDAgMDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7XG4gICAgICAgIG1hcmdpbjogODdweCAwIDlweCAwO1xuICAgICAgfVxuICAgIH1cbiAgICAubW9yZS1pbmZvLWNvbnRhaW5lciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWFyZ2luLWJvdHRvbToxMHB4O1xuICAgIH1cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkb3BlbnNhbnM7XG4gICAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICB9XG4gIH1cbiAgLnZpZXdzLXNsaWRlc2hvdy1wYWdlci1maWVsZC1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NsaWRlLXBhZ2VyLXdoaXRlLnBuZykgbm8tcmVwZWF0O1xuICAgIGhlaWdodDogMTRweDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zbGlkZS1wYWdlci1ncmVlbi5wbmcpO1xuICAgIH1cbiAgfVxuICAudmlld3Mtc2xpZGVzaG93LWNvbnRyb2xzLWJvdHRvbSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgfVxuICAudmlld3Mtc2xpZGVzaG93LXBhZ2VyLWZpZWxkcyB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgI3dpZGdldF9wYWdlcl9ib3R0b21fc2xpZGVzaG93LWJsb2NrLFxuICAjdmlld3Nfc2xpZGVzaG93X2NvbnRyb2xzX3RleHRfc2xpZGVzaG93LWJsb2NrIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLnZpZXdzLXNsaWRlc2hvdy1jb250cm9scy10ZXh0LXByZXZpb3VzLFxuICAudmlld3Mtc2xpZGVzaG93LWNvbnRyb2xzLXRleHQtbmV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudmlld3Mtc2xpZGVzaG93LWNvbnRyb2xzLXRleHQtc3RhdHVzLXBsYXksXG4gIC52aWV3cy1zbGlkZXNob3ctY29udHJvbHMtdGV4dC1zdGF0dXMtcGF1c2UgIHtcbiAgICBhIHtcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgfVxuICB9XG4gIC52aWV3cy1zbGlkZXNob3ctY29udHJvbHMtdGV4dC1zdGF0dXMtcGxheSBhIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhdXNlLWJ0bi5wbmcpIG5vLXJlcGVhdDtcbiAgfVxuICAudmlld3Mtc2xpZGVzaG93LWNvbnRyb2xzLXRleHQtc3RhdHVzLXBhdXNlIGEge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGxheS1idG4ucG5nKSBuby1yZXBlYXQ7XG4gIH1cbiAgLmNsaWNrYWJsZS1wYW5lIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy9cbi8vICBQcmUgbWFkZSBzdHlsaW5nIHdoaWNoIHdvdWxkIGJlIHVzZWQgc2l0ZSB3aWRlXG4vL1xuXG5cbi8vIERyb3Bkb3duIG1lbnUgbGlzdFxuQG1peGluIGRyb3Bkb3duLW1lbnUoKSB7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgIzk1YzUzZDtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1pdGVtKCkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDRweCAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAkd2hpdGUtMjtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1pdGVtLWxpbmsoKSB7XG4gIGNvbG9yOiAkbGlnaHQtZ3JleS0yO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbkBtaXhpbiBsZWdhY3ktcGllLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn0iLCIvL1xuLy8gU3R5bGUgZm9yIGZyb250IGludHJvIGNvbnRlbnQgYmxvY2tcbi8vXG5cbi5mcm9udC1pbnRyby1jb250ZW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmNmY2ZjY7XG4gIHAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIGgyLmJsb2NrLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cbn0iLCIvL1xuLy8gU3R5bGUgZm9yIHNwb25zb3IgYmxvY2tcbi8vXG5cbi5ibG9jay1mcm9udC1zcG9uc29yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaDIuYmxvY2stdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjZmNmY2O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogJGxpZ2h0LWdyZXktMjtcbiAgICBmb250LWZhbWlseTogJHB0LXNhbnMtcmVndWxhcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIH1cbiAgLnNwb25zb3ItbGlua3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucm93LWdyb3VwIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtb2JpbGUtbGFuZHNjYXBlLWFuZC11cCB7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtYW5kLXVwIHtcbiAgICAgIHdpZHRoOiA0MzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS1hbmQtdXAge1xuICAgICAgd2lkdGg6IDYyMHB4O1xuICAgIH1cbiAgfVxuICAudmlld3Mtcm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIEBpbmNsdWRlIG1vYmlsZS1sYW5kc2NhcGUtYW5kLXVwIHtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICBmbGV4LWJhc2lzOiAzMy4zMzMlO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLWFuZC11cCB7XG4gICAgICBmbGV4LWJhc2lzOiAxNi42NjclO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHlsZSBmb3Igc29jaWFsIGljb24gYmxvY2tcbi8vXG5cbi5ibG9jay1zb2NpYWwtaWNvbnMge1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gICAgfVxuICB9XG59IiwiLy9cbi8vIFN0eWxlIGZvciBmb290ZXIgbGlua3MgYmxvY2tcbi8vXG5cbi5ibG9jay1mb290ZXItbGluayB7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG59IiwiLy9cbi8vIFN0eWxlIGZvciBtZW51IGJsb2NrXG4vL1xuXG4uYmxvY2stbmljZS1tZW51cyB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIHVsLm5pY2UtbWVudS1kb3duIGxpLm1lbnVwYXJlbnQsXG4gIHVsLm5pY2UtbWVudS1kb3duIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmV5LTI7XG4gICAgICBwYWRkaW5nOiAwLjNlbSA3cHggMC4zZW0gN3B4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfSAgXG59XG5cbiIsIi8vXG4vLyBTdHlsZSBmb3Igbm9kZSB0eXBlIHBhZ2Vcbi8vXG5cbi5ub2RlLXR5cGUtcGFnZSB7XG4gIC5yaWdodC1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmZpZWxkLW5hbWUtZmllbGQtcGFnZS1oZWFkbGluZSAuZmllbGQtaXRlbSxcbiAgLmZpZWxkLW5hbWUtZmllbGQtcGFnZS1zdWItaGVhZGxpbmUgLmZpZWxkLWl0ZW0ge1xuICAgIGZvbnQtZmFtaWx5OiAkYml0dGVyLXJlZ3VsYXI7XG4gIH1cbiAgLmZpZWxkLW5hbWUtZmllbGQtcGFnZS1oZWFkbGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAuZmllbGQtaXRlbSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICB9XG4gIH1cbiAgLmZpZWxkLW5hbWUtZmllbGQtcGFnZS1zdWItaGVhZGxpbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgLmZpZWxkLWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICRsaWdodC1ncmV5LTM7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB9XG4gIH1cbiAgLnBhZ2UtaW1hZ2UtY2FwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHNwYW4ge1xuICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1mYW1pbHk6ICRwdC1zYW5zLXJlZ3VsYXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbiIsIi8vXG4vLyBTdHlsZSBmb3IgY29udGVudCBib3R0b20gbWVudVxuLy9cbi5ibG9jay1jb250ZW50LWJvdHRvbS1tZW51IHtcbiAgdWwubWVudSBsaSB7XG4gICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMzJweCAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgJi5tZW51LW1saWQtNTE2LFxuICAgICYubGFzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgICYuaW52aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIHVsLm1lbnUge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudTtcbiAgICB9XG4gICAgdWwubWVudSBsaSB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWl0ZW07XG4gICAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMzM2NjMDA7XG4gICAgICB9XG4gICAgfVxuICAgIHVsLm1lbnUgbGkgYSB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWl0ZW0tbGluaztcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzMzY2MwMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJvdHRvbS1saW5rIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5ib3R0b20tbGluayBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcHQtc2Fucy1yZWd1bGFyO1xuICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgfVxuICAgIC5ib3R0b20tbGluayAucmVhZC1tb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbGluay1hcnJvdy1yaWdodC5wbmcpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHg7XG4gICAgfVxuICAgIC5ib3R0b20tbGluayAuc3ViLW1lbnUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9saW5rLWFycm93LWRvd24ucG5nKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4O1xuICAgIH1cblxuICB9XG4gIC5tZW51LWluZm8taGVhZGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICB3aWR0aDogNzIlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDIwcHggMCAwIDNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYml0dGVyLXJlZ3VsYXI7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxuICBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6ICRwdC1zYW5zLXJlZ3VsYXI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuIiwiLy9cbi8vIFN0eWxlIGZvciBtYWluIG1lbnVcbi8vXG5cbi5ibG9jay1zaXRld2lkZS1tYWluLW1lbnUge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICAuZHJvcGRvd24tbGluay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnU7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUtbGluayBhIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWl0ZW0tbGluaztcbiAgfVxuICAubWVudS1ibG9jay01ID4gLm1lbnUge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG4gIHVsLm1lbnUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMCA4cHggMCAwO1xuICAgICAgJi5hY3RpdmUgYSB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICB9XG4gICAgICAmLmxhc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyZXktMjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgfVxuICAgICAgICAmLm1haW4tbWVudS10b3AtbGluayB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9taXNjL21lbnUtZXhwYW5kZWQucG5nKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5tYWluLW1lbnUtdG9wLWxpbmsuZXhwYW5kZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvbWlzYy9tZW51LWNvbGxhcHNlZC5wbmcpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB1bC5tZW51IGxpIHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1pdGVtO1xuICAgICAgfVxuICAgICAgdWwubWVudSBsaS5oYXMtY2hpbGRyZW4gYSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgfVxuICAgICAgdWwubWVudSBsaSB7XG4gICAgICAgIGEsXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtaXRlbS1saW5rO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHVsLm1lbnUgbGkgIGEubWFpbi1tZW51LXRvcC1saW5rIHtcbiAgICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9taXNjL21lbnUtY29sbGFwc2VkLnBuZyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHVsLm1lbnUgbGkgLmRyb3Bkb3duLWxpbmstY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTU9CSUxFIENIQU5HRVNcblxuLy9oaWRlIHRoZSBtbWVudSBidXR0b24gb24gZGVza3RvcFxuYS5tbWVudS1hY3RpdmF0ZSB7XG4gIGRpc3BsYXk6bm9uZTtcbn1cbi8vaGFtYnVyZ2VyIG1lbnUvY2xvc2UgYnV0dG9uXG5hLm1tZW51LWFjdGl2YXRlIHtcbiAgZmxvYXQ6cmlnaHQ7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAvL2hlaWdodCBvZiBwYXJlbnQgZWxlbWVudFxuICBoZWlnaHQ6MzJweDtcbiAgLy9uZWVkcyBhIHdpZHRoIGhlcmUsIG5vdCBvbiBwc3VlZG9zXG4gIHdpZHRoOjE4cHg7XG4gIGN1cnNvcjpwb2ludGVyO1xuICAvL3Bvc2l0aW9uIHdpdGggcmlnaHQvbGVmdCBoZXJlXG4gIHJpZ2h0OjE4cHg7XG4gIHRvcDo0MHB4O1xuICAmOmJlZm9yZSwgJjphZnRlciwgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokZm9udC1ibGFjay0xO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTtcbiAgfVxuICBzcGFuIHtcbiAgICB0b3A6MTVweDtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgdG9wOjlweDtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB0b3A6IDIxcHg7XG4gIH1cbn1cbi8vLm1tLW9wZW5lZCBpcyBhZGRlZCBieSBtbWVudSB0byA8aHRtbD4gYXMgc29vbiBhcyB0aGUgbWVudSBiZWdpbnMgYXBwZWFyaW5nXG4ubW0tb3BlbmVkIGEubW1lbnUtYWN0aXZhdGUge1xuICBzcGFuIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNTAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdG9wOjE1cHg7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRvcDoxNXB4O1xuICB9XG59XG5cbi8vb24gdGFibGV0L21vYmlsZSB3ZSdsbCB1c2UgbW1lbnUgaW5zdGVhZCBvZiB0aGUgcmVndWxhciBtYWluIG1lbnVcbkBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAvL3Nob3cgdGhlIGxpbmtcbiAgYS5tbWVudS1hY3RpdmF0ZSB7XG4gICAgZGlzcGxheTpibG9jaztcbiAgfVxuICAvL3JlbW92ZSB0aGUgcmVndWxhciBtYWluIG1lbnVcbiAgLnpvbmUtYnJhbmRpbmcgLmJsb2NrLmJsb2NrLXNpdGV3aWRlLW1haW4tbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSIsIi8vXG4vLyBTdHlsZSBmb3IgYmxvY2sgc2VhcmNoIGZvcm1cbi8vXG5cbi5ibG9jay1zZWFyY2gtZm9ybSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgfVxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC52aWV3cy1leHBvc2VkLWZvcm0gLnZpZXdzLWV4cG9zZWQtd2lkZ2V0IC5mb3JtLXN1Ym1pdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgLmEtei1pbmRleC1saW5rIHtcbiAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5zZWFyY2gtZm9ybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAuZm9ybS1hY3Rpb25zID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuICB9XG59XG5cbi52aWV3LWtleXdvcmQtc2VhcmNoLWluZGV4IC52aWV3cy1leHBvc2VkLWZvcm0gLnZpZXdzLWV4cG9zZWQtd2lkZ2V0IC5mb3JtLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDA7XG59IiwiLnBhZ2UtcHJvZmlsZSB7XG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cbiAgLy9QUk9GSUxFIERFVEFJTFMgU0VDVElPTlxuICAucGhvdG8tYm94LFxuICAjYmxvY2stbWVudS1ibG9jay0xIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG4gIC5waG90by1ib3gge1xuICAgIGhlaWdodDogMTc0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICAmLmhvdXNlaG9sZCB7XG4gICAgICBoMyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICAucGhvdG8tYm90dG9tIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGhvdG8tYm90dG9tLFxuICAucGhvdG8tdG9wIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLWhlaWdodDogODZweDtcbiAgfVxuICAucGhvdG8tdG9wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1OXB4O1xuICB9XG4gIC5waG90by1ib3R0b20ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC5waG90by1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgYm90dG9tOiAxNXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBpbWcge1xuICAgIH1cbiAgfVxuICAvL0dFTkVSQUwgQU5EIFBST0ZJTEUtQk9EWVxuICAuY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICB9XG4gIC5wcm9maWxlLWJvZHkge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIC5pdGVtLWxpc3Qge1xuICAgICAgbWFyZ2luOiAwIDAgMC41ZW0gMWVtO1xuICAgIH1cbiAgICAucHJvZmlsZS1iaW8ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG4gIC5pdGVtLWxpc3Qge1xuICAgIHVsIGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuMjVlbSAwO1xuICAgIH1cbiAgfVxuICAuZW1wdHkge1xuICAgIGNvbG9yOiByZ2JhKDIxMiwgMjEyLCAyMTIsIDEpO1xuICB9XG5cbiAvL1JJR0hUL0xFRlQgU0lERVNcbiAgLnJpZ2h0LFxuICAubGVmdCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICAmID4gdWwgPiBsaSB7XG4gICAgICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmlycmVndWxhciB7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAmID4gZGl2LFxuICAgICYgPiBhZGRyZXNzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cbiAgfVxuICAucmlnaHQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cblxuXG4ucHJvZmlsZS1uYW1lLFxuLnByb2ZpbGVfbmFtZSB7XG4gIGNvbG9yOiAkb2xkLWdyZWVuO1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xufVxuXG4vL1BST0ZJTEUgRURJVCBXRUJGT1JNXG4ucGFnZS1ub2RlLTQwNCxcbi5wYWdlLW5vZGUtNDA1LFxuLnBhZ2Utbm9kZS00MDYge1xuICAudWktYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICYudWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlIHtcbi8vICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5mb3JtLWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAxZW0gMDtcbiAgfVxuLy8gIC5mb3JtLWNoZWNrYm94ZXMge1xuLy8gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbi8vICAgIC5mb3JtLWl0ZW0ge1xuLy8gICAgICBwYWRkaW5nOiAwLjVlbTtcbi8vICAgIH1cbi8vICAgIC5mb3JtLXR5cGUtY2hlY2tib3gge1xuLy8gICAgICBmbG9hdDogbGVmdDtcbi8vICAgICAgd2lkdGg6IDE4MHB4OyAvLyBNYXkgaGF2ZSB0byBjaGFuZ2UgdGhpcyB3aXRoIG11bHRpcGxlXG4vLyAgICB9XG4vLyAgfVxufVxuXG4ud2ViZm9ybS1jb21wb25lbnQtLWNpdmljcm0tMS1jb250YWN0LTEtZmllbGRzZXQtZmllbGRzZXQtLWNvbnRhY3QtLWNvbnRhY3QtdGFiLS1lZGl0LWFjY291bnQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiLnBhZ2UtY2l2aWNybS1ldmVudCxcbi5wYWdlLWNpdmljcm0tY29udHJpYnV0ZSB7XG4gIC5ldmVudC1pbmZvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5jcm0tY29udHJpYnV0aW9uLW1haW4tZm9ybS1ibG9jayA+IGRpdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxuICAuY3JtLXByaWNlLWFtb3VudC1hbW91bnQge1xuICAgIHdvcmQtc3BhY2luZzogLTZweDtcbiAgICAvLyAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgfVxuXG4gIC5jcm0tZXZlbnQtcmVnaXN0ZXItZm9ybS1ibG9jayAjcGF5bWVudF9pbmZvcm1hdGlvbiAuY3JtLXNlY3Rpb24sXG4gIC5jcm0tY29udGFpbmVyICNNYWluID4gLmNybS1jb250cmlidXRpb24tbWFpbi1mb3JtLWJsb2NrIC5jcm0tc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxuICAjY3JtLWNvbnRhaW5lciAuY3JtLXB1YmxpYyAuY3JtLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICB9XG5cbiAgI2NybS1jb250YWluZXIuY3JtLXB1YmxpYyBzZWxlY3Qge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgfVxuXG4gICNjcm0tY29udGFpbmVyLmNybS1wdWJsaWMgI2NybS1zdWJtaXQtYnV0dG9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tbGVmdDogMTklO1xuICB9XG5cbiAgW25hbWU9XCJob25vcl90eXBlX2lkXCJdIHtcbiAgICBtYXJnaW4tbGVmdDogN3B4O1xuICB9XG4gIC5ob25vcl90eXBlX2lkLXNlY3Rpb24ge1xuICAgIGxhYmVsIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG4gIC51aS1pY29uLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICYucGFnZS1jaXZpY3JtLWNvbnRyaWJ1dGUtdHJhbnNhY3QgLnVpLWljb24tcHJpbnQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ0NsaWNrIGhlcmUgdG8gcHJpbnQgdGhpcyBwYWdlIGZvciB5b3VyIHJlY29yZHMuJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICB0b3A6IC0yNXB4O1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgIHRleHQtaW5kZW50OiAwcHg7XG4gICAgfVxuICB9XG59XG4iLCIudmlldy1pZC1zdG9yZSxcbi5ub2RlLXR5cGUtY29udGVudC1wcm9kdWN0e1xuICAubm9kZS1jb250ZW50LXByb2R1Y3Qge1xuICAgIG1hcmdpbjogNzBweCAwO1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgLmZpZWxkLW5hbWUtZmllbGQtcHJvZHVjdC1pbWFnZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbiAgLmNvbW1lcmNlLXByb2R1Y3QtZmllbGQtY29tbWVyY2UtcHJpY2UsXG4gIC5maWVsZC10eXBlLWNvbW1lcmNlLXByb2R1Y3QtcmVmZXJlbmNlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLmZpZWxkLW5hbWUtY29tbWVyY2UtcHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIH1cbiAgLmZpZWxkLW5hbWUtYm9keSB7XG4gICAgbWluLWhlaWdodDogMjQwcHg7XG4gIH1cbiAgLmZpZWxkLW5hbWUtYm9keSB7XG4gICAgbWluLWhlaWdodDogMTg5cHg7XG5cbiAgfVxufVxuXG4jY29tbWVyY2UtY2hlY2tvdXQtZm9ybS1jaGVja291dCB7XG4gIC5maWVsZHNldC1sZWdlbmQge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgY29sb3I6IHJnYigxNDksIDE5NywgNjEpO1xuICB9XG4gIC52aWV3LWNvbW1lcmNlLWNvdXBvbi1yZXZpZXctcGFuZSB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gIH1cbn1cblxuLnBhZ2Utbm9kZSAubm9kZS1jb250ZW50LXByb2R1Y3Qge1xuICAuZmllbGQtbmFtZS1ib2R5IHtcblxuICB9XG59XG5cbi5tZW51LWJsb2NrLTMubWVudS1uYW1lLW1lbnUtbmV3LWFhY3Qge1xuICAubWVudS1tbGlkLTQ3Mzgge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy9vcmRlcnNcbi5oaWRlLXNoaXBwaW5nIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIudmlldy1pZC1vcmdhbml6YXRpb25hbF9tZW1iZXJfc2VhcmNoICxcbi52aWV3LWlkLWNvbW1lcmNpYWxfbWVtYmVyX3NlYXJjaCAsXG4udmlldy1pZC1pbmRpdmlkdWFsX21lbWJlcl9zZWFyY2gge1xuIC52aWV3cy1yb3cge1xuICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDEyOSwgMTI5LCAxMjkpO1xuICAgbWFyZ2luOiAxMnB4IDA7XG4gICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgaDQge1xuICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgfVxuICAgLmhvbGRlciB7XG4gICAgIGZsb2F0OiBsZWZ0O1xuICAgICBtYXJnaW46IDEwcHg7XG4gICB9XG4gICAuaW1hZ2UtaG9sZGVyIHtcbiAgICAgd2lkdGg6IDIyNHB4O1xuICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgIGltZyB7XG4gICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICB9XG4gICB9XG4gICAuY29yZS1ob2xkZXIge1xuICAgICB3aWR0aDogMjI0cHg7XG4gICB9XG4gICAuY29udGVudC1ob2xkZXIge1xuICAgICBtYXgtd2lkdGg6IDQzMHB4O1xuICAgfVxuIH1cbn0iLCIudXNlci1tZW51IHtcbnBhZGRpbmc6IDA7XG4udG9wIHtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoMyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlLWhlYWRlci10aXRsZS1iZy5qcGcpIHJlcGVhdC14IDAgLTQ4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgfVxuICBoMiB7XG4gICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG59XG4ubWVudS1uYW1lLXVzZXItbWVudSB7XG4gIHVsIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCguLi8uLi8uLi8uLi8uLi8uLi9taXNjL21lbnUtbGVhZi5wbmcpO1xuICB9XG59XG4ubWVudS1ibG9jay0xIC5tZW51LW1saWQtMiB7XG4gbGlzdC1zdHlsZS1pbWFnZTogdXJsKC9taXNjL21lbnUtbGVhZi5wbmcpO1xufVxuIiwiI2Jsb2NrLWFhY3QtYWFjdC1hdXRobmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG59XG4iLCIucGFnZS11c2VyIHtcbiAgLnVzZXItcHJvZmlsZS1kZXRhaWxzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLmJvdHRvbSB7XG4gICAgICBoNSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cbiAgICAgIGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFBULVNhbnMtUmVndWxhcjtcbiAgICAgIH1cbiAgICAgIC5jdXJyZW50LXRocm91Z2gge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnByb2ZpbGUge1xuICAgIGJyLFxuICAgIC51c2VyLXBhZ2UtbGluayB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAucHJvZmlsZS1pdGVtIHtcbiAgICBAaW5jbHVkZSBsZWdhY3ktcGllLWNsZWFyZml4O1xuICB9XG4gIC5wcm9maWxlLWl0ZW0tbGVmdCxcbiAgLnByb2ZpbGUtaXRlbS1yaWdodCB7XG4gICAgQGluY2x1ZGUgbW9iaWxlLWxhbmRzY2FwZS1hbmQtdXAge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuICAucHJvZmlsZS1pdGVtLWxlZnQge1xuICAgIEBpbmNsdWRlIG1vYmlsZS1wb3J0cmFpdC1vbmx5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWRlZGVkO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gb3ZlcnJpZGUgbWF0ZXJpYWxpemVcbmlucHV0W3R5cGU9dGV4dF06Zm9jdXM6bm90KFtyZWFkb25seV0pIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGdyZWVuO1xuICBib3gtc2hhZG93OiAwIDFweCAwIDAgJGdyZWVuO1xufVxuXG4ubW9kYWwge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB9XG4gICAgJi5jYW5jZWwge1xuICAgICAgY29sb3I6ICRmb250LWJsYWNrLTE7XG4gICAgfVxuICB9XG59XG5cbi5wcm9maWxlLWxpc3Qge1xuICBwOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAucHJvZmlsZS1pdGVtIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2VkZWRlZDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG4gICAgfVxuICB9XG4gIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIH1cbiAgLmJ1dHRvbnMge1xuICAgIEBpbmNsdWRlIGxlZ2FjeS1waWUtY2xlYXJmaXg7XG4gICAgYSxcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIH1cbiAgICBhLFxuICAgIGZvcm0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG4gIC5lZGl0b3IsXG4gIC5mb3JtLWF1dGhvcml6ZWQtZWRpdG9ycy1hZGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuICB9XG4gIC5lZGl0b3IgLm5hbWUsXG4gIC5mb3JtLWF1dGhvcml6ZWQtZWRpdG9ycy1hZGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbiAgLmVkaXRvciBmb3JtLFxuICAuZm9ybS1hdXRob3JpemVkLWVkaXRvcnMtYWRkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLmVkaXRvcjpob3ZlciB7XG4gICAgLm1vZGFsLWRlbGV0ZS1jb25maXJtYXRpb24tb3BlbiB7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG4gIH1cbiAgLmZvcm0tYXV0aG9yaXplZC1lZGl0b3JzLWFkZCB7XG4gICAgaW5wdXQge1xuICAgICAgJlt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlLW9ubHkge1xuICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmZvcm0tdGV4dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtYW5kLXVwIHtcbiAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGZvcm0ge1xuICAgIC5mYSB7XG4gICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6ICM3ZGIwMzUgIWltcG9ydGFudDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS10eXBlLXRleHRmaWVsZCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC50aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZGVkZWQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDBweCAxMHB4IDAgNXB4O1xuICB9XG4gIC5tb2RhbC1kZWxldGUtY29uZmlybWF0aW9uLW9wZW4ge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBjb2xvcjogJGxpZ2h0LWdyZXktMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zIGVhc2U7XG4gIH1cbiAgLmNob3Nlbi1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLmNob3Nlbi1yZXN1bHRzIGxpLmhpZ2hsaWdodGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuXG5cbiIsIi5jaGVja291dC1yZXZpZXcge1xuICB0ci5ldmVuLCB0ci5vZGQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbiAgdHIuZXZlbiB7XG4gICAgLy8+IHRkIHtcbiAgICAvLyAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvL31cbiAgICB0ci5ldmVuIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgfVxuICB9XG4gIHRyOmhvdmVyID4gdGQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbiAgLnBhbmUtZGF0YSA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICB9XG59IiwiLy8gVGhpcyBmaWxlIGFuZCBpbXBvcnRzIGhhdmUgYmVlbiBjb3BpZWQgZnJvbSB0aGUgY3VzdG9tIG1vZHVsZSBhYWN0X21lbWJlcnNoaXBfcHJvY2Vzc1xuLy8gVGhlIGdvYWwgd2lsbCBiZSB0byBlbGltaW5hdGUgdGhhdCBtb2R1bGUgaW4gZmF2b3Igb2YgbWFraW5nIG1lbWJlcnNoaXBzIHZpYSB3ZWJmb3Jtcy5cbi8vIFdlIHdhbnQgdG8gdXNlIHN0eWxpbmcgZnJvbSB0aGF0IG1vZHVsZSwgYW5kIGFsc28gbWFrZSBpdCB3b3JrIHdpdGggd2ViZm9ybXNcbi8vIFVwb24gc2h1dHRpbmcgZG93biB0aGF0IG1vZHVsZSwgd2UgY291bGQgc2VlIHdoZXRoZXIgd2UgY2FuIGNvbW1lbnQgb3V0IHRoZSBhYWN0LW1lbWJlcnBzaGlwLXByb2Nlc3Mgc3R5bGVzaGVldHMsXG4vLyBJZiB0aGF0IHdvcmtzLCBUaGVuIGEgbG90IG9mIHRoZSBmb3JtIHRhcmdldGluZyBpbiB0aGlzIGZpbGUgaXMgbm90IG5lZWRlZCwgYnV0IGl0IHdvdWxkIHByb2JhYmx5IGJlIGhhcmQgdG8gc2VwYXJhdGUgb3V0IHdoYXQgaXMgbmVjZXNzYXJ5LlxuXG4vLyBhYWN0X21lbWJlcnNoaXBfcHJvY2VzcyB1c2VkIG1hdGVyaWFsaXplIGNvbXBvbmVudHMgdG8gc3R5bGUgc29tZSBvZiB0aGUgZm9ybSBlbGVtZW50cy5cbi8vIEkgZG9uJ3QgdGhpbmsgd2UgY2FuIGltcG9ydCBtYXRlcmlhbGl6ZSBpbnRvIHRoZSB0aGVtZSB3aXRob3V0IGhhdmluZyBhbiBpbXBhY3Qgb24gYnV0dG9ucywgaW5wdXRzIGFuZCBmb3JtcyBlbHNld2hlcmUgaW4gdGhlIHNpdGUuXG5cbkBpbXBvcnQgJ2NvbmZpZy5zY3NzJztcbi8vQGltcG9ydCAnL292ZXJyaWRlcy9tYXRlcmlhbGl6ZS9jb21wb25lbnRzL2Zvcm1zL19jaGVja2JveGVzJ1xuXG5AbWl4aW4gbm8tbWF0ZXJpYWxpemUtZm9ybS10eXBlLXRleHRmaWVsZCB7XG4gIGlucHV0IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JleS0yICNjMWMxYzEgI2UxZTFlMTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IGluc2V0O1xuICAgIG1hcmdpbjogMDtcbiAgICAmW3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICAgICZbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzIHtcbiAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxuICBsYWJlbCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmb250LXNpemU6IDEzLjVweDtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsZWdhY3ktcGllLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4uYmxvY2stdXNlciAuZm9ybS1pdGVtIHtcbiAgQGluY2x1ZGUgbm8tbWF0ZXJpYWxpemUtZm9ybS10eXBlLXRleHRmaWVsZDtcbn1cblxuLy8gU29tZSBDaXZDUk0gYmFzZSBvdmVycmlkZXMuXG4uY3JtLWNvbnRhaW5lciBpbnB1dC5jcm0tZm9ybS10ZXh0LFxuLmNybS1jb250YWluZXIgLmNybS1pY29uLXBpY2tlci1idXR0b24sXG4uY3JtLWNvbnRhaW5lciBpbnB1dC5kYXRlcGx1Z2luLFxuLmNybS1jb250YWluZXIgaW5wdXQuY3JtLWZvcm0tcGFzc3dvcmQge1xuICBoZWlnaHQ6IDJlbTtcbn1cblxuLmNybS1jb250YWluZXIgc2VsZWN0LmNybS1mb3JtLXNlbGVjdCxcbi5jcm0tY29udGFpbmVyIHNlbGVjdC5jcm0tZm9ybS1kYXRlIHtcbiAgbWF4LXdpZHRoOiA4MHB4O1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDJyZW07XG59XG5cbi5jdnYyLXNlY3Rpb24ge1xuICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgbWF4LXdpZHRoOiA4MHB4O1xuICB9XG5cbiAgLmN2djItaWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG5cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1zZWxlY3QtZm9ybSxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0sXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LWFzY2FwLWZvcm0sXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctcGF5bWVudC1mb3JtLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1pbmRpdmlkdWFsIHtcbiAgc3Ryb25nIHtcbiAgICBmb250LWZhbWlseTogJHB0LXNhbnMtYm9sZDtcbiAgfVxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgbGVnYWN5LXBpZS1jbGVhcmZpeDtcbiAgfVxuICAud2l6YXJkLXRyYWlsIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICAmLndpemFyZC10cmFpbC1wcmV2aW91cyxcbiAgICAgICYud2l6YXJkLXRyYWlsLWN1cnJlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICB9XG4gICAgICAmLndpemFyZC10cmFpbC1uZXh0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDIyMSwgMjIxLCAyMjEpO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaDIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICRwdC1zYW5zLWJvbGQ7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gIH1cbiAgLmZpZWxkc2V0LWxlZ2VuZCB7XG4gICAgZm9udC1mYW1pbHk6ICRwdC1zYW5zLWJvbGQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gICNlZGl0LWRlc2NyaXB0aW9uLFxuICAjZWRpdC1vcmRlci1wcmV2aWV3IHtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIH1cbiAgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiKDQ4LCA0OCwgNDgpO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRncmVlbjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgMCAkZ3JlZW47XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgICYuZXJyb3Ige1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRyZWQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5zZWxlY3Qtd3JhcHBlci5lcnJvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC5zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRyZWQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OjAgMCAwIDUwcHggJHdoaXRlIGluc2V0OyAvKiBDaGFuZ2UgdGhlIGNvbG9yIHRvIHlvdXIgb3duIGJhY2tncm91bmQgY29sb3IgKi9cbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJGZvbnQtYmxhY2stMTtcbiAgfVxuICAuZmllbGRzZXQtbGVnZW5kIHtcbiAgICBAaW5jbHVkZSBsZWdhY3ktcGllLWNsZWFyZml4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbiAgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGxlZ2FjeS1waWUtY2xlYXJmaXg7XG4gICAgQGluY2x1ZGUgbW9iaWxlLWxhbmRzY2FwZS1hbmQtdXAge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gIH1cbiAgLmFkZHJlc3Mge1xuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmZvcm0taXRlbS1jb3VudHJ5IHtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIC5mb3JtLWl0ZW0tc3RyZWV0LWFkZHJlc3Mge1xuICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgfVxuICB9XG4gICAgLmZvcm0taXRlbS1jaXR5LFxuICAgIC5mb3JtLWl0ZW0tc3RhdGUsXG4gICAgLmZvcm0taXRlbS16aXBjb2RlIHtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZS1sYW5kc2NhcGUtYW5kLXVwIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbS1jaXR5LFxuICAgIC5mb3JtLWl0ZW0tc3RhdGUge1xuICAgICAgQGluY2x1ZGUgbW9iaWxlLWxhbmRzY2FwZS1hbmQtdXAge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9ybS1pdGVtLWNpdHkge1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0taXRlbS10aGVhdHJlLWZvY3VzLWFyZWFzLFxuICAuZm9ybS1pdGVtLXRoZWF0ZXItYXJlYXMtb2YtaW50ZXJlc3Qge1xuICAgIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrYm94ZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXR5cGUtY2hlY2tib3gge1xuICAgICAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICAgICAgZmxleDogMSAwIDMzJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QtZHJvcGRvd24ge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYig0OCwgNDgsIDQ4KTtcbiAgfVxuICAuZm9ybS10eXBlLXJhZGlvIGxhYmVsLm9wdGlvbjpiZWZvcmUge1xuICAgIC8vYm9yZGVyOiAxM3B4IHNvbGlkIHdoaXRlO1xuICAgIGJvcmRlcjogN3B4IHNvbGlkIHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2IoNjUsIDY1LCA2NSk7XG4gICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNXB4LCAtNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIGlucHV0IHtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZS1vbmx5IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgI2VkaXQtbmV4dCxcbiAgICAjZWRpdC1yZXR1cm4ge1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFqYXgtcHJvZ3Jlc3MtdGhyb2JiZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGxpZ2h0LWdyZXktMTtcbiAgfVxuICA6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gICAgY29sb3I6ICRsaWdodC1ncmV5LTE7XG4gIH1cbiAgOjotbW96LXBsYWNlaG9sZGVyIHsgIC8qIEZpcmVmb3ggMTkrICovXG4gICAgY29sb3I6ICRsaWdodC1ncmV5LTE7XG4gIH1cbiAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRsaWdodC1ncmV5LTE7XG4gIH1cbiAgLnJlcXVpcmVkLW1lc3NhZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogJGxpZ2h0LWdyZXktMVxuICB9XG59XG5cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLXR5cGUtZm9ybSB7XG4gIC5tZW1iZXJzaGlwLXR5cGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcbiAgfVxuICBpbnB1dC5mb3JtLXJhZGlvW2NoZWNrZWQ9XCJjaGVja2VkXCJdICsgbGFiZWwge1xuICAgIGJveC1zaGFkb3c6IDdweCA3cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gIH1cbiAgLmZvcm0tdHlwZS1yYWRpbyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbiAgbGFiZWwub3B0aW9uIHtcbiAgICBwYWRkaW5nOiAyMHB4IDQ1cHggMjBweCA3NXB4O1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICB9XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDMwJTtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtYW5kLXVwIHtcbiAgICAgICAgdG9wOiA0NSU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LWZhbWlseTogJHB0LXNhbnMtYm9sZDtcbiAgICBAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtYW5kLXVwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgfVxuICB9XG4gIC5vcHRpb24tY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogcmdiKDY1LCA2NSwgNjUpO1xuICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LWZhbWlseTogJHB0LXNhbnMtYm9sZDtcbiAgfVxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogMS4zMzNlbTtcbiAgfVxuICB1bCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzZW07XG4gIH1cbn1cblxuLmJyZWFkY3J1bWIgYSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tcmVnaXN0ZXItZm9ybSB7XG4gICNlZGl0LWxvZ2luLFxuICAuZm9ybS1pdGVtLWZpcnN0LW5hbWUsXG4gIC5mb3JtLWl0ZW0tbGFzdC1uYW1lLFxuICAuZm9ybS1pdGVtLW1haWwsXG4gIC5mb3JtLXR5cGUtcGFzc3dvcmQtY29uZmlybSxcbiAgLmZvcm0tdHlwZS1wYXNzd29yZCxcbiAgI2dvb2dsZV9yZWNhcHRjaGFfYWFjdF9tZW1iZXJzaGlwX3Byb2Nlc3NfcmVnaXN0ZXJfZm9ybSxcbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmZvcm0taXRlbS1maXJzdC1uYW1lLFxuICAuZm9ybS1pdGVtLWxhc3QtbmFtZSB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBAaW5jbHVkZSBtb2JpbGUtbGFuZHNjYXBlLWFuZC11cCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuICAuZm9ybS1pdGVtLW1haWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5mb3JtLWl0ZW0tbWFpbCxcbiAgLmZvcm0tdHlwZS1wYXNzd29yZCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBAaW5jbHVkZSBtb2JpbGUtbGFuZHNjYXBlLWFuZC11cCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuICAuZm9ybS1pdGVtLXBhc3Mge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5mb3JtLXR5cGUtcGFzc3dvcmQtY29uZmlybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gIH1cbiAgLmZvcm0tdHlwZS1wYXNzd29yZCB7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgQGluY2x1ZGUgbW9iaWxlLWxhbmRzY2FwZS1hbmQtdXAge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbiAgLmZvcm0taXRlbS1wYXNzLXBhc3MxIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIEBpbmNsdWRlIG1vYmlsZS1wb3J0cmFpdC1hbmQtYmVsb3cge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG4gIC5wYXNzd29yZC1zdHJlbmd0aCxcbiAgLnBhc3N3b3JkLWNvbmZpcm06bm90KC5mb3JtLXRleHQpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICB9XG4gIC5wYXNzd29yZC1jb25maXJtOm5vdCguZm9ybS10ZXh0KSB7XG4gICAgQGluY2x1ZGUgbW9iaWxlLW9ubHkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgICB9XG4gIH1cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgJjphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnBhc3N3b3JkLXN0cmVuZ3RoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtYW5kLXVwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAucGFzc3dvcmQtc3VnZ2VzdGlvbnMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAjZWRpdC1sb2dpbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI2dvb2dsZV9yZWNhcHRjaGFfYWFjdF9tZW1iZXJzaGlwX3Byb2Nlc3Nfam9pbl9yZWdpc3Rlcl9mb3JtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxufVxuXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0sXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMixcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiB7XG4gID4gZGl2IHtcbiAgICA+IGRpdixcbiAgICA+IGZpZWxkc2V0IHtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyIHtcbiAgICBAaW5jbHVkZSBsZWdhY3ktcGllLWNsZWFyZml4O1xuICAgIHBhZGRpbmc6IDIwcHggMjVweCA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMTkxLCAxOTEsIDE5MSk7XG4gICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDI3NXB4IDIwcHggMTVweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgICNlZGl0LWlzLW5ldy1tZW1iZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IDIxNXB4O1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIC5mb3JtLXR5cGUtcmFkaW8ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgIGNvbG9yOiByZ2IoNjUsIDY1LCA2NSk7XG4gICAgICAmLm9wdGlvbiB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICA+IGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICB9XG4gIC5mb3JtLWl0ZW0tcHJvZHVjdC1pZCB7XG4gICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuICAjbWVtYmVyc2hpcC1wcmljaW5nIHtcbiAgICBAaW5jbHVkZSBsZWdhY3ktcGllLWNsZWFyZml4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGxlZ2FjeS1waWUtY2xlYXJmaXg7XG4gICAgfVxuICAgIC5mb3JtLXJhZGlvcyB7XG4gICAgICBAaW5jbHVkZSBsZWdhY3ktcGllLWNsZWFyZml4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGFiZWwub3B0aW9uIHtcbiAgICAgICAgaGVpZ2h0OiAxMzZweDtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICAgICAgaGVpZ2h0OiAyNjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLWFuZC11cCB7XG4gICAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBmaWVsZHNldCB7XG4gICAgICBmaWVsZHNldCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZvcm0td3JhcHBlciA+IC5maWVsZHNldC13cmFwcGVyID4gZGl2IHtcbiAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICAgIG1hcmdpbjogMzBweCAzMHB4IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50LFxuICAgIC52YWx1ZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwNXB4O1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgY29sb3I6IHJnYigxMzgsIDEzOCwgMTM3KTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcHQtc2Fucy1ib2xkO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJCc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogOHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBpbnB1dCxcbiAgICAudmFsdWUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6ICRtb2JpbGUtb3JkZXItc3VtbWFyeS1pbnB1dC13aWR0aDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nOiAxMHB4IDM1cHggMTBweCAzMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDE5MSwgMTkxLCAxOTEpO1xuICAgICAgZm9udC1mYW1pbHk6ICRwdC1zYW5zLWJvbGQ7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICBjb2xvcjogcmdiKDY1LCA2NSwgNjUpO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2IoMjQ3LCAyNDcsIDI0Nyk7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtYW5kLXVwIHtcbiAgICAgICAgd2lkdGg6ICRkZXNrdG9wLW9yZGVyLXN1bW1hcnktaW5wdXQtd2lkdGg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7XG4gICAgICB9XG4gICAgICArIGxhYmVsIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6ICRtb2JpbGUtb3JkZXItc3VtbWFyeS1pbnB1dC13aWR0aCArIDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgICAgIHJpZ2h0OiAkZGVza3RvcC1vcmRlci1zdW1tYXJ5LWlucHV0LXdpZHRoICsgMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZGlzY291bnQge1xuICAgICAgY29sb3I6IHJnYig3NywgNzcsIDc2KTtcbiAgICB9XG4gICAgLnN1YnRvdGFsLFxuICAgIC5vcmRlci10b3RhbCB7XG4gICAgICArIGxhYmVsIHtcbiAgICAgICAgdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5vcmRlci10b3RhbCB7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICsgbGFiZWwge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgICAuZG9uYXRpb24td3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LWZhbWlseTogJHB0LXNhbnMtYm9sZDtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC00MHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiSGVscCBzdXBwb3J0IGNvbW11bml0eSB0aGVhdHJlIG5hdGlvbndpZGUhXCI7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZS1sYW5kc2NhcGUtYW5kLXVwIHtcbiAgICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgICAgIHRvcDogLTUwcHg7XG4gICAgICAgICAgbGVmdDogLTM3MHB4O1xuICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nha2VfYnViYmxlLnBuZycpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMTM2cHg7XG4gICAgICAgIGNvbG9yOiByZ2IoNjUsIDY1LCA2NSk7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgICAgIHJpZ2h0OiAxNzZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGFiZWwge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkcHQtc2Fucy1yZWd1bGFyO1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUtb25seSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IC02cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICAgICAgbGVmdDogLTEzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGNvbG9yOiByZ2IoNjUsIDY1LCA2NSk7XG4gICAgICBmb250LWZhbWlseTogJHB0LXNhbnMtYm9sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtYW5kLXVwIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBsYWJlbC5vcHRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiA3NXB4O1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgICAgIGJvdHRvbTogMjVweDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3R0b206IDgwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1zdWJtaXRbdmFsdWU9XCJDb250aW51ZVwiXSB7XG4gICAgJi5oaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiNvcmRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5mb3JtLXN1Ym1pdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTQwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtYW5kLXVwIHtcbiAgICAgIHRvcDogMjFweDtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1pdGVtLWRpcnR5LWJ1ZGdldC5pbnB1dC1maWVsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTVweCA1MHB4IDE4MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMzVweCAwO1xuICBiYWNrZ3JvdW5kOiAjYmZiZmJmO1xufVxuXG4gIC5mb3JtLWl0ZW0tZGlydHktYnVkZ2V0LmlucHV0LWZpZWxkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZvcm0taXRlbS1kaXJ0eS1idWRnZXQuaW5wdXQtZmllbGQge1xuICAgICAgcGFkZGluZzogMTVweCAxMTBweCAxNXB4IDM3MHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5mb3JtLWl0ZW0tZGlydHktYnVkZ2V0LmlucHV0LWZpZWxkID4gbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjNDE0MTQxICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTkwcHg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZvcm0taXRlbS1kaXJ0eS1idWRnZXQuaW5wdXQtZmllbGQgPiBsYWJlbCB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG4gIC5mb3JtLWl0ZW0tZGlydHktYnVkZ2V0LmlucHV0LWZpZWxkIGlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiA3MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTVjNTNkICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZm9ybS1pdGVtLWRpcnR5LWJ1ZGdldC5pbnB1dC1maWVsZCBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiAyNzBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIC5mb3JtLWl0ZW0tZGlydHktYnVkZ2V0LmlucHV0LWZpZWxkIGlucHV0OmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5NWM1M2Q7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLy8gLmZvcm0taXRlbS1zdWJtaXR0ZWQtb3JnYW5pemF0aW9uLW1lbWJlcnNoaXAtc2VsZWN0aW9uLWNpdmljcm0tMS1tZW1iZXJzaGlwLTEtbWVtYmVyc2hpcC1udW0tdGVybXNcbi5mb3JtLWl0ZW0uZm9ybS1pdGVtLW1lbWJlcnNoaXAtbGVuZ3RoIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6IHJnYigyNDIsIDI0MiwgMjQyKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcblxuICBAaW5jbHVkZSBtb2JpbGUtb25seSB7XG4gICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtYW5kLXVwIHtcbiAgICB3aWR0aDogMzIlO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICB9XG4gIGxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICB9XG4gIGxhYmVsLmlzLWFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogN3B4IDdweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE3KTtcbiAgfVxuICAucHJpY2Uge1xuICAgIGhlaWdodDogODVweDtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRwdC1zYW5zLWJvbGQ7XG4gICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICBoZWlnaHQ6IDEzNXB4O1xuICAgICAgcGFkZGluZzogNTBweCAwIDQwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtYW5kLXVwIHtcbiAgICAgIGhlaWdodDogMTc1cHg7XG4gICAgICBwYWRkaW5nOiA2NXB4IDAgNDBweDtcbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICYuZG9sbGFycyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjVlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAub25lIHtcbiAgICAucHJpY2Uge1xuICAgICAgYmFja2dyb3VuZDogcmdiKDI0NSwgMTE0LCAzMik7XG4gICAgfVxuICAgIC5sZW5ndGgge1xuICAgICAgY29sb3I6IHJnYigyNDUsIDExNCwgMzIpO1xuICAgIH1cbiAgfVxuICAudHdvIHtcbiAgICAucHJpY2Uge1xuICAgICAgYmFja2dyb3VuZDogcmdiKDEsIDE3OSwgMjM5KTtcbiAgICB9XG4gICAgLmxlbmd0aCB7XG4gICAgICBjb2xvcjogcmdiKDEsIDE3OSwgMjM5KTtcbiAgICB9XG4gIH1cbiAgLnRocmVlIHtcbiAgICAucHJpY2Uge1xuICAgICAgYmFja2dyb3VuZDogcmdiKDEyOSwgMTIwLCAxODUpO1xuICAgIH1cbiAgICAubGVuZ3RoIHtcbiAgICAgIGNvbG9yOiByZ2IoMTI5LCAxMjAsIDE4NSk7XG4gICAgfVxuICB9XG4gIC5kb2xsYXItc2lnbixcbiAgLmNlbnRzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgfVxuICB9XG4gIC5kb2xsYXJzIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtYW5kLXVwIHtcbiAgICAgIGZvbnQtc2l6ZTogODBweDtcbiAgICB9XG4gIH1cbiAgLmxlbmd0aCB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgfVxuICAuZGlzY291bnQtbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1jb250ZW50IHtcbiAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuXG4vL3dlYmZvcm0tY29tcG9uZW50LWZpZWxkc2V0IG1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuIHdlYmZvcm0tY29tcG9uZW50LS1vcmdhbml6YXRpb24tbWVtYmVyc2hpcC1zZWxlY3Rpb24gZm9ybS13cmFwcGVyXG4ubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAyMjBweDtcbiAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE3MHB4O1xuICB9XG4gIC5mb3JtLXR5cGUtcmFkaW8ge1xuICAgIG1hcmdpbjogMDtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjFweDtcbiAgICAgICAgbGVmdDogMjAwcHg7XG4gICAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJkcy1vdXRsaW5lLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZS1sYW5kc2NhcGUtYW5kLXVwIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgICAgIGJvdHRvbTogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxhYmVsLm9wdGlvbiB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAyMnB4IDIycHggMjJweCA4MHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigxOTEsMTkxLDE5MSk7XG4gICAgY29sb3I6IHJnYig2NSwgNjUsIDY1KTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDMzJTtcbiAgICAgIGxlZnQ6IDMwcHg7XG4gICAgfVxuICB9XG4gICNjcmVkaXQtY2FyZCB7XG4gICAgQGluY2x1ZGUgbGVnYWN5LXBpZS1jbGVhcmZpeDtcbiAgfVxuICAuZm9ybS1pdGVtLWNyZWRpdC1jYXJkLW93bmVyLFxuICAuZm9ybS1pdGVtLWNyZWRpdC1jYXJkLW51bWJlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbiAgLmZvcm0taXRlbS1jcmVkaXQtY2FyZC1jb2RlLFxuICAuZm9ybS1pdGVtLWNyZWRpdC1jYXJkLXppcGNvZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtYW5kLXVwIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgfVxuICB9XG4gIC5jb21tZXJjZS1jcmVkaXQtY2FyZC1leHBpcmF0aW9uLFxuICAuZm9ybS1pdGVtLWNyZWRpdC1jYXJkLWNvZGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLmNvbW1lcmNlLWNyZWRpdC1jYXJkLWV4cGlyYXRpb24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG4gIC5mb3JtLWl0ZW0tY3JlZGl0LWNhcmQtZXhwLW1vbnRoLFxuICAuZm9ybS1pdGVtLWNyZWRpdC1jYXJkLWV4cC15ZWFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucmVxdWlyZWQtbWVzc2FnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgfVxufVxuXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctc2VsZWN0LWZvcm0sXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctYXNjYXAtZm9ybSB7XG4gIC5mb3JtLXJhZGlvcyB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgbGFiZWwge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ucGFnZS1tZW1iZXJzaGlwLXRoYW5rLXlvdSAuYmxvY2stbWFpbiB7XG4gIC5jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LWZhbWlseTogJHB0LXNhbnMtYm9sZDtcbiAgfVxuICBwIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICB9XG4gIGEuYnRuIHtcbiAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBAaW5jbHVkZSBtb2JpbGUtbGFuZHNjYXBlLWFuZC11cCB7XG4gICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIFN0eWxlcyBjb3BpZWQgZnJvbSBtYXRlcmlhbGl6ZVxuLmZvcm0tdHlwZS1yYWRpbyB7XG5cbiAgbGFiZWwge1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JleS0yO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjdXJzb3I6IHRleHQ7XG4gICAgdHJhbnNpdGlvbjogLjJzIGVhc2Utb3V0O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICBbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG5cbiAgW3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmJlZm9yZSxcbiAgW3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luOiA0cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHotaW5kZXg6IDA7XG4gICAgLS10cmFuc2l0aW9uOiAuMjhzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogLjI4cyBlYXNlO1xuICB9XG5cbiAgW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGRhcmstZ3JleS0yO1xuICB9XG5cbiAgW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcbiAgW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuICBbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcbiAgW3R5cGU9XCJyYWRpb1wiXS53aXRoLWdhcDpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuICBbdHlwZT1cInJhZGlvXCJdLndpdGgtZ2FwOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG5cbiAgW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG4gIFt0eXBlPVwicmFkaW9cIl0ud2l0aC1nYXA6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbiAgW3R5cGU9XCJyYWRpb1wiXS53aXRoLWdhcDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRkYXJrLWdyZWVuO1xuICB9XG5cbiAgW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG4gIFt0eXBlPVwicmFkaW9cIl0ud2l0aC1nYXA6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmVlbjtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gIH1cbn1cblxuXG5cbi8vIFRoaXMgY29kZSBwdWxscyBpbnRvIHRoZSB0aGVtZSBTQ1NTIFNhcmEncyBDU1MgdGhhdCB3YXMgcGxhY2VkIGlubGluZSBpbiB0aGUgZm9ybSBlZGl0LlxuLndlYmZvcm0tY29uZGl0aW9uYWwtcHJvY2Vzc2VkIHtcbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JleS0yO1xuICAgIGhlaWdodDogMnJlbTtcbiAgfVxuXG4gIC5mb3JtLWFjdGlvbnMge1xuICAgIGlucHV0IHtcbiAgICAgIGhlaWdodDogM3JlbTtcbiAgICB9XG4gIH1cbiAgLy8gU3R5bGVzIGNvcGllZCBmcm9tIG1hdGVyaWFsaXplXG4gIGxhYmVsIHtcbiAgICBjb2xvcjogJGxpZ2h0LWdyZXktMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY3Vyc29yOiB0ZXh0O1xuICAgIHRyYW5zaXRpb246IC4ycyBlYXNlLW91dDtcbiAgfVxuXG4gIC5mb3JtLXR5cGUtY2hlY2tib3gge1xuICAgIGlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpiZWZvcmUsXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoLmZpbGxlZC1pbikgKyBsYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkZGFyay1ncmV5LTI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICB0cmFuc2l0aW9uOiAuMnM7XG4gICAgfVxuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICB0b3A6IC00cHg7XG4gICAgICBsZWZ0OiAtNXB4O1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGRhcmstZ3JlZW47XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGRhcmstZ3JlZW47XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MGRlZyk7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGUtMjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIG1heC13aWR0aDogMzk3cHg7XG4gIH1cblxuXG4gIC5mb3JtLWl0ZW0tdGhlYXRlci1hcmVhcy1vZi1pbnRlcmVzdCBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIH1cblxuICAuZm9ybS1pdGVtLXRoZWF0cmUtZm9jdXMtYXJlYXMge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgIGxhYmVsIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIHNlY3Rpb24gdHVybnMgdGhlIHJhZGlvIGJ1dHRvbnMgZm9yIG1lbWJlcnNoaXAgbGV2ZWwgaW50byBjb2xvcmVkIGJveGVzLlxuLmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aCBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbi5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGggW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwsXG5kaXYubWVtYmVyc2hpcC1sZW5ndGgtb3B0aW9uLWxpc3QgW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwge1xuXHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0aGVpZ2h0OjEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6JHdoaXRlLTI7XG59XG5cbi8vIEhpZ2hsaWdodGluZyBmb3IgY29sb3JmdWwgcmFkaW8gYnV0dG9uIGJsb2Nrc1xuLmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aCBbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gIC5tZW1iZXJzaGlwLWxlbmd0aC1vcHRpb25fMSxcbiAgLm1lbWJlcnNoaXAtbGVuZ3RoLW9wdGlvbiB7XG5cdCAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAmLm9uZSB7XG4gICAgICBib3JkZXItY29sb3I6ICNmNTcyMjA7XG4gICAgICAvL2JveC1zaGFkb3c6IDdweCA3cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gICAgICBib3gtc2hhZG93OiA3cHggN3B4IDVweCByZ2JhKDI0NSwgMTE0LCAzMiwgLjMzKTtcbiAgICB9XG5cbiAgICAmLnR3byB7XG4gICAgICBib3JkZXItY29sb3I6ICMwMWIzZWY7XG4gICAgICBib3gtc2hhZG93OiA3cHggN3B4IDVweCByZ2JhKDEsIDE3OSwgMjM5LCAuMzMpO1xuICAgIH1cblxuICAgICYudGhyZWUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODE3OGI5O1xuICAgICAgYm94LXNoYWRvdzogN3B4IDdweCA1cHggcmdiYSgxMjksIDEyMCwgMTg1LCAuMzMpO1xuICAgIH1cbiAgfVxufVxuXG5cbi53ZWJmb3JtLWNvbXBvbmVudC0tbWVtYmVyc2hpcC1wcm9jZXNzLXR5cGUtLWNpdmljcm0tMi1jb250YWN0LTEtY2cxNy1maWVsZHNldCAuZmllbGRzZXQtd3JhcHBlciAuZm9ybS1pdGVtIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogNDAlO1xufVxuXG4ud2ViZm9ybS1jb21wb25lbnQtLW1lbWJlcnNoaXAtcHJvY2Vzcy10eXBlLS1jaXZpY3JtLTItY29udGFjdC0xLWNnMTctZmllbGRzZXQgLmZpZWxkc2V0LXdyYXBwZXIgLndlYmZvcm0tY29tcG9uZW50LW1hcmt1cCB7XG5cdHBhZGRpbmc6IDQwcHg7XG59XG5cbi53ZWJmb3JtLWNvbXBvbmVudC0tbWVtYmVyc2hpcC1wcm9jZXNzLXR5cGUtLWNpdmljcm0tMS1jb250YWN0LTEtY2cxNy1maWVsZHNldCAuZmllbGRzZXQtd3JhcHBlciAud2ViZm9ybS1jb21wb25lbnQtbWFya3VwIC5idXR0b24ge1xuXHRwYWRkaW5nOiA5cHggMTNweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cdGJhY2tncm91bmQ6IHVybCgnc2l0ZXMvZGVmYXVsdC9maWxlcy9zdHlsZXMvbWVkaWFfdGh1bWJuYWlsL3B1YmxpYy9idG4tYmcucG5nJykgJGRhcmstZ3JlZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyZWVuO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6ICRkYXJrLWdyZWVuIDBweCAtMXB4IDBweDtcbiAgZm9udC1mYW1pbHk6IG9wZW5zYW5zLXNlbWlib2xkO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4uZm9ybS1pdGVtLXN1Ym1pdHRlZC1vcmdhbml6YXRpb24tbWVtYmVyc2hpcC1zZWxlY3Rpb24tY2l2aWNybS0xLW1lbWJlcnNoaXAtMS1tZW1iZXJzaGlwLW51bS10ZXJtcyBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4uZm9ybS1pdGVtLXN1Ym1pdHRlZC1vcmdhbml6YXRpb24tbWVtYmVyc2hpcC1zZWxlY3Rpb24tY2l2aWNybS0xLW1lbWJlcnNoaXAtMS1tZW1iZXJzaGlwLW51bS10ZXJtcyBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcbi5mb3JtLWl0ZW0tc3VibWl0dGVkLW9yZ2FuaXphdGlvbi1tZW1iZXJzaGlwLXNlbGVjdGlvbi1jaXZpY3JtLTEtbWVtYmVyc2hpcC0xLW1lbWJlcnNoaXAtbnVtLXRlcm1zIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbi5mb3JtLWl0ZW0tc3VibWl0dGVkLW9yZ2FuaXphdGlvbi1tZW1iZXJzaGlwLXNlbGVjdGlvbi1jaXZpY3JtLTEtbWVtYmVyc2hpcC0xLW1lbWJlcnNoaXAtbnVtLXRlcm1zIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuLmZvcm0taXRlbS1zdWJtaXR0ZWQtb3JnYW5pemF0aW9uLW1lbWJlcnNoaXAtc2VsZWN0aW9uLWNpdmljcm0tMS1tZW1iZXJzaGlwLTEtbWVtYmVyc2hpcC1udW0tdGVybXMgW3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmJlZm9yZSxcbi5mb3JtLWl0ZW0tc3VibWl0dGVkLW9yZ2FuaXphdGlvbi1tZW1iZXJzaGlwLXNlbGVjdGlvbi1jaXZpY3JtLTEtbWVtYmVyc2hpcC0xLW1lbWJlcnNoaXAtbnVtLXRlcm1zIFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDphZnRlciB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoOiAwcHg7XG4gIGhlaWdodDogMHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZy1sZWZ0OjA7XG59XG5cbmZvcm0taXRlbS53ZWJmb3JtLWNvbXBvbmVudC0tb3JnYW5pemF0aW9uLW1lbWJlcnNoaXAtc2VsZWN0aW9uLS1tZW1iZXJzaGlwLWFtb3VudCxcbmZvcm0taXRlbS53ZWJmb3JtLWNvbXBvbmVudC0tb3JnYW5pemF0aW9uLW1lbWJlcnNoaXAtc2VsZWN0aW9uLS1tZW1iZXJzaGlwLWFtb3VudCBsYWJlbCxcbmZvcm0taXRlbS53ZWJmb3JtLWNvbXBvbmVudC0tb3JnYW5pemF0aW9uLW1lbWJlcnNoaXAtc2VsZWN0aW9uLS1tZW1iZXJzaGlwLWFtb3VudCBpbnB1dCxcbmxhYmVsW2Zvcj1lZGl0LXN1Ym1pdHRlZC1vcmdhbml6YXRpb24tbWVtYmVyc2hpcC1zZWxlY3Rpb24tbWVtYmVyc2hpcC1hbW91bnRdLFxuaW5wdXQubWVtYmVyc2hpcC1hbW91bnQtbnVtYmVyLWlkIHtcblx0ZGlzcGxheTpub25lO1xuXHRoZWlnaHQ6MHB4O1xufVxuXG4ud2ViZm9ybS1jb21wb25lbnQtLW1lbWJlcnNoaXAtY29udHJpYnV0aW9uLWFtb3VudC0tY2l2aWNybS0xLWNvbnRyaWJ1dGlvbi0xLWNvbnRyaWJ1dGlvbi10b3RhbC1hbW91bnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vLyBUaGlzIGlzbid0IHdvcmtpbmcgb24gdGhlIE9yZ2FuaXphdGlvbiBNZW1iZXJzaGlwIGZvcm06XG4vLyBPbiB0aGUgSW5kaXZpZHVhbCBmb3JtLCB0aGlzIGlzIGRpc3BsYXllZCB1c2luZyBjb2RlIGZyb20gdGhlIGN1c3RvbSBtb2R1bGUuXG4ud2ViZm9ybS1jb21wb25lbnQtLW1lbWJlcnNoaXAtY29udHJpYnV0aW9uLWFtb3VudCB7XG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDpyaWdodDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnc2l0ZXMvZGVmYXVsdC9maWxlcy9zdHlsZXMvbWVkaWFfZ2FsbGVyeV90aHVtYm5haWwvcHVibGljL2FhY3Rfc3VwcG9ydF90aGVhdHJlXzIucG5nJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cbiAgICAuZGVzYy10ZXh0IHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDYwcHggNDBweCBhdXRvIDI4cHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIG1hcmdpbi1yaWdodDogMjUlO1xuICAgIC8vbWFyZ2luLXRvcDogLTQwcHg7XG4gICAgLy9tYXJnaW4tYm90dG9tOiAtMTIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5tZW1iZXJzaGlwLWpvaW4tLWhhbGYtd2lkdGgtZmllbGRzIHtcbiAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBmbGV4OiAxIDAgNDglO1xuICAgICAgJjpudGgtY2hpbGQob2RkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1heC13aWR0aDogNDglO1xuICAgICAgfVxuICAgICAgaW5wdXQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXN3YXAtZW1haWwtcGhvbmUge1xuICAvLyBQb3AgZW1haWwgdG8gZW5kXG4gIC5mb3JtLWl0ZW0tbWFpbCB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgQGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LWFuZC11cCB7XG4gICAgLmZvcm0taXRlbS1tYWlsIHtcbiAgICAgIG1heC13aWR0aDogNDglO1xuICAgIH1cbiAgICAvLyBSZW1vdmUgbWF4IHdpZHRoIGZyb20gbGFzdC1jaGlsZCwgdGhhdCdzIGVtYWlsIG5vd1xuICAgIC5mb3JtLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgfVxuICAgIC8vIEFkZCBtYXJnaW4gdG8gdGhlIHBob25lIG51bWJlciB3aGljaCBpcyBub3cgaW4gYW4gJ29kZCcgcGxhY2VtZW50XG4gICAgLmZvcm0taXRlbS1waG9uZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQlO1xuICAgIH1cbiAgfVxufVxuXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXN3YXAtZW1haWwtdGl0bGUge1xuICAvLyBQb3AgZW1haWwgYW5kIHRpdGxlIHRvIGVuZFxuICAuZm9ybS1pdGVtLW1haWwsXG4gIC5mb3JtLWl0ZW0tam9iLXRpdGxlIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICBAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtYW5kLXVwIHtcbiAgICAuZm9ybS1pdGVtLW1haWwge1xuICAgICAgbWF4LXdpZHRoOiA0OCU7XG4gICAgfVxuICAgIC8vIFJlbW92ZSBtYXggd2lkdGggZnJvbSBsYXN0LWNoaWxkLCB0aGF0J3MgZW1haWwgbm93XG4gICAgLmZvcm0taXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gICAgLy8gQWRkIG1hcmdpbiB0byB0aGUgcGhvbmUgbnVtYmVyL2pvYiB0aXRsZSBhcyB0aGV5IGFyZSBub3cgJ29kZCdcbiAgICAuZm9ybS1pdGVtLXBob25lIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNCU7XG4gICAgfVxuICAgIC8vIFJlbW92ZSBtYXJnaW4gZnJvbSBzZWNvbmRhcnkgcGhvbmUvZW1haWwsIG5vIGxvbmdlciAnb2RkJ1xuICAgIC8vIFVzZSBhIHBvd2VyZnVsIHNlbGVjdG9yIGJlY2F1c2UgdGhlIGZpcnN0IGRlY2xhcmF0aW9uIGlzIHByZXR0eSBkZWVwXG4gICAgLmZvcm0taXRlbS5pbnB1dC1maWVsZCB7XG4gICAgICAmLmZvcm0taXRlbS1waG9uZS1zZWNvbmRhcnkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gPiBkaXYgPiBkaXYsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gPiBkaXYgPiBmaWVsZHNldCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiA+IGRpdiA+IGRpdixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiA+IGRpdiA+IGZpZWxkc2V0LFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSA+IGRpdiA+IGRpdixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gPiBkaXYgPiBmaWVsZHNldCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgPiBkaXYgPiBkaXYsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yID4gZGl2ID4gZmllbGRzZXQsXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gPiBkaXYgPiBkaXYsXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gPiBkaXYgPiBmaWVsZHNldCB7XG4gIHBhZGRpbmc6IDAgNXB4OyB9XG5cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyIHtcbiAgcGFkZGluZzogMjBweCAyNXB4IDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2JmYmZiZjtcbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlcjphZnRlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlcjphZnRlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXI6YWZ0ZXIsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyOmFmdGVyLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIsXG4gIC5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlciB7XG4gICAgcGFkZGluZzogMjBweCAyNzVweCAyMHB4IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyICNlZGl0LWlzLW5ldy1tZW1iZXIsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIgI2VkaXQtaXMtbmV3LW1lbWJlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIgI2VkaXQtaXMtbmV3LW1lbWJlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIgI2VkaXQtaXMtbmV3LW1lbWJlcixcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlciAjZWRpdC1pcy1uZXctbWVtYmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiAyMTVweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyICNlZGl0LWlzLW5ldy1tZW1iZXIsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlciAjZWRpdC1pcy1uZXctbWVtYmVyLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyICNlZGl0LWlzLW5ldy1tZW1iZXIsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIgI2VkaXQtaXMtbmV3LW1lbWJlcixcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyICNlZGl0LWlzLW5ldy1tZW1iZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIgLmZvcm0tdHlwZS1yYWRpbyxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlciAuZm9ybS10eXBlLXJhZGlvLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlciAuZm9ybS10eXBlLXJhZGlvLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlciAuZm9ybS10eXBlLXJhZGlvLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyIC5mb3JtLXR5cGUtcmFkaW8ge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBtYXJnaW46IDA7XG59XG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIgbGFiZWwsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIgbGFiZWwsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyIGxhYmVsLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlciBsYWJlbCxcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlciBsYWJlbCB7XG4gIGNvbG9yOiAjNDE0MTQxO1xufVxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyIGxhYmVsLm9wdGlvbixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlciBsYWJlbC5vcHRpb24sXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyIGxhYmVsLm9wdGlvbixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIgbGFiZWwub3B0aW9uLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyIGxhYmVsLm9wdGlvbiB7XG4gIHRvcDogYXV0bztcbiAgcGFkZGluZzogMCAwIDAgMzBweDtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtIC5mb3JtLXR5cGUtcmFkaW9zLmZvcm0taXRlbS1pcy1uZXctbWVtYmVyID4gbGFiZWwsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIgPiBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIgPiBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgLmZvcm0tdHlwZS1yYWRpb3MuZm9ybS1pdGVtLWlzLW5ldy1tZW1iZXIgPiBsYWJlbCxcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAuZm9ybS10eXBlLXJhZGlvcy5mb3JtLWl0ZW0taXMtbmV3LW1lbWJlciA+IGxhYmVsIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAuZm9ybS1pdGVtLXByb2R1Y3QtaWQsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAuZm9ybS1pdGVtLXByb2R1Y3QtaWQsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gLmZvcm0taXRlbS1wcm9kdWN0LWlkLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yIC5mb3JtLWl0ZW0tcHJvZHVjdC1pZCxcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuIC5mb3JtLWl0ZW0tcHJvZHVjdC1pZCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZzphZnRlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nOmFmdGVyLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nOmFmdGVyLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nOmFmdGVyLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmc6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbTphZnRlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW06YWZ0ZXIsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbTphZnRlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtOmFmdGVyLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1yYWRpb3MsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1yYWRpb3MsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0tcmFkaW9zLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXJhZGlvcyxcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXJhZGlvcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXJhZGlvczphZnRlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXJhZGlvczphZnRlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1yYWRpb3M6YWZ0ZXIsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0tcmFkaW9zOmFmdGVyLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0tcmFkaW9zOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXJhZGlvcyBsYWJlbC5vcHRpb24sXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1yYWRpb3MgbGFiZWwub3B0aW9uLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXJhZGlvcyBsYWJlbC5vcHRpb24sXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0tcmFkaW9zIGxhYmVsLm9wdGlvbixcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXJhZGlvcyBsYWJlbC5vcHRpb24ge1xuICBoZWlnaHQ6IDEzNnB4O1xuICBoZWlnaHQ6IGF1dG87XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXJhZGlvcyBsYWJlbC5vcHRpb24sXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXJhZGlvcyBsYWJlbC5vcHRpb24sXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1yYWRpb3MgbGFiZWwub3B0aW9uLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0tcmFkaW9zIGxhYmVsLm9wdGlvbixcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0tcmFkaW9zIGxhYmVsLm9wdGlvbiB7XG4gICAgaGVpZ2h0OiAyNjBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXJhZGlvcyBsYWJlbC5vcHRpb24sXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXJhZGlvcyBsYWJlbC5vcHRpb24sXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1yYWRpb3MgbGFiZWwub3B0aW9uLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0tcmFkaW9zIGxhYmVsLm9wdGlvbixcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0tcmFkaW9zIGxhYmVsLm9wdGlvbiB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIGZpZWxkc2V0IGZpZWxkc2V0LFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgZmllbGRzZXQgZmllbGRzZXQsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgZmllbGRzZXQgZmllbGRzZXQsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgZmllbGRzZXQgZmllbGRzZXQsXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gI21lbWJlcnNoaXAtcHJpY2luZyBmaWVsZHNldCBmaWVsZHNldCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXdyYXBwZXIgPiAuZmllbGRzZXQtd3JhcHBlciA+IGRpdixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXdyYXBwZXIgPiAuZmllbGRzZXQtd3JhcHBlciA+IGRpdixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS13cmFwcGVyID4gLmZpZWxkc2V0LXdyYXBwZXIgPiBkaXYsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0td3JhcHBlciA+IC5maWVsZHNldC13cmFwcGVyID4gZGl2LFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0td3JhcHBlciA+IC5maWVsZHNldC13cmFwcGVyID4gZGl2IHtcbiAgbWFyZ2luOiAzMHB4IDA7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLXdyYXBwZXIgPiAuZmllbGRzZXQtd3JhcHBlciA+IGRpdixcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0td3JhcHBlciA+IC5maWVsZHNldC13cmFwcGVyID4gZGl2LFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0td3JhcHBlciA+IC5maWVsZHNldC13cmFwcGVyID4gZGl2LFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0td3JhcHBlciA+IC5maWVsZHNldC13cmFwcGVyID4gZGl2LFxuICAubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS13cmFwcGVyID4gLmZpZWxkc2V0LXdyYXBwZXIgPiBkaXYge1xuICAgIG1hcmdpbjogMzBweCAzMHB4IDQwcHg7XG4gIH1cbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50LFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAudmFsdWUsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50LFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC52YWx1ZSxcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50LFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDEwNXB4O1xuICBmb250LXNpemU6IDI1cHg7XG4gIGNvbG9yOiAjOGE4YTg5O1xuICBmb250LWZhbWlseTogUFQtU2Fucy1Cb2xkLCBBcmlhbCwgSGVsdmV0aWNhO1xufVxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQ6YmVmb3JlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlOmJlZm9yZSxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50OmJlZm9yZSxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC52YWx1ZTpiZWZvcmUsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQ6YmVmb3JlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC52YWx1ZTpiZWZvcmUsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQ6YmVmb3JlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC52YWx1ZTpiZWZvcmUsXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudDpiZWZvcmUsXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gI21lbWJlcnNoaXAtcHJpY2luZyAudmFsdWU6YmVmb3JlIHtcbiAgY29udGVudDogJyQnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDhweDtcbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGlucHV0LFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXQsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAudmFsdWUsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXQsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGlucHV0LFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC52YWx1ZSxcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGlucHV0LFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMTYwcHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxMHB4IDM1cHggMTBweCAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmZiZmJmO1xuICBmb250LWZhbWlseTogUFQtU2Fucy1Cb2xkLCBBcmlhbCwgSGVsdmV0aWNhO1xuICBmb250LXNpemU6IDI1cHg7XG4gIGNvbG9yOiAjNDE0MTQxO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXQsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC52YWx1ZSxcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXQsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC52YWx1ZSxcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGlucHV0LFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXQsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAudmFsdWUsXG4gIC5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGlucHV0LFxuICAubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gI21lbWJlcnNoaXAtcHJpY2luZyAudmFsdWUge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4O1xuICB9XG59XG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBpbnB1dCArIGxhYmVsLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlICsgbGFiZWwsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBpbnB1dCArIGxhYmVsLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlICsgbGFiZWwsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXQgKyBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAudmFsdWUgKyBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBpbnB1dCArIGxhYmVsLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC52YWx1ZSArIGxhYmVsLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXQgKyBsYWJlbCxcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC52YWx1ZSArIGxhYmVsIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDE3MHB4O1xuICB3aWR0aDogMTMwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBpbnB1dCArIGxhYmVsLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAudmFsdWUgKyBsYWJlbCxcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXQgKyBsYWJlbCxcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlICsgbGFiZWwsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBpbnB1dCArIGxhYmVsLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlICsgbGFiZWwsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBpbnB1dCArIGxhYmVsLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLnZhbHVlICsgbGFiZWwsXG4gIC5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGlucHV0ICsgbGFiZWwsXG4gIC5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC52YWx1ZSArIGxhYmVsIHtcbiAgICByaWdodDogMjMwcHg7XG4gIH1cbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5kaXNjb3VudCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5kaXNjb3VudCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZGlzY291bnQsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmRpc2NvdW50LFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLmRpc2NvdW50IHtcbiAgY29sb3I6ICM0ZDRkNGM7XG59XG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuc3VidG90YWwgKyBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5vcmRlci10b3RhbCArIGxhYmVsLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLnN1YnRvdGFsICsgbGFiZWwsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAub3JkZXItdG90YWwgKyBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuc3VidG90YWwgKyBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAub3JkZXItdG90YWwgKyBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuc3VidG90YWwgKyBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAub3JkZXItdG90YWwgKyBsYWJlbCxcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5zdWJ0b3RhbCArIGxhYmVsLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLm9yZGVyLXRvdGFsICsgbGFiZWwge1xuICB0b3A6IDEwcHggIWltcG9ydGFudDtcbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5vcmRlci10b3RhbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5vcmRlci10b3RhbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAub3JkZXItdG90YWwsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLm9yZGVyLXRvdGFsLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLm9yZGVyLXRvdGFsIHtcbiAgY29sb3I6ICM5NWM1M2Q7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAub3JkZXItdG90YWwgKyBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5vcmRlci10b3RhbCArIGxhYmVsLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5vcmRlci10b3RhbCArIGxhYmVsLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5vcmRlci10b3RhbCArIGxhYmVsLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLm9yZGVyLXRvdGFsICsgbGFiZWwge1xuICBjb2xvcjogIzk1YzUzZDtcbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5kb25hdGlvbi13cmFwcGVyLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmRvbmF0aW9uLXdyYXBwZXIsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmRvbmF0aW9uLXdyYXBwZXIsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmRvbmF0aW9uLXdyYXBwZXIsXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gI21lbWJlcnNoaXAtcHJpY2luZyAuZG9uYXRpb24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6IFBULVNhbnMtQm9sZCwgQXJpYWwsIEhlbHZldGljYTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gI21lbWJlcnNoaXAtcHJpY2luZyAuZG9uYXRpb24td3JhcHBlcjpiZWZvcmUsXG4gIC5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5kb25hdGlvbi13cmFwcGVyOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG59XG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZG9uYXRpb24td3JhcHBlcjpiZWZvcmUsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZG9uYXRpb24td3JhcHBlcjpiZWZvcmUsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmRvbmF0aW9uLXdyYXBwZXI6YmVmb3JlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5kb25hdGlvbi13cmFwcGVyOmJlZm9yZSxcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5kb25hdGlvbi13cmFwcGVyOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNDBweDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAyNzBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb250ZW50OiBcIkhlbHAgc3VwcG9ydCBjb21tdW5pdHkgdGhlYXRyZSBuYXRpb253aWRlIVwiO1xuICBjb2xvcjogIzk1YzUzZDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmRvbmF0aW9uLXdyYXBwZXI6YmVmb3JlLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZG9uYXRpb24td3JhcHBlcjpiZWZvcmUsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZG9uYXRpb24td3JhcHBlcjpiZWZvcmUsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZG9uYXRpb24td3JhcHBlcjpiZWZvcmUsXG4gIC5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5kb25hdGlvbi13cmFwcGVyOmJlZm9yZSB7XG4gICAgd2lkdGg6IDMyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZG9uYXRpb24td3JhcHBlcjpiZWZvcmUsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5kb25hdGlvbi13cmFwcGVyOmJlZm9yZSxcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5kb25hdGlvbi13cmFwcGVyOmJlZm9yZSxcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5kb25hdGlvbi13cmFwcGVyOmJlZm9yZSxcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLmRvbmF0aW9uLXdyYXBwZXI6YmVmb3JlIHtcbiAgICB0b3A6IC01MHB4O1xuICAgIGxlZnQ6IC0zNzBweDtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgaGVpZ2h0OiAxNjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2FrZV9idWJibGUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudDpiZWZvcmUsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudDpiZWZvcmUsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQ6YmVmb3JlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50OmJlZm9yZSxcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50OmJlZm9yZSB7XG4gIHRvcDogMTFweDtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEzNnB4O1xuICBjb2xvcjogIzQxNDE0MTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQ6YmVmb3JlLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudDpiZWZvcmUsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudDpiZWZvcmUsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudDpiZWZvcmUsXG4gIC5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDE3NnB4O1xuICB9XG59XG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGxhYmVsLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGxhYmVsLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGxhYmVsLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgbGFiZWwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBQVC1TYW5zLVJlZ3VsYXIsIEFyaWFsLCBIZWx2ZXRpY2E7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgbGFiZWwsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGxhYmVsLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgbGFiZWwsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBsYWJlbCxcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgbGFiZWwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtNnB4O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGxhYmVsLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBsYWJlbCxcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGxhYmVsLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgbGFiZWwsXG4gIC5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGxhYmVsIHtcbiAgICBsZWZ0OiAtMTMwcHg7XG4gIH1cbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDA7XG59XG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cywgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyAuZm9ybS1pdGVtLWRvbmF0aW9uLWFtb3VudCBpbnB1dFt0eXBlPVwidGV4dFwiXTphY3RpdmUsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmFjdGl2ZSxcbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tcGxhbiAjbWVtYmVyc2hpcC1wcmljaW5nIC5mb3JtLWl0ZW0tZG9uYXRpb24tYW1vdW50IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgLmZvcm0taXRlbS1kb25hdGlvbi1hbW91bnQgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwsXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gLmZvcm0tbWVtYmVyc2hpcC1sZW5ndGggbGFiZWwsXG5sYWJlbFtmb3I9ZWRpdC1zdWJtaXR0ZWQtb3JnYW5pemF0aW9uLW1lbWJlcnNoaXAtc2VsZWN0aW9uLWNpdmljcm0tMS1tZW1iZXJzaGlwLTEtbWVtYmVyc2hpcC1tZW1iZXJzaGlwLXR5cGUtaWRdLFxubGFiZWxbZm9yPWVkaXQtc3VibWl0dGVkLW1lbWJlcnNoaXAtcHJvY2Vzcy10eXBlLWNpdmljcm0tMS1jb250YWN0LTEtY2cxNy1maWVsZHNldC1jaXZpY3JtLTEtY29udGFjdC0xLWNnMTctY3VzdG9tLTM3XSxcbmxhYmVsW2Zvcj1lZGl0LXN1Ym1pdHRlZC1tZW1iZXJzaGlwLWNvbnRyaWJ1dGlvbi1hbW91bnQtY2l2aWNybS0xLWNvbnRyaWJ1dGlvbi0xLWNvbnRyaWJ1dGlvbi10b3RhbC1hbW91bnRdIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzQxNDE0MTtcbiAgZm9udC1mYW1pbHk6IFBULVNhbnMtQm9sZCwgQXJpYWwsIEhlbHZldGljYTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIGxhYmVsLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbCxcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIGxhYmVsLm9wdGlvbixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbC5vcHRpb24sXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbC5vcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICBwYWRkaW5nOiAwO1xufVxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmJlZm9yZSxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIGxhYmVsLm9wdGlvbjphZnRlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIGxhYmVsLm9wdGlvbjpiZWZvcmUsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbC5vcHRpb246YWZ0ZXIsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmJlZm9yZSxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbC5vcHRpb246YWZ0ZXIsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmJlZm9yZSxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbC5vcHRpb246YWZ0ZXIsXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbC5vcHRpb246YmVmb3JlLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmFmdGVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDc1cHg7XG4gIGxlZnQ6IDMwcHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmJlZm9yZSxcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmFmdGVyLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbC5vcHRpb246YmVmb3JlLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0tLTIgI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbC5vcHRpb246YWZ0ZXIsXG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbC5vcHRpb246YmVmb3JlLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmFmdGVyLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmJlZm9yZSxcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIGxhYmVsLm9wdGlvbjphZnRlcixcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmJlZm9yZSxcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmFmdGVyIHtcbiAgICBib3R0b206IDI1cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIGxhYmVsLm9wdGlvbjphZnRlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAjbWVtYmVyc2hpcC1wcmljaW5nIGxhYmVsLm9wdGlvbjphZnRlcixcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1tZW1iZXJzaGlwLWZvcm0gI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbC5vcHRpb246YWZ0ZXIsXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmFmdGVyLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmFmdGVyIHtcbiAgYm90dG9tOiA4MHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybSAjbWVtYmVyc2hpcC1wcmljaW5nIGxhYmVsLm9wdGlvbjphZnRlcixcbiAgI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmFmdGVyLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmFmdGVyLFxuICAjYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3MtcmVuZXctbWVtYmVyc2hpcC1mb3JtLS0yICNtZW1iZXJzaGlwLXByaWNpbmcgbGFiZWwub3B0aW9uOmFmdGVyLFxuICAubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXBsYW4gI21lbWJlcnNoaXAtcHJpY2luZyBsYWJlbC5vcHRpb246YWZ0ZXIge1xuICAgIGJvdHRvbTogMzBweDtcbiAgfVxufVxuXG4jYWFjdC1tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi1tZW1iZXJzaGlwLWZvcm0gLmZvcm0tc3VibWl0W3ZhbHVlPVwiQ29udGludWVcIl0uaGlkZSxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLW1lbWJlcnNoaXAtZm9ybS0tMiAuZm9ybS1zdWJtaXRbdmFsdWU9XCJDb250aW51ZVwiXS5oaWRlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybSAuZm9ybS1zdWJtaXRbdmFsdWU9XCJDb250aW51ZVwiXS5oaWRlLFxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LW1lbWJlcnNoaXAtZm9ybS0tMiAuZm9ybS1zdWJtaXRbdmFsdWU9XCJDb250aW51ZVwiXS5oaWRlLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1wbGFuIC5mb3JtLXN1Ym1pdFt2YWx1ZT1cIkNvbnRpbnVlXCJdLmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jb3JkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI29yZGVyLWNvbnRhaW5lciAuZm9ybS1zdWJtaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTQwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogODAlO1xuICBtYXJnaW46IGF1dG87XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNvcmRlci1jb250YWluZXIgLmZvcm0tc3VibWl0IHtcbiAgICB0b3A6IDIxcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmZvcm0taXRlbS1kaXJ0eS1idWRnZXQuaW5wdXQtZmllbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE1cHggNTBweCAxODBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDM1cHggMDtcbiAgYmFja2dyb3VuZDogI2JmYmZiZjtcbn1cbi5mb3JtLWl0ZW0tZGlydHktYnVkZ2V0LmlucHV0LWZpZWxkOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvcm0taXRlbS1kaXJ0eS1idWRnZXQuaW5wdXQtZmllbGQge1xuICAgIHBhZGRpbmc6IDE1cHggMTEwcHggMTVweCAzNzBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4uZm9ybS1pdGVtLWRpcnR5LWJ1ZGdldC5pbnB1dC1maWVsZCA+IGxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICM0MTQxNDEgIWltcG9ydGFudDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDE5MHB4O1xuICBtYXJnaW46IGF1dG87XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWl0ZW0tZGlydHktYnVkZ2V0LmlucHV0LWZpZWxkID4gbGFiZWwge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cbi5mb3JtLWl0ZW0tZGlydHktYnVkZ2V0LmlucHV0LWZpZWxkIGlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiA3MHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgIzk1YzUzZCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9ybS1pdGVtLWRpcnR5LWJ1ZGdldC5pbnB1dC1maWVsZCBpbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogMjcwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuLmZvcm0taXRlbS1kaXJ0eS1idWRnZXQuaW5wdXQtZmllbGQgaW5wdXQ6Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTVjNTNkO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuI2VkaXQtc3VibWl0dGVkLW1lbWJlcnNoaXAtcHJvY2Vzcy10eXBlLWNpdmljcm0tMS1tZW1iZXJzaGlwLTEtbWVtYmVyc2hpcC1udW0tdGVybXMge1xuICBwYWRkaW5nOiAwO1xuXG4gIC5tZW1iZXJzaGlwLWxlbmd0aC1vcHRpb24tbGlzdCBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gTGFiZWxzIGZvciBib3RoIGluZGl2aWR1YWwgYW5kIG9yZ2FuaXphdGlvblxuLndlYmZvcm0tY29tcG9uZW50LS1jaXZpY3JtLTEtbGluZWl0ZW0tMi1jb250cmlidXRpb24tbGluZS10b3RhbCxcbi53ZWJmb3JtLWNvbXBvbmVudC0tbWVtYmVyc2hpcC1jb250cmlidXRpb24tYW1vdW50LS1jaXZpY3JtLTEtY29udHJpYnV0aW9uLTEtY29udHJpYnV0aW9uLXRvdGFsLWFtb3VudCxcbi53ZWJmb3JtLWNvbXBvbmVudC0tbWVtYmVyc2hpcC1wcm9jZXNzLXR5cGUtLWNpdmljcm0tMS1tZW1iZXJzaGlwLTEtbWVtYmVyc2hpcC1tZW1iZXJzaGlwLXR5cGUtaWQsXG4ud2ViZm9ybS1jb21wb25lbnQtLW1lbWJlcnNoaXAtcHJvY2Vzcy10eXBlLS1hZGRpdGlvbmFsLWRldGFpbHMtLWNpdmljcm0tMS1jb250cmlidXRpb24tMS1jb250cmlidXRpb24tdG90YWwtYW1vdW50LFxuLndlYmZvcm0tY29tcG9uZW50LS1tZW1iZXJzaGlwLXByb2Nlc3MtdHlwZS0tY2l2aWNybS0xLW1lbWJlcnNoaXAtMS1tZW1iZXJzaGlwLW51bS10ZXJtcyxcbi53ZWJmb3JtLWNvbXBvbmVudC0tbWVtYmVyc2hpcC1wcm9jZXNzLXR5cGUtLWFkZGl0aW9uYWwtZGV0YWlscy0tdG90YWwtYW1vdW50LWRpc3BsYXktb25seSB7XG4gICYuZm9ybS1pdGVtID4gbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogIzQxNDE0MTtcbiAgICBmb250LWZhbWlseTogUFQtU2Fucy1Cb2xkLCBBcmlhbCwgSGVsdmV0aWNhO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4vLyBJbmRpdmlkdWFsIG1lbWJlcnNoaXAgZm9ybSBjb2xvcmZ1bCByYWRpbyBidXR0b25zXG4uZm9ybS1pdGVtLmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aC53ZWJmb3JtLWNvbXBvbmVudC53ZWJmb3JtLWNvbXBvbmVudC0tbWVtYmVyc2hpcC1wcm9jZXNzLXR5cGUtLWNpdmljcm0tMS1tZW1iZXJzaGlwLTEtbWVtYmVyc2hpcC1udW0tdGVybXMge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcblxuICAvLyBIaWRlIHJhZGlvIGJ1dHRvbiBvbiBjb2xvcmZ1bCByYWRpbyBidXR0b25zXG4gIGxhYmVsIHtcbiAgICAmLm9wdGlvbiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTk5OTlweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGgsXG4uZm9ybS1pdGVtLW1lbWJlcnNoaXAtdGVybXMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogYmFja2dyb3VuZDogI2YyZjJmMjsgKi9cbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDsgfVxuXG4ubWVtYmVyc2hpcC1sZW5ndGgtb3B0aW9uIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGg6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vL3RhcyBmaXggY29sb3JmdWwgbWVtYmVyc2hpcCByYWRpbyBib3hlcy5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4vLyBPdmVycmlkZSBjdXN0b20gbW9kdWxlXG5kaXYubWVtYmVyc2hpcC1sZW5ndGgtb3B0aW9uLWxpc3QgbGFiZWwge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMTUwcHg7XG59XG5cbi8vIE9yZyBtZW1iZXJzaGlwIGZvcm0gY29sb3JmdWwgcmFkaW8gYnV0dG9uc1xuLmZvcm0taXRlbS5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGgud2ViZm9ybS1jb21wb25lbnQtLW1lbWJlcnNoaXAtcHJvY2Vzcy10eXBlLS1jaXZpY3JtLTItbWVtYmVyc2hpcC0xLW1lbWJlcnNoaXAtbnVtLXRlcm1zLFxuLm1lbWJlcnNoaXAtbGVuZ3RoLW9wdGlvbi1saXN0IC5mb3JtLWl0ZW0uZm9ybS1pdGVtLXN1Ym1pdHRlZC1tZW1iZXJzaGlwLXByb2Nlc3MtdHlwZS1jaXZpY3JtLTEtbWVtYmVyc2hpcC0xLW1lbWJlcnNoaXAtbnVtLXRlcm1zLFxuLmZvcm0taXRlbS1zdWJtaXR0ZWQtbWVtYmVyc2hpcC1wcm9jZXNzLXR5cGUtY2l2aWNybS0xLW1lbWJlcnNoaXAtMS1tZW1iZXJzaGlwLW51bS10ZXJtcyxcbi5mb3JtLWl0ZW0tc3VibWl0dGVkLW9yZ2FuaXphdGlvbi1tZW1iZXJzaGlwLXNlbGVjdGlvbi1jaXZpY3JtLTEtbWVtYmVyc2hpcC0xLW1lbWJlcnNoaXAtbnVtLXRlcm1zIHtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIHdpZHRoOiAyOCU7XG4gICAgcGFkZGluZzogMCAxLjUlO1xuICB9XG59XG5cbi53ZWJmb3JtLWNvbXBvbmVudC0tbWVtYmVyc2hpcC1wcm9jZXNzLXR5cGUtLWFkZGl0aW9uYWwtZGV0YWlscy0tY2l2aWNybS0xLWNvbnRyaWJ1dGlvbi0xLWNvbnRyaWJ1dGlvbi10b3RhbC1hbW91bnQge1xuICBtYXJnaW4tdG9wOiAzZW07XG59XG5cbi5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGggLmZvcm0tdHlwZS1yYWRpbyBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG4uZm9ybS1pdGVtLW1lbWJlcnNoaXAtbGVuZ3RoIC5mb3JtLXR5cGUtcmFkaW8gbGFiZWwuaXMtYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogN3B4IDdweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE3KTtcbn1cblxuLmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aCAucHJpY2Uge1xuICBoZWlnaHQ6IDg1cHg7XG4gIHBhZGRpbmc6IDQwcHggMjBweCAwO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiBQVC1TYW5zLUJvbGQsIEFyaWFsLCBIZWx2ZXRpY2E7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aCAucHJpY2Uge1xuICAgIGhlaWdodDogMTQ1cHg7XG4gICAgcGFkZGluZzogNjBweCAyMHB4IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0LmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aCAucHJpY2Uge1xuICAgIGhlaWdodDogMTY1cHg7XG4gICAgcGFkZGluZzogNzVweCAwIDA7XG4gIH1cbn1cblxuLmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aCAucHJpY2Ugc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBsaW5lLWhlaWdodDogMWVtO1xufVxuXG4uZm9ybS1pdGVtLW1lbWJlcnNoaXAtbGVuZ3RoIC5wcmljZSBzcGFuLmRvbGxhcnMge1xuICBsaW5lLWhlaWdodDogMC41ZW07XG59XG5cbi5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGggLm9uZSAucHJpY2Uge1xuICBiYWNrZ3JvdW5kOiAjZjU3MjIwOyAvLyByZ2I6IDI0NSwgMTE0LCAzMlxufVxuLmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aCAub25lIC5sZW5ndGgge1xuICBjb2xvcjogI2Y1NzIyMDtcbn1cbi5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGggLnR3byAucHJpY2Uge1xuICBiYWNrZ3JvdW5kOiAjMDFiM2VmOyAvL3JnYjogMSwgMTc5LCAyMzlcbn1cbi5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGggLnR3byAubGVuZ3RoIHtcbiAgY29sb3I6ICMwMWIzZWY7XG59XG4uZm9ybS1pdGVtLW1lbWJlcnNoaXAtbGVuZ3RoIC50aHJlZSAucHJpY2Uge1xuICBiYWNrZ3JvdW5kOiAjODE3OGI5OyAvLyByZ2I6IDEyOSAxMjAgMTg1XG59XG4uZm9ybS1pdGVtLW1lbWJlcnNoaXAtbGVuZ3RoIC50aHJlZSAubGVuZ3RoIHtcbiAgY29sb3I6ICM4MTc4Yjk7XG59XG4uZm9ybS1pdGVtLW1lbWJlcnNoaXAtbGVuZ3RoIC5kb2xsYXItc2lnbixcbi5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGggLmNlbnRzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGggLmRvbGxhci1zaWduLFxuICAuZm9ybS1pdGVtLW1lbWJlcnNoaXAtbGVuZ3RoIC5jZW50cyxcbiAgI2N0MDFcdCAge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgfVxufVxuLmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aCAuZG9sbGFycyxcbiAgICAgI2RsMDEgIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBsZXR0ZXItc3BhY2luZzogLTJweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aCAuZG9sbGFycyxcbiAgICAjZGwwMSAgIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGggLmRvbGxhcnMsXG4gICAjZGwwMSAgXHQgIHtcbiAgICBmb250LXNpemU6IDgwcHg7XG4gIH1cbn1cbi5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGggLmxlbmd0aCxcbiAgICN5cmxuMDEge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbi5mb3JtLWl0ZW0tbWVtYmVyc2hpcC1sZW5ndGggLmxlbmd0aCxcbiAjeXJsbjAxIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG59XG4uZm9ybS1pdGVtLW1lbWJlcnNoaXAtbGVuZ3RoIC5kaXNjb3VudC1tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvcm0taXRlbS1tZW1iZXJzaGlwLWxlbmd0aCAuZGlzY291bnQtbWVzc2FnZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxufVxuXG4uZHJvcGRvd24tY29udGVudCB7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbn1cblxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1wYXltZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogMjIwcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZW1iZXJzaGlwLXByb2Nlc3MtcGF5bWVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE3MHB4O1xuICB9XG59XG4ubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQgLmZvcm0tdHlwZS1yYWRpbyB7XG4gIG1hcmdpbjogMDtcbn1cbi5tZW1iZXJzaGlwLXByb2Nlc3MtcGF5bWVudCAuZm9ybS10eXBlLXJhZGlvOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1wYXltZW50IC5mb3JtLXR5cGUtcmFkaW86Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjFweDtcbiAgbGVmdDogMjAwcHg7XG4gIHdpZHRoOiAxNzVweDtcbiAgaGVpZ2h0OiAyN3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2FyZHMtb3V0bGluZS5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgY29udGVudDogXCJcIjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1wYXltZW50IC5mb3JtLXR5cGUtcmFkaW86Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4ubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQgLmZvcm0tdHlwZS1yYWRpbzpsYXN0LWNoaWxkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1wYXltZW50IC5mb3JtLXR5cGUtcmFkaW86bGFzdC1jaGlsZCB7XG4gICAgYm90dG9tOiAxMDBweDtcbiAgfVxufVxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1wYXltZW50IGxhYmVsLm9wdGlvbiB7XG4gIHRvcDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAyMnB4IDIycHggMjJweCA4MHB4O1xuICBiYWNrZ3JvdW5kOiAjYmZiZmJmO1xuICBjb2xvcjogIzQxNDE0MTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5tZW1iZXJzaGlwLXByb2Nlc3MtcGF5bWVudCBsYWJlbC5vcHRpb246YmVmb3JlLCAubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQgbGFiZWwub3B0aW9uOmFmdGVyIHtcbiAgdG9wOiAzMyU7XG4gIGxlZnQ6IDMwcHg7XG59XG4ubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQgI2NyZWRpdC1jYXJkOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5tZW1iZXJzaGlwLXByb2Nlc3MtcGF5bWVudCAuZm9ybS1pdGVtLWNyZWRpdC1jYXJkLW93bmVyLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1wYXltZW50IC5mb3JtLWl0ZW0tY3JlZGl0LWNhcmQtbnVtYmVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQgLmZvcm0taXRlbS1jcmVkaXQtY2FyZC1vd25lcixcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1wYXltZW50IC5mb3JtLWl0ZW0tY3JlZGl0LWNhcmQtbnVtYmVyIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG4ubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQgLmZvcm0taXRlbS1jcmVkaXQtY2FyZC1jb2RlLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1wYXltZW50IC5mb3JtLWl0ZW0tY3JlZGl0LWNhcmQtemlwY29kZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQgLmZvcm0taXRlbS1jcmVkaXQtY2FyZC1jb2RlLFxuICAubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQgLmZvcm0taXRlbS1jcmVkaXQtY2FyZC16aXBjb2RlIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG59XG4ubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQgLmNvbW1lcmNlLWNyZWRpdC1jYXJkLWV4cGlyYXRpb24sXG4ubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQgLmZvcm0taXRlbS1jcmVkaXQtY2FyZC1jb2RlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5tZW1iZXJzaGlwLXByb2Nlc3MtcGF5bWVudCAuY29tbWVyY2UtY3JlZGl0LWNhcmQtZXhwaXJhdGlvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1wYXltZW50IC5jb21tZXJjZS1jcmVkaXQtY2FyZC1leHBpcmF0aW9uIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cbi5tZW1iZXJzaGlwLXByb2Nlc3MtcGF5bWVudCAuZm9ybS1pdGVtLWNyZWRpdC1jYXJkLWV4cC1tb250aCxcbi5tZW1iZXJzaGlwLXByb2Nlc3MtcGF5bWVudCAuZm9ybS1pdGVtLWNyZWRpdC1jYXJkLWV4cC15ZWFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1wYXltZW50IC5mb3JtLWFjdGlvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMzBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubWVtYmVyc2hpcC1wcm9jZXNzLXBheW1lbnQgLnJlcXVpcmVkLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbn1cblxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LXNlbGVjdC1mb3JtIC5mb3JtLXJhZGlvcyxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1hc2NhcC1mb3JtIC5mb3JtLXJhZGlvcyB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xufVxuI2FhY3QtbWVtYmVyc2hpcC1wcm9jZXNzLXJlbmV3LXNlbGVjdC1mb3JtIC5mb3JtLXJhZGlvcyBsYWJlbCxcbiNhYWN0LW1lbWJlcnNoaXAtcHJvY2Vzcy1yZW5ldy1hc2NhcC1mb3JtIC5mb3JtLXJhZGlvcyBsYWJlbCB7XG4gIHRvcDogMDtcbn1cblxuLnBhZ2UtbWVtYmVyc2hpcC10aGFuay15b3UgLmJsb2NrLW1haW4gLmNvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wYWdlLW1lbWJlcnNoaXAtdGhhbmsteW91IC5ibG9jay1tYWluIGgyIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LWZhbWlseTogUFQtU2Fucy1Cb2xkLCBBcmlhbCwgSGVsdmV0aWNhO1xufVxuXG4ucGFnZS1tZW1iZXJzaGlwLXRoYW5rLXlvdSAuYmxvY2stbWFpbiBwIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS42ZW07XG59XG5cbi5wYWdlLW1lbWJlcnNoaXAtdGhhbmsteW91IC5ibG9jay1tYWluIGEuYnRuIHtcbiAgcGFkZGluZzogMCAycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1tZW1iZXJzaGlwLXRoYW5rLXlvdSAuYmxvY2stbWFpbiBhLmJ0biB7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1lbWJlcnNoaXAtam9pbi0taGFsZi13aWR0aC1maWVsZHMgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAubWVtYmVyc2hpcC1qb2luLS1oYWxmLXdpZHRoLWZpZWxkcyAuZm9ybS1pdGVtIHtcbiAgICBmbGV4OiAxIDAgNDglO1xuICB9XG4gIC5tZW1iZXJzaGlwLWpvaW4tLWhhbGYtd2lkdGgtZmllbGRzIC5mb3JtLWl0ZW06bnRoLWNoaWxkKG9kZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgfVxuICAubWVtYmVyc2hpcC1qb2luLS1oYWxmLXdpZHRoLWZpZWxkcyAuZm9ybS1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1heC13aWR0aDogNDglO1xuICB9XG4gIC5tZW1iZXJzaGlwLWpvaW4tLWhhbGYtd2lkdGgtZmllbGRzIC5mb3JtLWl0ZW0gaW5wdXQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cblxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1zd2FwLWVtYWlsLXBob25lIC5mb3JtLWl0ZW0tbWFpbCB7XG4gIG9yZGVyOiAxO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tc3dhcC1lbWFpbC1waG9uZSAuZm9ybS1pdGVtLW1haWwge1xuICAgIG1heC13aWR0aDogNDglO1xuICB9XG4gIC5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbi0tc3dhcC1lbWFpbC1waG9uZSAuZm9ybS1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgfVxuICAubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXN3YXAtZW1haWwtcGhvbmUgLmZvcm0taXRlbS1waG9uZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgfVxufVxuXG4ubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXN3YXAtZW1haWwtdGl0bGUgLmZvcm0taXRlbS1tYWlsLFxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1zd2FwLWVtYWlsLXRpdGxlIC5mb3JtLWl0ZW0tam9iLXRpdGxlIHtcbiAgb3JkZXI6IDE7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1zd2FwLWVtYWlsLXRpdGxlIC5mb3JtLWl0ZW0tbWFpbCB7XG4gICAgbWF4LXdpZHRoOiA0OCU7XG4gIH1cbiAgLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luLS1zd2FwLWVtYWlsLXRpdGxlIC5mb3JtLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgIGNvbG9yOiBibGFjaztcbiAgfVxuICAubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXN3YXAtZW1haWwtdGl0bGUgLmZvcm0taXRlbS1waG9uZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgfVxuICAubWVtYmVyc2hpcC1wcm9jZXNzLWpvaW4tLXN3YXAtZW1haWwtdGl0bGUgLmZvcm0taXRlbS5pbnB1dC1maWVsZC5mb3JtLWl0ZW0tcGhvbmUtc2Vjb25kYXJ5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luIGlucHV0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm1lbWJlcnNoaXAtcHJvY2Vzcy1qb2luIC5mb3JtLWl0ZW0tdGhlYXRyZS1mb2N1cy1hcmVhcyB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbi5tZW1iZXJzaGlwLXByb2Nlc3Mtam9pbiAuZm9ybS1pdGVtLXRoZWF0cmUtZm9jdXMtYXJlYXMgbGFiZWwge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLndlYmZvcm0tY29tcG9uZW50LS1tZW1iZXJzaGlwLWR1cmF0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgXCJtZWRpYV9xdWVyaWVzXCI7XG5cbiRwdC1zYW5zLXJlZ3VsYXI6IFBULVNhbnMtUmVndWxhciwgQXJpYWwsIEhlbHZldGljYTtcbiRwdC1zYW5zLWJvbGQ6IFBULVNhbnMtQm9sZCwgQXJpYWwsIEhlbHZldGljYTtcblxuJG1vYmlsZS1vcmRlci1zdW1tYXJ5LWlucHV0LXdpZHRoOiAxNjBweDtcbiRkZXNrdG9wLW9yZGVyLXN1bW1hcnktaW5wdXQtd2lkdGg6IDIwMHB4O1xuXG4kZ3JlZW46IHJnYigxNDksIDE5NywgNjEpO1xuJHdoaXRlOiByZ2IoMjU1LCAyNTUsIDI1NSk7IiwiLy8gTWVkaWEgUXVlcmllcyBpbiBTYXNzIDMuMlxuLy9cbi8vIFRoZXNlIG1peGlucyBtYWtlIG1lZGlhIHF1ZXJpZXMgYSBicmVlemUgd2l0aCBTYXNzLlxuLy8gVGhlIG1lZGlhIHF1ZXJpZXMgZnJvbSBtb2JpbGUgdXAgdW50aWwgZGVza3RvcCBhbGxcbi8vIHRyaWdnZXIgYXQgZGlmZmVyZW50IHBvaW50cyBhbG9uZyB0aGUgd2F5XG4vL1xuLy8gQW5kIGltcG9ydGFudCBwb2ludCB0byByZW1lbWJlciBpcyB0aGF0IGFuZCB3aWR0aFxuLy8gb3ZlciB0aGUgcG9ydHJhaXQgd2lkdGggaXMgY29uc2lkZXJlZCB0byBiZSBwYXJ0IG9mIHRoZVxuLy8gbGFuZHNjYXBlIHdpZHRoLiBUaGlzIGFsbG93cyB1cyB0byBjYXB0dXJlIHdpZHRocyBvZiBkZXZpY2VzXG4vLyB0aGF0IG1pZ2h0IG5vdCBmaXQgdGhlIGRpbWVuc2lvbnMgZXhhY3RseS4gVGhpcyBtZWFucyB0aGUgYnJlYWtcbi8vIHBvaW50cyBhcmUgc2VhbWxlc3MuXG5cbiRtcS1tb2JpbGUtcG9ydHJhaXQgICAgICAgOiAzMjBweDtcbiRtcS1tb2JpbGUtbGFuZHNjYXBlICAgICAgOiA0ODBweDtcbiRtcS10YWJsZXQtcG9ydHJhaXQgICAgICAgOiA3NjhweDtcbiRtcS10YWJsZXQtbGFuZHNjYXBlICAgICAgOiAxMDI0cHg7XG4kbXEtZGVza3RvcCAgICAgICAgICAgICAgIDogMTI4MHB4OyAvLyAxMzgycHggIWRlZmF1bHQ7XG5cbkBtaXhpbiBrZXlib2FyZC11cCB7Ly8gbWVkaWEgcXVlcnkgdG8gb25seSB0YWtlIGVmZmVjdCB3aGVuIHRoZSBrZXlib2FyZCBpcyB1cCBvbiBhbmRyb2lkIC0tIHNob3VsZCBub3QgYmUgMzIwIHNvIGFzIHRvIGF2b2lkIHNuYWdnaW5nIHRoZSBkZWZhdWx0IGxhbmRzY2FwZSB2aWV3IC0tIENVUlJFTlRMWSBVUCBGT1IgREVMRVRJT04gSUYgTk9UIFVTRUQgU09NRVdIRVJFIEJZIDUtMTItMjAxNFxuICBAbWVkaWEgb25seSBhbGwgYW5kIChtYXgtaGVpZ2h0OiAyODBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vZm9sbG93aW5nIG1lZGlhIHF1ZXJ5IHNob3VsZCBub3QgYmUgcmUtdXNlZCBhbmQgbmVlZHMgdG8gYmUgY2xlYW5lZCBvdXQsIGJ1dCB0byBkbyBzbyBjdXJyZW50bHkgd291bGQgdGFrZSBtb3JlIHJlLWFyY2hpdGVjdHVyaW5nIHRoYW4gd2Ugd2FudCB0byBkby5cbkBtaXhpbiBuaW5lc2l4dHktcGx1cyB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDEwMjRweCksIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpIGFuZCAobWluLWRldmljZS1oZWlnaHQ6ICRtcS10YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQm90aCBwb3J0cmFpdCBhbmQgbGFuZHNjYXBlXG5AbWl4aW4gbW9iaWxlLW9ubHkge1xuICBAbWVkaWEgKG1heC13aWR0aCA6ICRtcS10YWJsZXQtcG9ydHJhaXQgLSAxKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gRXZlcnl0aGluZyB1cCB0byBhbmQgaW5jbHVkaW5nIHRoZSBwb3J0cmFpdCB3aWR0aCBvZiB0aGUgcGhvbmVcbi8vIFNpbmNlIGl0J3MgdGhlIHNtYWxsZXN0IHF1ZXJ5IGl0IGRvZXNuJ3QgbmVlZCBhIG1pblxuQG1peGluIG1vYmlsZS1wb3J0cmFpdC1vbmx5IHtcbiAgQG1lZGlhIChtYXgtd2lkdGggOiAkbXEtbW9iaWxlLWxhbmRzY2FwZSAtIDEpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFdmVyeXRoaW5nIHVwIHRvIGFuZCBpbmNsdWRpbmcgdGhlIG1vYmlsZSBwb3J0cmFpdFxuQG1peGluIG1vYmlsZS1wb3J0cmFpdC1hbmQtYmVsb3cge1xuICBAbWVkaWEgKG1heC13aWR0aCA6ICRtcS1tb2JpbGUtbGFuZHNjYXBlIC0gMSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV2ZXJ5dGhpbmcgYWJvdmUgYW5kIGluY2x1ZGluZyB0aGUgbW9iaWxlIHBvcnRyYWl0XG5AbWl4aW4gbW9iaWxlLXBvcnRyYWl0LWFuZC11cCB7XG4gIEBtZWRpYSAobWluLXdpZHRoIDogJG1xLW1vYmlsZS1wb3J0cmFpdCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV2ZXJ0aGluZyBsYXJnZXIgdGhhbiBhIHBvcnRyYWl0IG1vYmlsZSB1cCB1bnRpbCBtb2JpbGUgbGFuZHNjYXBlXG5AbWl4aW4gbW9iaWxlLWxhbmRzY2FwZS1vbmx5IHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogJG1xLW1vYmlsZS1sYW5kc2NhcGUpIGFuZCAobWF4LXdpZHRoIDogJG1xLXRhYmxldC1wb3J0cmFpdCAtIDEpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFdmVyeXRoaW5nIHVwIHRvIGFuZCBpbmNsdWRpbmcgdGhlIG1vYmlsZSBsYW5kc2NhcGUgd2lkdGhcbkBtaXhpbiBtb2JpbGUtbGFuZHNjYXBlLWFuZC1iZWxvdyB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6ICRtcS10YWJsZXQtcG9ydHJhaXQgLSAxKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gRXZlcnl0aGluZyBhYm92ZSBhbmQgaW5jbHVkaW5nIHRoZSBtb2JpbGUgbGFuZHNjYXBlIHdpZHRoXG5AbWl4aW4gbW9iaWxlLWxhbmRzY2FwZS1hbmQtdXAge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAkbXEtbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV2ZXJ5dGhpbmcgYmV0d2VlbiBhbmQgaW5jbHVkaW5nIG1vYmlsZSBsYW5kc2NhcGUgYW5kIHRhYmxldCBwb3J0cmFpdFxuQG1peGluIG1vYmlsZS1sYW5kc2NhcGUtdGhyb3VnaC10YWJsZXQtcG9ydHJhaXQge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAkbXEtbW9iaWxlLWxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGggOiAkbXEtdGFibGV0LWxhbmRzY2FwZSAtIDEpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFdmVyeXRoaW5nIGJldHdlZW4gYW5kIGluY2x1ZGluZyBtb2JpbGUgbGFuZHNjYXBlIGFuZCB0YWJsZXQgbGFuZHNjYXBlXG5AbWl4aW4gbW9iaWxlLWxhbmRzY2FwZS10aHJvdWdoLXRhYmxldC1sYW5kc2NhcGUge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAkbXEtbW9iaWxlLWxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGggOiAkbXEtZGVza3RvcCAtIDEpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBCb3RoIHRoZSBwb3J0cmFpdCBhbmQgbGFuZHNjYXBlIHdpZHRoIG9mIHRoZSB0YWJsZXRcbi8vIExhcmdlciB0aGFuIGEgbGFuZHNjYXBlIG1vYmlsZSBidXQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGEgbGFuZHNjYXBlIHRhYmxldFxuQG1peGluIHRhYmxldC1vbmx5IHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogJG1xLXRhYmxldC1wb3J0cmFpdCkgYW5kIChtYXgtd2lkdGggOiAkbXEtZGVza3RvcCAtIDEpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFdmVyeXRoaW5nIGxhcmdlciB0aGFuIG1vYmlsZSBsYW5kc2NhcGUgdXAgdW50aWwgdGhlIHBvcnRyYWl0IHdpZHRoIG9mIHRoZSB0YWJsZXRcbkBtaXhpbiB0YWJsZXQtcG9ydHJhaXQtb25seSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICRtcS10YWJsZXQtcG9ydHJhaXQpIGFuZCAobWF4LXdpZHRoIDogJG1xLXRhYmxldC1sYW5kc2NhcGUgLSAxKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gRXZlcnl0aGluZyBiZWxvdyBhbmQgaW5jbHVkaW5nIHRoZSBwb3J0cmFpdCB3aWR0aCBvZiB0aGUgdGFibGV0XG5AbWl4aW4gdGFibGV0LXBvcnRyYWl0LWFuZC1iZWxvdyB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6ICRtcS10YWJsZXQtbGFuZHNjYXBlIC0gMSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV2ZXJ5dGhpbmcgYWJvdmUgYW5kIGluY2x1ZGluZyB0aGUgcG9ydHJhaXQgd2lkdGggb2YgdGhlIHRhYmxldFxuQG1peGluIHRhYmxldC1wb3J0cmFpdC1hbmQtdXAge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAkbXEtdGFibGV0LXBvcnRyYWl0KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTGFyZ2VyIHRoYW4gcG9ydHJhaXQgYnV0IGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgbGFuZHNjYXBlIHdpZHRoXG5AbWl4aW4gdGFibGV0LWxhbmRzY2FwZS1vbmx5IHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogJG1xLXRhYmxldC1sYW5kc2NhcGUpIGFuZCAobWF4LXdpZHRoIDogJG1xLWRlc2t0b3AgLSAxKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gVXAgdG8gYW5kIGluY2x1ZGluZyB0aGUgdGFibGV0IGxhbmRzY2FwZVxuQG1peGluIHRhYmxldC1sYW5kc2NhcGUtYW5kLWJlbG93IHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogJG1xLWRlc2t0b3AgLSAxKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gRXZlcnl0aGluZyBsYXJnZXIgdGhhbiBwb3J0cmFpdCB0YWJsZXRcbkBtaXhpbiB0YWJsZXQtbGFuZHNjYXBlLWFuZC11cCB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICRtcS10YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gRXZlcnl0aGluZyBsYXJnZXIgdGhhbiBhIGxhbmRzY2FwZSB0YWJsZXRcbkBtaXhpbiBkZXNrdG9wLWFuZC11cCB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICRtcS1kZXNrdG9wKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gZm9yIHVzLCB0aGlzIGlzIGFsbCBzaXplcywgdGh1cyBub3QgbmVlZGVkIC1jcCA3LzE5LzEzXG4vLyBFdmVyeXRoaW5nIGJlbG93IGFuZCBpbmNsdWRpbmcgdGhlIGRlc2t0b3Bcbi8vIEBtaXhpbiBkZXNrdG9wLWFuZC1iZWxvdyB7XG4vLyAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6ICRtcS1kZXNrdG9wKSB7XG4vLyAgICAgQGNvbnRlbnQ7XG4vLyAgIH1cbi8vIH1cblxuLy8gRXZlcnl0aGluZyBkZXNrdG9wIGFuZCB1cFxuQG1peGluIGRlc2t0b3Atb25seSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICRtcS1kZXNrdG9wKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gUmV0aW5hIHNjcmVlbnMgaGF2ZSBhIDEuNSBwaXhlbCByYXRpbywgbm90IDJcbkBtaXhpbiByZXRpbmEge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gOiAxLjUpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gOiAxLjUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */