@charset "UTF-8";
/**
 * ---------------------------------------------------------------------------------------------------- #
 *
 * Main Stylesheet
 *
 */
/**
 * ---------------------------------------------------------------------------------------------------- #
 *
 * Scss Mixins
 *
 *
 * enthält Mixins, englische Sprache
 *
 * @section mixins
 */
/**
 * ---------------------------------------------------------------------------------------------------- #
 *
 * Scss Mixins
 *
 *
 * enthÃ¤lt Mixins, englische Sprache
 *
 * @section mixins
 */
/* Breakpoints: http://css-tricks.com/media-queries-sass-3-2-and-codekit/ */
@font-face {
  font-family: 'icon_font';
  src: url("../fonts/icon_font.eot?v=b3b9575");
  src: url("../fonts/icon_font.eot?v=b3b9575#iefix") format("embedded-opentype"), url("../fonts/icon_font.woff?v=26689f4") format("woff"), url("../fonts/icon_font.ttf?v=9ba6482") format("truetype"), url("../fonts/icon_font.svg?v=304cd83#icon_font") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Use the following CSS code if you want to have a class per icon */
/*
Instead of a list of all class selectors,
you can use the generic selector below, but it's slower:
[class*="your-class-prefix"] {
*/
.ico_transcripts, .ico_star_outline, .ico_star_filled, .ico_search, .ico_play_up, .ico_play_right, .ico_play_left, .ico_play_down, .ico_pause, .ico_options, .ico_next, .ico_menu, .ico_mute, .ico_mail, .ico_fullscreen, .ico_dot, .ico_close, .ico_check, .ico_bars, .ico_captions, .ico_back, .ico_arrow_up, .ico_arrow_right, .ico_arrow_left, .ico_arrow_down, .ico_info {
  font-family: 'icon_font';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.ico_transcripts:before {
  content: "\e000"; }

.ico_star_outline:before {
  content: "\e001"; }

.ico_star_filled:before {
  content: "\e002"; }

.ico_search:before {
  content: "\e003"; }

.ico_play_up:before {
  content: "\e004"; }

.ico_play_right:before {
  content: "\e005"; }

.ico_play_left:before {
  content: "\e006"; }

.ico_play_down:before {
  content: "\e007"; }

.ico_pause:before {
  content: "\e008"; }

.ico_options:before {
  content: "\e009"; }

.ico_next:before {
  content: "\e00a"; }

.ico_menu:before {
  content: "\e00b"; }

.ico_mute:before {
  content: "\e00c"; }

.ico_mail:before {
  content: "\e00d"; }

.ico_fullscreen:before {
  content: "\e00e"; }

.ico_dot:before {
  content: "\e00f"; }

.ico_close:before {
  content: "\e010"; }

.ico_check:before {
  content: "\e011"; }

.ico_bars:before {
  content: "\e012"; }

.ico_captions:before {
  content: "\e013"; }

.ico_back:before {
  content: "\e014"; }

.ico_arrow_up:before {
  content: "\e015"; }

.ico_arrow_right:before {
  content: "\e016"; }

.ico_arrow_left:before {
  content: "\e017"; }

.ico_arrow_down:before {
  content: "\e018"; }

.ico_info:before {
  content: "\ea0c"; }

/**
 * ---------------------------------------------------------------------------------------------------- #
 *
 * Base - reset, bugfixes, skiplinks, clearfix
 *
 * include in style
 */
/* Mixins für Standardklassen */
@media all {
  /**
 * ---------------------------------------------------------------------------------------------------- #
 *
 * Standardklassen & Helperklassen
 *
 * generic-content-classes
 */
  .clearfix {
    /* fix für safari */
    display: block; }
    .clearfix:after {
      visibility: hidden;
      display: block;
      clear: both;
      height: 0;
      font-size: 0;
      content: "."; }
  /* Der Kern von Clearfix */
  .float_left {
    float: left; }
  /* links fließen lassen */
  .float_right {
    float: right; }
  /* rechts fließen lassen */
  .block {
    overflow: hidden; }
  /* BFC erzeugen */
  .border_box {
    box-sizing: border-box; }
  .cursor {
    cursor: pointer; }
  /* Hand-Cursor einblenden */
  .text_indent {
    text-indent: -9999px; }
  /* Text aus dem Sichtbereich schieben */
  .uppercase {
    text-transform: uppercase;
    letter-spacing: 0.5px; }
  /* Text in Versalien gesetzt */
  .ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    -o-text-overflow: ellipsis; }
  /* Punktet zu langen Text mit ... aus */
  .hyphens {
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -ms-hyphens: auto;
        hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto; }
  /* Aktiviert Zeilenumbruch */
  .show {
    display: block; }
  /* einblenden */
  .hide {
    display: none !important; }
  /* ausblenden */
  .no_scroll {
    overflow: hidden; } }

/**
 * ---------------------------------------------------------------------------------------------------- #
 *
 * Embedded
 *
 * wird im iframe mit mindestens 600px Breite eingebunden (reset für tablet mediaqueries)
 *
 */
@media screen and (min-width: 600px) and (max-width: 1023px) {
  .embed {
    /* allgemeines */
    padding: 15px 0;
    padding: 0.9375rem 0;
    background-color: transparent;
    /* player */
    /* presse preview */ }
    .embed .page_wrapper {
      position: relative;
      margin: 0 25px;
      margin: 0 1.5625rem; }
    .embed .region_main {
      margin-bottom: 30px;
      margin-bottom: 1.875rem; }
    .embed .mod_player {
      /* fix für safari */
      display: block;
      margin: 0;
      /* Flash! */
      /* Flash! */ }
      .embed .mod_player:after {
        visibility: hidden;
        display: block;
        clear: both;
        height: 0;
        font-size: 0;
        content: "."; }
      .embed .mod_player .player_header {
        height: 22px;
        height: 1.375rem;
        line-height: 22px;
        line-height: 1.375rem; }
        .embed .mod_player .player_header .broadcast_information {
          line-height: 22px;
          line-height: 1.375rem; }
      .embed .mod_player .video_headline {
        max-width: 65%; }
      .embed .mod_player .player_viewport {
        background-color: #000;
        float: left;
        overflow: hidden;
        width: 454px;
        width: 28.375rem;
        height: 283px;
        height: 17.6875rem; }
      .embed .mod_player .player_viewport.fullsize {
        float: none;
        height: 478px;
        height: 29.875rem;
        width: 800px;
        width: 50rem; }
      .embed .mod_player .player_viewport > object.player_wrapper {
        width: 454px;
        width: 28.375rem;
        height: 283px;
        height: 17.6875rem; }
      .embed .mod_player .player_viewport.fullsize object.player_wrapper {
        width: 800px;
        width: 50rem;
        height: 478px;
        height: 29.875rem; }
    .embed .mod_details {
      background-color: #fff;
      float: right;
      height: 283px;
      height: 17.6875rem;
      overflow-y: auto;
      width: 346px;
      width: 21.625rem; }
      .embed .mod_details .details_info {
        display: none; }
      .embed .mod_details .details_description {
        font-size: 12px;
        font-size: 0.75rem;
        line-height: 16px;
        line-height: 1rem;
        padding: 10px;
        padding: 0.625rem; }
    .embed .mod_details.no_shadow .details_desciption {
      box-shadow: none; }
    .embed .mod_container_list {
      margin-bottom: 20px;
      margin-bottom: 1.25rem; }
      .embed .mod_container_list .area_headline {
        margin-bottom: 12px;
        margin-bottom: 0.75rem;
        padding: 0;
        font-size: 16px;
        font-size: 1rem;
        line-height: 18px;
        line-height: 1.125rem;
        color: #fff;
        background-color: transparent; }
      .embed .mod_container_list .subheadline {
        margin-bottom: 4px;
        margin-bottom: 0.25rem;
        padding: 0;
        color: #fff;
        font-size: 16px;
        font-size: 1rem;
        line-height: 18px;
        line-height: 1.125rem;
        font-weight: 400;
        cursor: auto;
        background: transparent none; }
        .embed .mod_container_list .subheadline .ico {
          display: none; }
      .embed .mod_container_list .item_wrapper {
        /* fix für safari */
        display: block;
        display: block !important;
        /* überschreibt js */
        margin-bottom: 20px;
        margin-bottom: 1.25rem;
        padding: 0; }
        .embed .mod_container_list .item_wrapper:after {
          visibility: hidden;
          display: block;
          clear: both;
          height: 0;
          font-size: 0;
          content: "."; }
      .embed .mod_container_list .item {
        overflow: hidden;
        position: relative;
        float: none;
        width: auto;
        height: auto;
        margin: 0;
        border: 0 none;
        background-color: #2a3767;
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 16px;
        line-height: 1rem; }
        .embed .mod_container_list .item:first-of-type .item_inner {
          border-top: 0 none; }
        .embed .mod_container_list .item:nth-of-type(4n+1) {
          clear: none; }
        .embed .mod_container_list .item .item_inner {
          margin: 0 11px 20px;
          margin: 0 0.6875rem 1.25rem;
          padding: 20px 0 0;
          padding: 1.25rem 0 0;
          border-top: 2px solid #a8a8a8;
          background-color: transparent; }
        .embed .mod_container_list .item .item_image {
          float: left;
          width: 138px;
          width: 8.625rem;
          margin-right: 10px;
          margin-right: 0.625rem;
          color: #fff;
          /* Damit man den Text des Alt-Attributs lesen kann */ }
        .embed .mod_container_list .item .item_header {
          float: left;
          width: 25%;
          margin: 0 10px 0 0;
          margin: 0 0.625rem 0 0;
          padding: 0;
          color: #fff; }
        .embed .mod_container_list .item .item_title {
          margin-bottom: 0;
          font-size: 14px;
          font-size: 0.875rem;
          line-height: 16px;
          line-height: 1rem; }
        .embed .mod_container_list .item .broadcast_information {
          color: #a8a8a8; }
        .embed .mod_container_list .item .broadcast_information .meta {
          display: inline-block;
          font-size: 12px;
          font-size: 0.75rem; }
        .embed .mod_container_list .item .item_inner .item_description {
          overflow: hidden;
          clear: none;
          padding: 0 8px;
          padding: 0 0.5rem;
          color: #fff; }
    .embed .embed_code {
      margin-left: 50%;
      background-color: transparent; }
      .embed .embed_code .title {
        color: #fff; } }

/**
 * ---------------------------------------------------------------------------------------------------- #
 *
 * Ebenen
 *
 *
 */
@media (min-width: 1024px) {
  body:after {
    z-index: -1; } }

.mod_player .progress_bar_wrapper {
  z-index: 10; }

.mod_player .bar {
  z-index: 11; }

.mod_player .buffer_bar {
  z-index: 12; }

.mod_player .progress_bar {
  z-index: 13; }

.mod_player .progress_bar_knob {
  z-index: 14; }

.mod_player .progress_bar_tooltip {
  z-index: 15; }

.mod_player .big-play-button:hover .ico,
.mod_player .flash-player-big-play-button:hover .ico {
  color: white; }

.mod_player .flash-player-big-play-button {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #434e4f;
  cursor: pointer; }
  .mod_player .flash-player-big-play-button.enabled {
    display: block; }
  @media (min-width: 1024px) {
    .mod_player .flash-player-big-play-button {
      width: 60px;
      height: 60px; } }
  @media (min-width: 768px) and (max-width: 1023px) {
    .mod_player .flash-player-big-play-button {
      width: 10vw;
      height: 10vw; } }
  @media (max-width: 767px) {
    .mod_player .flash-player-big-play-button {
      width: 12vw;
      height: 12vw; } }
  .mod_player .flash-player-big-play-button .ico {
    color: #ffcb00;
    position: absolute;
    top: 50%;
    left: calc(50% + 3px);
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
    @media (min-width: 1024px) {
      .mod_player .flash-player-big-play-button .ico {
        font-size: 30px;
        line-height: 60px; } }
    @media (min-width: 768px) and (max-width: 1023px) {
      .mod_player .flash-player-big-play-button .ico {
        font-size: 4vw;
        line-height: 10vw; } }
    @media (max-width: 767px) {
      .mod_player .flash-player-big-play-button .ico {
        font-size: 6vw;
        line-height: 12vw; } }

.mod_videocontrols .tooltip {
  z-index: 14; }

.mod_videocontrols .settings_overlay {
  z-index: 15; }

.mod_videocontrols .volume_bar_knob {
  z-index: 16; }

/**
 * ---------------------------------------------------------------------------------------------------- #
 *
 * embed code
 *
 *
 */
.embed_code {
  margin-left: 50%;
  padding: 12px;
  padding: 0.75rem; }
  @media (max-width: 1023px) {
    .embed_code {
      margin: 0;
      background-color: #fff; } }
  @media (min-width: 1024px) {
    .embed_code .title {
      color: #fff; } }
  .embed_code .textarea {
    overflow: visible;
    height: 25px;
    width: 100%;
    padding: 5px;
    box-sizing: border-box;
    resize: none; }

/**
 * ---------------------------------------------------------------------------------------------------- #
 *
 * Player-Modul
 *
 * @section mod_player
 */
.mod_player {
  /* Videos sind nur teilweise fluid.
     *
     *
     * Übersicht über die Player-Arten:
     *      Flashplayer Desktop ->  Videos können derzeit nicht fluid eingebunden werden
     *      Flashplayer mobil   ->  Videos können theoretisch fluid eingebunden werden, praktisch scheitert dies am Markup
     *      Html5-Player        ->  Videos sind fluid eingebunden
     *
     *
     * http://alistapart.com/article/creating-intrinsic-ratios-for-video
     * Normalerweise würde für Videos im Format 16:9 ein Wrapper-Element mit einem padding-bottom von 56.25% erstellt werden.
     * Dadurch entsteht eine Box, die ohne fixe Höhen- und Breitenangaben immer das Format 16:9 beibehält:
     * width: 100%;
     * padding-bottom: 56.25%;
     *
     * In unserem Fall ist dies derzeit nur im Html5-Player möglich.
     * Während das Video zwar im Format 16:9 vorliegt, sind es die zusätzlichen Kontrollelemente in der Desktop-Version des Flashplayers, die mit 28px Höhe zu Buch schlagen und das Format aufbrechen. Da die Kontrollelemente immer fix 28px hoch sind, entstehen so in verschiedenen Viewports unterschiedliche Formate die sich nicht sinnvoll im Padding von Wrapper-Elementen abbilden lassen.
     *
     *
     * Beispiele für 16:9
     * 320 x 180 -> Division: 320/180 = 1,77
     * 738 x 415 -> Division: 738/415 = 1,78
     * 454 x 255 -> Division: 454/255 = 1,78
     *
     *
     * Beispiele Flashplayer-Desktop-Formate
     * 320 x 209 -> Division: 320/209 = 1,53
     * 738 x 443 -> Division: 738/443 = 1,67
     * 454 x 283 -> Division: 454/283 = 1,60
     *
     *
     *
     * Markup-Strukturen
     *
     * Flashplayer
     * .player_viewport > object#player_wrapper
     *
     * Html5
     * .player_viewport > div#player_wrapper > div.video_wrapper > video
     * .player_viewport > div#player_wrapper > div.mod_videocontrols
     *
     *
     * Die mobile Flashplayer-Version und der Html5-Player können fluid Videos anzeigen, da entweder die Kontrollelemente auf dem Video liegen (Flashplayer mobil) oder aber die Kontrollelemente durch das Markup vom Video getrennt sind (Html5-Player).
     *
     *
     * Momentan kann allerdings noch nicht unterschieden werden zwischen der Mobil- und der Desktop-Version des Flashplayers. Daher zeigen beide Flashplayer-Versionen Videos nicht fluid an. Das ist allerdings problematisch, da dadurch die Videos in der Mobil-Version des Flashplayers verzerrt werden.
     *
     *
     */
  /* Flash: .player_viewport > object#player_wrapper */
  /* Html5: .player_viewport > div#player_wrapper > div.video_wrapper > video */
  /* Html5: .player_viewport > div#player_wrapper > div.video_wrapper > video */ }
  .mod_player .center-info {
    padding-top: 10px;
    text-align: center;
    color: white; }
  .mod_player .hidden {
    display: none !important; }
  .mod_player .player_header {
    overflow: hidden;
    position: relative;
    color: #fff;
    background-color: #333; }
    @media (min-width: 1024px) {
      .mod_player .player_header {
        height: 22px;
        height: 1.375rem;
        line-height: 22px;
        line-height: 1.375rem;
        padding: 0 10px;
        padding: 0 0.625rem; } }
    @media (min-width: 768px) and (max-width: 1023px) {
      .mod_player .player_header {
        height: 40px;
        height: 2.5rem;
        line-height: 40px;
        line-height: 2.5rem;
        padding: 0 10px;
        padding: 0 0.625rem; } }
    @media (max-width: 767px) {
      .mod_player .player_header {
        display: none; } }
  .mod_player video::-webkit-media-controls-enclosure {
    display: none !important; }
  .mod_player video::-webkit-media-controls {
    display: none !important; }
  .mod_player video::-webkit-media-controls-panel {
    display: none !important; }
  .mod_player video::-webkit-media-controls-start-playback-button {
    display: none !important; }
  .mod_player .video_headline {
    font-size: 14px;
    font-size: 0.875rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    -o-text-overflow: ellipsis; }
    @media (min-width: 1024px) {
      .mod_player .video_headline {
        margin-right: 12px;
        margin-right: 0.75rem;
        max-width: 50%;
        /* Damit die daneben stehende Zeit nicht umbricht */ } }
    @media (min-width: 768px) and (max-width: 1023px) {
      .mod_player .video_headline {
        max-width: 55%;
        /* Damit die daneben stehende Zeit nicht umbricht */ } }
    @media (min-width: 768px) {
      .mod_player .video_headline {
        float: left; } }
  .mod_player .player_header .broadcast_information {
    font-size: 12px;
    font-size: 0.75rem;
    color: #8c8c8c; }
    @media (min-width: 1024px) {
      .mod_player .player_header .broadcast_information {
        line-height: 22px;
        line-height: 1.375rem;
        min-width: 40%; } }
    @media (min-width: 768px) and (max-width: 1023px) {
      .mod_player .player_header .broadcast_information {
        line-height: 40px;
        line-height: 2.5rem;
        margin-right: 30px;
        margin-right: 1.875rem;
        /* Damit der Favoritenstern nicht überlagert wird */ } }
    @media (min-width: 768px) {
      .mod_player .player_header .broadcast_information {
        float: left; } }
    .mod_player .player_header .broadcast_information .meta_duration {
      margin-left: 23px;
      margin-left: 1.4375rem; }
      @media (min-width: 1024px) {
        .mod_player .player_header .broadcast_information .meta_duration {
          margin-left: 12px;
          margin-left: 0.75rem; } }
    .mod_player .player_header .broadcast_information .meta_online_till {
      right: 40px;
      right: 2.5rem;
      position: absolute;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
  @media (min-width: 768px) and (max-width: 1023px) {
    .mod_player .meta_date {
      margin-left: 23px;
      margin-left: 1.4375rem; } }
  @media (min-width: 768px) and (max-width: 1023px) {
    .mod_player .meta_time {
      margin-left: 23px;
      margin-left: 1.4375rem; } }
  @media (min-width: 1024px) {
    .mod_player .meta_time {
      margin-left: 12px;
      margin-left: 0.75rem; } }
  @media (min-width: 1024px) {
    .mod_player .meta_duration {
      margin-left: 23px;
      margin-left: 1.4375rem; } }
  .mod_player .favstar {
    right: 10px;
    right: 0.625rem;
    position: absolute;
    top: 50%;
    outline: none;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
    @media (min-width: 1024px) {
      .mod_player .favstar {
        line-height: 22px;
        line-height: 1.375rem; } }
    @media (min-width: 768px) and (max-width: 1023px) {
      .mod_player .favstar {
        line-height: 40px;
        line-height: 2.5rem; } }
  .mod_player .player_viewport {
    position: relative;
    height: 100%;
    background-color: #000; }
    @media (min-width: 1024px) {
      .mod_player .player_viewport {
        overflow: hidden; } }
    .mod_player .player_viewport.isFullscreen {
      width: 100%; }
  @media (min-width: 1024px) {
    .mod_player .player_viewport.fullsize {
      width: 800px;
      width: 50rem;
      height: 478px;
      height: 29.875rem;
      float: none; } }
  .mod_player .isFullscreen .big-play-button {
    z-index: 9999999999; }
  .mod_player .isFullscreen .video_wrapper {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
  .mod_player .big-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    background-color: #434e4f;
    cursor: pointer;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
    @media (min-width: 1024px) {
      .mod_player .big-play-button {
        width: 60px;
        height: 60px; } }
    @media (min-width: 768px) and (max-width: 1023px) {
      .mod_player .big-play-button {
        width: 10vw;
        height: 10vw; } }
    @media (max-width: 767px) {
      .mod_player .big-play-button {
        width: 12vw;
        height: 12vw; } }
    .mod_player .big-play-button .ico {
      position: absolute;
      top: 50%;
      left: calc(50% + 3px);
      color: #ffcb00;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
      @media (min-width: 1024px) {
        .mod_player .big-play-button .ico {
          font-size: 30px;
          line-height: 60px; } }
      @media (min-width: 768px) and (max-width: 1023px) {
        .mod_player .big-play-button .ico {
          font-size: 4vw;
          line-height: 10vw; } }
      @media (max-width: 767px) {
        .mod_player .big-play-button .ico {
          font-size: 6vw;
          line-height: 12vw; } }
  .mod_player.flash .player_viewport:-webkit-full-screen {
    width: 100%;
    height: 100%; }
  .mod_player.flash .player_viewport:-moz-full-screen {
    width: 100%;
    height: 100%; }
  .mod_player.flash .player_viewport:-ms-fullscreen {
    width: 100%;
    height: 100%; }
  .mod_player.flash .player_viewport:fullscreen {
    width: 100%;
    height: 100%; }
  .mod_player.flash .player_viewport .player_wrapper {
    position: absolute; }
  .mod_player.html5 {
    /* Html5-Player im Fullsize-Modus */ }
    @media (max-width: 767px) {
      .mod_player.html5 .player_header {
        height: 28px;
        height: 1.75rem;
        padding: 0 10px;
        padding: 0 0.625rem;
        display: block; } }
    @media (max-width: 767px) {
      .mod_player.html5 .video_headline {
        display: none; } }
    @media (max-width: 767px) {
      .mod_player.html5 .broadcast_information {
        line-height: 28px;
        line-height: 1.75rem; } }
    @media (max-width: 767px) {
      .mod_player.html5 .broadcast_information .meta_online_till {
        display: none; } }
    @media (max-width: 767px) {
      .mod_player.html5 .meta_time {
        margin-left: 23px;
        margin-left: 1.4375rem; } }
    .mod_player.html5 .player_wrapper {
      position: relative;
      height: 100%;
      /* Hier steckt das Video-Element drin */ }
      .mod_player.html5 .player_wrapper .video_wrapper {
        position: relative;
        width: 100%;
        height: 100%; }
        .mod_player.html5 .player_wrapper .video_wrapper video {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover; }
    .mod_player.html5 .fullsize .player_wrapper video {
      width: 100%;
      height: 100%; }
  .mod_player.html5.pseudo_fullscreen .player_viewport {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000000;
    width: 100%;
    height: 100%; }
  .mod_player.html5.pseudo_fullscreen .player_wrapper {
    width: 100%;
    height: 100%; }
    .mod_player.html5.pseudo_fullscreen .player_wrapper .video_wrapper {
      width: 100%;
      height: 100%; }
      @media (max-width: 1023px) {
        .mod_player.html5.pseudo_fullscreen .player_wrapper .video_wrapper {
          padding-bottom: 0; } }
      .mod_player.html5.pseudo_fullscreen .player_wrapper .video_wrapper video {
        position: absolute;
        z-index: 1000000;
        width: 100%;
        height: 100%; }
    .mod_player.html5.pseudo_fullscreen .player_wrapper .mod_videocontrols {
      position: absolute;
      bottom: 0;
      z-index: 1000001;
      width: 100%; }

/**
 * ---------------------------------------------------------------------------------------------------- #
 *
 * Kontrollelemente für den Html5-Player
 *
 * @section mod_videocontrols
 */
.isFullscreen .mod_videocontrols {
  z-index: 9999999999; }

.mod_videocontrols {
  font-family: Arial,Helvetica,sans-serif;
  background-color: #434e4f;
  color: #fff;
  height: 28px;
  height: 1.75rem;
  line-height: 28px;
  line-height: 1.75rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transition: opacity 0.5s linear;
  opacity: 0; }
  .mod_videocontrols.user-interacting {
    opacity: 1; }

.progress_bar_wrapper {
  display: block;
  float: left;
  height: 14px;
  height: 0.875rem;
  position: relative; }
  .large .progress_bar_wrapper {
    width: 76%; }
  .medium .progress_bar_wrapper {
    width: 66%; }
  .small .progress_bar_wrapper {
    width: 57%; }
  .very_small .progress_bar_wrapper {
    width: 48%; }
    @media (max-width: 767px) {
      .very_small .progress_bar_wrapper {
        display: none; } }

.progress_bar_holder {
  width: 100%;
  height: 6px;
  height: 0.375rem;
  overflow: hidden;
  position: absolute;
  top: 4px;
  top: 0.25rem; }
  .progress_bar_holder .bar {
    background-color: #e9ecf1;
    width: 100%;
    height: 6px;
    height: 0.375rem;
    position: absolute;
    top: 4px;
    top: 0.25rem;
    left: 0;
    transition: top 300ms ease-in-out; }
  .progress_bar_holder .buffer_bar,
  .progress_bar_holder .progress_bar {
    position: absolute;
    top: 0;
    left: 0; }
  .progress_bar_holder .buffer_bar {
    background-color: #a8a8a8;
    height: 100%; }
  .progress_bar_holder .progress_bar {
    background-color: #ffcb00;
    height: 100%;
    cursor: pointer; }

.progress_bar_knob {
  background-color: #ffcb00;
  position: absolute;
  top: 0;
  width: 4px;
  width: 0.25rem;
  height: 14px;
  height: 0.875rem;
  cursor: pointer;
  opacity: 0;
  transition: opacity 300ms ease-in-out; }

.progress_bar_tooltip {
  height: 14px;
  height: 0.875rem;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 14px;
  line-height: 0.875rem;
  text-align: center;
  background-color: #fff;
  color: #000;
  position: absolute;
  bottom: 18px;
  bottom: 1.125rem;
  padding: 1px 2px;
  padding: 0.0625rem 0.125rem;
  opacity: 0;
  transition: opacity 300ms ease-in-out; }
  .progress_bar_tooltip:after {
    top: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: #fff transparent transparent;
    border-width: 7px;
    border-width: 0.4375rem;
    left: 50%;
    margin-left: -7px;
    margin-left: -0.4375rem; }

.player_controls {
  background: #434e4f;
  height: 18px;
  height: 1.125rem;
  padding: 4px 8px;
  padding: 0.25rem 0.5rem;
  /* fix für safari */
  display: block;
  position: relative; }
  .player_controls:after {
    visibility: hidden;
    display: block;
    clear: both;
    height: 0;
    font-size: 0;
    content: "."; }
  .player_controls .player_controls_elementary,
  .player_controls .player_controls_additional {
    height: 18px;
    height: 1.125rem;
    line-height: 18px;
    line-height: 1.125rem;
    /* fix für safari */
    display: block;
    margin-top: 1px;
    margin-top: 0.0625rem; }
    .player_controls .player_controls_elementary:after,
    .player_controls .player_controls_additional:after {
      visibility: hidden;
      display: block;
      clear: both;
      height: 0;
      font-size: 0;
      content: "."; }
  .player_controls .player_controls_elementary {
    float: left; }
    .large .player_controls .player_controls_elementary {
      width: 74%; }
    .medium .player_controls .player_controls_elementary {
      width: 66%; }
    .small .player_controls .player_controls_elementary {
      width: 60%; }
    .very_small .player_controls .player_controls_elementary {
      width: 54%; }
      @media (max-width: 767px) {
        .very_small .player_controls .player_controls_elementary {
          width: 74%; } }
  .player_controls .player_controls_additional {
    float: right; }
  .player_controls .player_time {
    display: block;
    float: left;
    color: #8c8c8c;
    font-size: 12px;
    font-size: 0.75rem;
    position: relative;
    margin-left: 10px;
    margin-left: 0.625rem; }
  .player_controls .player_time_current {
    font-weight: bold;
    color: #fff; }
  .player_controls .control_button {
    float: left;
    display: block;
    color: #8c8c8c;
    background: none;
    border: 0 none;
    margin: 0 5px;
    margin: 0 0.3125rem;
    position: relative;
    height: 18px;
    height: 1.125rem;
    line-height: 18px;
    line-height: 1.125rem;
    outline: none;
    cursor: pointer;
    padding: 0; }
    @media (max-width: 767px) {
      .player_controls .control_button {
        margin: 0 3px;
        margin: 0 0.1875rem; } }
    .player_controls .control_button.active {
      color: #fff; }
    .player_controls .control_button.inactive {
      color: #4e4e4e;
      cursor: auto; }
    .player_controls .control_button .ico {
      display: block;
      line-height: 18px;
      line-height: 1.125rem; }
    .player_controls .control_button.volume {
      margin: 0;
      font-size: 22px;
      font-size: 1.375rem; }
      @media (max-width: 767px) {
        .player_controls .control_button.volume {
          display: none !important; } }
    @media (max-width: 767px) {
      .player_controls .control_button.unmute {
        display: none; } }
    .player_controls .control_button.captions .ico {
      font-size: 20px;
      font-size: 1.25rem; }
    .player_controls .control_button.transcript .ico {
      font-size: 18px;
      font-size: 1.125rem; }
    .player_controls .control_button.settings .ico {
      font-size: 20px;
      font-size: 1.25rem; }
    .player_controls .control_button.fullscreen .ico {
      font-size: 20px;
      font-size: 1.25rem; }
    .player_controls .control_button.videoinfo .ico {
      font-size: 20px;
      font-size: 1.25rem; }
    @media (max-width: 767px) {
      .player_controls .control_button.videoinfo {
        display: none; } }
    .player_controls .control_button.restart .icon {
      /* workaround for Safari Desktop glitch */
      vertical-align: top; }
    .player_controls .control_button .tooltip {
      position: absolute;
      bottom: 36px;
      bottom: 2.25rem;
      font-size: 10px;
      font-size: 0.625rem;
      line-height: 16px;
      line-height: 1rem;
      color: #fff;
      background-color: #434e4f;
      padding: 4px 5px;
      padding: 0.25rem 0.3125rem;
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
      margin-left: 50%;
      display: none;
      white-space: nowrap; }
      .player_controls .control_button .tooltip:after {
        top: 100%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        border-color: #434e4f transparent transparent;
        border-width: 7px;
        border-width: 0.4375rem;
        left: 50%;
        margin-left: -7px;
        margin-left: -0.4375rem; }
    .player_controls .control_button.disabled {
      color: #4c4c4c;
      cursor: default; }
  .player_controls .player_controls_elementary .control_button:first-of-type .tooltip,
  .player_controls .player_controls_elementary .control_button:first-of-type[style^="display: none;"] + .control_button .tooltip {
    left: 0;
    -ms-transform: translateX(0);
        transform: translateX(0);
    margin: 0; }
    .player_controls .player_controls_elementary .control_button:first-of-type .tooltip:after,
    .player_controls .player_controls_elementary .control_button:first-of-type[style^="display: none;"] + .control_button .tooltip:after {
      left: 0;
      margin: 0; }
  .player_controls .player_controls_additional .control_button:last-of-type .tooltip {
    left: auto;
    right: 0;
    -ms-transform: translateX(0);
        transform: translateX(0);
    margin: 0; }
    .player_controls .player_controls_additional .control_button:last-of-type .tooltip:after {
      right: 0;
      left: auto;
      margin: 0; }
  .player_controls .volume_bar_wrapper {
    width: 0;
    height: 15px;
    height: 0.9375rem;
    margin-right: 5px;
    margin-right: 0.3125rem;
    float: left;
    position: relative;
    top: 2px;
    top: 0.125rem;
    cursor: pointer;
    transition: width 300ms ease-in-out; }
    @media (max-width: 767px) {
      .player_controls .volume_bar_wrapper {
        display: none; } }
  .player_controls .volume_bar_wrapper.active {
    width: 56px;
    width: 3.5rem; }
  .player_controls .volume_bar_holder {
    margin-top: 6px;
    margin-top: 0.375rem; }
  .player_controls .volume_bar {
    background-color: #e9ecf1;
    cursor: pointer;
    transition: width 300ms ease-in-out; }
  .player_controls .volume_bar.active {
    width: 56px;
    width: 3.5rem; }
  .player_controls .volume_progress_bar {
    height: 3px;
    height: 0.1875rem;
    background-color: #ffffff;
    position: relative;
    cursor: pointer; }
  .player_controls .volume_bar_knob {
    background-color: #ffffff;
    width: 4px;
    width: 0.25rem;
    height: 15px;
    height: 0.9375rem;
    position: absolute;
    top: 0;
    cursor: pointer; }

.settings {
  display: none; }

.video_overlay {
  display: none;
  position: absolute;
  bottom: 36px;
  bottom: 2.25rem;
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 16px;
  line-height: 1rem;
  color: #fff;
  background-color: rgba(51, 51, 51, 0.75);
  padding: 4px 10px;
  padding: 0.25rem 0.625rem; }
  .video_overlay:after {
    top: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(51, 51, 51, 0.75) transparent transparent;
    border-width: 7px;
    border-width: 0.4375rem; }
  .video_overlay h4 {
    font-size: 10px;
    font-size: 0.625rem;
    color: #fff !important; }

.info_overlay {
  width: 140px;
  width: 8.75rem;
  left: calc(100% - 165px); }
  .info_overlay:after {
    right: 12px;
    right: 0.75rem; }

.settings_overlay:after {
  left: 50%;
  margin-left: -7px;
  margin-left: -0.4375rem; }

.settings_overlay h4 {
  padding-left: 10px;
  padding-left: 0.625rem;
  margin: 0; }

.settings_overlay ol {
  padding-left: 10px;
  padding-left: 0.625rem;
  text-align: left;
  list-style: none;
  margin: 0; }

.settings_overlay li {
  cursor: pointer;
  min-height: inherit !important;
  line-height: inherit !important;
  background: none !important; }

.settings_overlay li.active, .settings_overlay li:hover {
  list-style-type: disc !important;
  color: #fff !important;
  overflow: visible !important; }

.mod_videocontrols .progress_bar_wrapper:hover .bar, .mod_videocontrols .progress_bar_wrapper:focus .bar, .mod_videocontrols .progress_bar_wrapper:active .bar {
  top: 0; }

.mod_videocontrols .progress_bar_wrapper:hover .progress_bar_knob, .mod_videocontrols .progress_bar_wrapper:focus .progress_bar_knob, .mod_videocontrols .progress_bar_wrapper:active .progress_bar_knob {
  opacity: 1; }

.mod_videocontrols .progress_bar_wrapper:hover .progress_bar_tooltip, .mod_videocontrols .progress_bar_wrapper:focus .progress_bar_tooltip, .mod_videocontrols .progress_bar_wrapper:active .progress_bar_tooltip {
  opacity: 1; }

.mod_videocontrols .control_button:hover, .mod_videocontrols .control_button:focus, .mod_videocontrols .control_button:active {
  color: #b2b2b2; }
  .mod_videocontrols .control_button:hover .tooltip, .mod_videocontrols .control_button:focus .tooltip, .mod_videocontrols .control_button:active .tooltip {
    display: block; }

.mod_videocontrols .control_button.active:hover, .mod_videocontrols .control_button.active:focus, .mod_videocontrols .control_button.active:active {
  color: #fff; }

.mod_videocontrols .control_button.inactive:hover, .mod_videocontrols .control_button.inactive:focus, .mod_videocontrols .control_button.inactive:active {
  color: #4e4e4e; }
  .mod_videocontrols .control_button.inactive:hover .tooltip, .mod_videocontrols .control_button.inactive:focus .tooltip, .mod_videocontrols .control_button.inactive:active .tooltip {
    display: none; }

.mod_videocontrols .settings_overlay li:hover,
.mod_videocontrols .settings_overlay li:focus,
.mod_videocontrols .settings_overlay li:active {
  list-style-type: disc; }

/*# sourceMappingURL=data:application/json;base64,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QUNaLHlDQUF5QztFQUN6QyxrQkFBa0I7RUFDbEIsMEJBQTBCLEVBQUU7RUFDNUI7SUFDRSxVQUFVO0lBQ1YsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYixVQUFVO0lBQ1YsU0FBUztJQUNULG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsNkRBQTZEO0lBQzdELGtCQUFrQjtJQUNsQix3QkFBd0IsRUFBRTtFQUM1QjtJQUNFLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsdUJBQXVCLEVBQUU7O0FBRTdCO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZix5QkFBeUIsRUFBRTtFQUMzQjtJQUNFLFlBQVk7SUFDWixlQUFlLEVBQUU7O0FBRXJCO0VBQ0UsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQix3QkFBd0IsRUFBRTs7QUFFNUI7RUFDRSxtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLFVBQVUsRUFBRTs7QUFFZDtFQUNFLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQixVQUFVLEVBQUU7O0FBRWQ7RUFDRSxnQkFBZ0I7RUFDaEIsK0JBQStCO0VBQy9CLGdDQUFnQztFQUNoQyw0QkFBNEIsRUFBRTs7QUFFaEM7RUFDRSxpQ0FBaUM7RUFDakMsdUJBQXVCO0VBQ3ZCLDZCQUE2QixFQUFFOztBQUVqQztFQUNFLE9BQU8sRUFBRTs7QUFFWDtFQUNFLFdBQVcsRUFBRTs7QUFFZjtFQUNFLFdBQVcsRUFBRTs7QUFFZjtFQUNFLGVBQWUsRUFBRTtFQUNqQjtJQUNFLGVBQWUsRUFBRTs7QUFFckI7RUFDRSxZQUFZLEVBQUU7O0FBRWhCO0VBQ0UsZUFBZSxFQUFFO0VBQ2pCO0lBQ0UsY0FBYyxFQUFFOztBQUVwQjs7O0VBR0Usc0JBQXNCLEVBQUUiLCJmaWxlIjoicGxheWVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjXG4gKlxuICogTWFpbiBTdHlsZXNoZWV0XG4gKlxuICovXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gI1xuICpcbiAqIFNjc3MgTWl4aW5zXG4gKlxuICpcbiAqIGVudGjDpGx0IE1peGlucywgZW5nbGlzY2hlIFNwcmFjaGVcbiAqXG4gKiBAc2VjdGlvbiBtaXhpbnNcbiAqL1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICNcbiAqXG4gKiBTY3NzIE1peGluc1xuICpcbiAqXG4gKiBlbnRow4PCpGx0IE1peGlucywgZW5nbGlzY2hlIFNwcmFjaGVcbiAqXG4gKiBAc2VjdGlvbiBtaXhpbnNcbiAqL1xuLyogQnJlYWtwb2ludHM6IGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9tZWRpYS1xdWVyaWVzLXNhc3MtMy0yLWFuZC1jb2Rla2l0LyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbl9mb250JztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29uX2ZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ljb25fZm9udC5lb3QjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb25fZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2ljb25fZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb25fZm9udC5zdmcjaWNvbl9mb250XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qIFVzZSB0aGUgZm9sbG93aW5nIENTUyBjb2RlIGlmIHlvdSB3YW50IHRvIGhhdmUgYSBjbGFzcyBwZXIgaWNvbiAqL1xuLypcbkluc3RlYWQgb2YgYSBsaXN0IG9mIGFsbCBjbGFzcyBzZWxlY3RvcnMsXG55b3UgY2FuIHVzZSB0aGUgZ2VuZXJpYyBzZWxlY3RvciBiZWxvdywgYnV0IGl0J3Mgc2xvd2VyOlxuW2NsYXNzKj1cInlvdXItY2xhc3MtcHJlZml4XCJdIHtcbiovXG4uaWNvX3RyYW5zY3JpcHRzLCAuaWNvX3N0YXJfb3V0bGluZSwgLmljb19zdGFyX2ZpbGxlZCwgLmljb19zZWFyY2gsIC5pY29fcGxheV91cCwgLmljb19wbGF5X3JpZ2h0LCAuaWNvX3BsYXlfbGVmdCwgLmljb19wbGF5X2Rvd24sIC5pY29fcGF1c2UsIC5pY29fb3B0aW9ucywgLmljb19uZXh0LCAuaWNvX21lbnUsIC5pY29fbXV0ZSwgLmljb19tYWlsLCAuaWNvX2Z1bGxzY3JlZW4sIC5pY29fZG90LCAuaWNvX2Nsb3NlLCAuaWNvX2NoZWNrLCAuaWNvX2JhcnMsIC5pY29fY2FwdGlvbnMsIC5pY29fYmFjaywgLmljb19hcnJvd191cCwgLmljb19hcnJvd19yaWdodCwgLmljb19hcnJvd19sZWZ0LCAuaWNvX2Fycm93X2Rvd24sIC5pY29faW5mbyB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbl9mb250JztcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmljb190cmFuc2NyaXB0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMFwiOyB9XG5cbi5pY29fc3Rhcl9vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDAxXCI7IH1cblxuLmljb19zdGFyX2ZpbGxlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMlwiOyB9XG5cbi5pY29fc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDAzXCI7IH1cblxuLmljb19wbGF5X3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA0XCI7IH1cblxuLmljb19wbGF5X3JpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA1XCI7IH1cblxuLmljb19wbGF5X2xlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDZcIjsgfVxuXG4uaWNvX3BsYXlfZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwN1wiOyB9XG5cbi5pY29fcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDhcIjsgfVxuXG4uaWNvX29wdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDlcIjsgfVxuXG4uaWNvX25leHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMGFcIjsgfVxuXG4uaWNvX21lbnU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMGJcIjsgfVxuXG4uaWNvX211dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMGNcIjsgfVxuXG4uaWNvX21haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMGRcIjsgfVxuXG4uaWNvX2Z1bGxzY3JlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMGVcIjsgfVxuXG4uaWNvX2RvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwZlwiOyB9XG5cbi5pY29fY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTBcIjsgfVxuXG4uaWNvX2NoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDExXCI7IH1cblxuLmljb19iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDEyXCI7IH1cblxuLmljb19jYXB0aW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxM1wiOyB9XG5cbi5pY29fYmFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxNFwiOyB9XG5cbi5pY29fYXJyb3dfdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTVcIjsgfVxuXG4uaWNvX2Fycm93X3JpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE2XCI7IH1cblxuLmljb19hcnJvd19sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE3XCI7IH1cblxuLmljb19hcnJvd19kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE4XCI7IH1cblxuLmljb19pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTBjXCI7IH1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICNcbiAqXG4gKiBCYXNlIC0gcmVzZXQsIGJ1Z2ZpeGVzLCBza2lwbGlua3MsIGNsZWFyZml4XG4gKlxuICogaW5jbHVkZSBpbiBzdHlsZVxuICovXG4vKiBNaXhpbnMgZsO8ciBTdGFuZGFyZGtsYXNzZW4gKi9cbkBtZWRpYSBhbGwge1xuICAvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gI1xuICpcbiAqIFN0YW5kYXJka2xhc3NlbiAmIEhlbHBlcmtsYXNzZW5cbiAqXG4gKiBnZW5lcmljLWNvbnRlbnQtY2xhc3Nlc1xuICovXG4gIC5jbGVhcmZpeCB7XG4gICAgLyogZml4IGbDvHIgc2FmYXJpICovXG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY2xlYXJmaXg6YWZ0ZXIge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGNvbnRlbnQ6IFwiLlwiOyB9XG4gIC8qIERlciBLZXJuIHZvbiBDbGVhcmZpeCAqL1xuICAuZmxvYXRfbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGlua3MgZmxpZcOfZW4gbGFzc2VuICovXG4gIC5mbG9hdF9yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC8qIHJlY2h0cyBmbGllw59lbiBsYXNzZW4gKi9cbiAgLmJsb2NrIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC8qIEJGQyBlcnpldWdlbiAqL1xuICAuYm9yZGVyX2JveCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5jdXJzb3Ige1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAvKiBIYW5kLUN1cnNvciBlaW5ibGVuZGVuICovXG4gIC50ZXh0X2luZGVudCB7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7IH1cbiAgLyogVGV4dCBhdXMgZGVtIFNpY2h0YmVyZWljaCBzY2hpZWJlbiAqL1xuICAudXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsgfVxuICAvKiBUZXh0IGluIFZlcnNhbGllbiBnZXNldHp0ICovXG4gIC5lbGxpcHNpcyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC1vLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4gIC8qIFB1bmt0ZXQgenUgbGFuZ2VuIFRleHQgbWl0IC4uLiBhdXMgKi9cbiAgLmh5cGhlbnMge1xuICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgaHlwaGVuczogYXV0bztcbiAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgLW1vei1oeXBoZW5zOiBhdXRvOyB9XG4gIC8qIEFrdGl2aWVydCBaZWlsZW51bWJydWNoICovXG4gIC5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBlaW5ibGVuZGVuICovXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLyogYXVzYmxlbmRlbiAqL1xuICAubm9fc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICNcbiAqXG4gKiBFbWJlZGRlZFxuICpcbiAqIHdpcmQgaW0gaWZyYW1lIG1pdCBtaW5kZXN0ZW5zIDYwMHB4IEJyZWl0ZSBlaW5nZWJ1bmRlbiAocmVzZXQgZsO8ciB0YWJsZXQgbWVkaWFxdWVyaWVzKVxuICpcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmVtYmVkIHtcbiAgICAvKiBhbGxnZW1laW5lcyAqL1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvKiBwbGF5ZXIgKi9cbiAgICAvKiBwcmVzc2UgcHJldmlldyAqLyB9XG4gICAgLmVtYmVkIC5wYWdlX3dyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDI1cHg7XG4gICAgICBtYXJnaW46IDAgMS41NjI1cmVtOyB9XG4gICAgLmVtYmVkIC5yZWdpb25fbWFpbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuZW1iZWQgLm1vZF9wbGF5ZXIge1xuICAgICAgLyogZml4IGbDvHIgc2FmYXJpICovXG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIC8qIEZsYXNoISAqL1xuICAgICAgLyogRmxhc2ghICovIH1cbiAgICAgIC5lbWJlZCAubW9kX3BsYXllcjphZnRlciB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgY29udGVudDogXCIuXCI7IH1cbiAgICAgIC5lbWJlZCAubW9kX3BsYXllciAucGxheWVyX2hlYWRlciB7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTsgfVxuICAgICAgICAuZW1iZWQgLm1vZF9wbGF5ZXIgLnBsYXllcl9oZWFkZXIgLmJyb2FkY2FzdF9pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtOyB9XG4gICAgICAuZW1iZWQgLm1vZF9wbGF5ZXIgLnZpZGVvX2hlYWRsaW5lIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NSU7IH1cbiAgICAgIC5lbWJlZCAubW9kX3BsYXllciAucGxheWVyX3ZpZXdwb3J0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiA0NTRweDtcbiAgICAgICAgd2lkdGg6IDI4LjM3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyODNweDtcbiAgICAgICAgaGVpZ2h0OiAxNy42ODc1cmVtOyB9XG4gICAgICAuZW1iZWQgLm1vZF9wbGF5ZXIgLnBsYXllcl92aWV3cG9ydC5mdWxsc2l6ZSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDQ3OHB4O1xuICAgICAgICBoZWlnaHQ6IDI5Ljg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDgwMHB4O1xuICAgICAgICB3aWR0aDogNTByZW07IH1cbiAgICAgIC5lbWJlZCAubW9kX3BsYXllciAucGxheWVyX3ZpZXdwb3J0ID4gb2JqZWN0LnBsYXllcl93cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDQ1NHB4O1xuICAgICAgICB3aWR0aDogMjguMzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDI4M3B4O1xuICAgICAgICBoZWlnaHQ6IDE3LjY4NzVyZW07IH1cbiAgICAgIC5lbWJlZCAubW9kX3BsYXllciAucGxheWVyX3ZpZXdwb3J0LmZ1bGxzaXplIG9iamVjdC5wbGF5ZXJfd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiA4MDBweDtcbiAgICAgICAgd2lkdGg6IDUwcmVtO1xuICAgICAgICBoZWlnaHQ6IDQ3OHB4O1xuICAgICAgICBoZWlnaHQ6IDI5Ljg3NXJlbTsgfVxuICAgIC5lbWJlZCAubW9kX2RldGFpbHMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGhlaWdodDogMjgzcHg7XG4gICAgICBoZWlnaHQ6IDE3LjY4NzVyZW07XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgd2lkdGg6IDM0NnB4O1xuICAgICAgd2lkdGg6IDIxLjYyNXJlbTsgfVxuICAgICAgLmVtYmVkIC5tb2RfZGV0YWlscyAuZGV0YWlsc19pbmZvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmVtYmVkIC5tb2RfZGV0YWlscyAuZGV0YWlsc19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gICAgLmVtYmVkIC5tb2RfZGV0YWlscy5ub19zaGFkb3cgLmRldGFpbHNfZGVzY2lwdGlvbiB7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmVtYmVkIC5tb2RfY29udGFpbmVyX2xpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5lbWJlZCAubW9kX2NvbnRhaW5lcl9saXN0IC5hcmVhX2hlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmVtYmVkIC5tb2RfY29udGFpbmVyX2xpc3QgLnN1YmhlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZTsgfVxuICAgICAgICAuZW1iZWQgLm1vZF9jb250YWluZXJfbGlzdCAuc3ViaGVhZGxpbmUgLmljbyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmVtYmVkIC5tb2RfY29udGFpbmVyX2xpc3QgLml0ZW1fd3JhcHBlciB7XG4gICAgICAgIC8qIGZpeCBmw7xyIHNhZmFyaSAqL1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgLyogw7xiZXJzY2hyZWlidCBqcyAqL1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIC5lbWJlZCAubW9kX2NvbnRhaW5lcl9saXN0IC5pdGVtX3dyYXBwZXI6YWZ0ZXIge1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiLlwiOyB9XG4gICAgICAuZW1iZWQgLm1vZF9jb250YWluZXJfbGlzdCAuaXRlbSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYTM3Njc7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtOyB9XG4gICAgICAgIC5lbWJlZCAubW9kX2NvbnRhaW5lcl9saXN0IC5pdGVtOmZpcnN0LW9mLXR5cGUgLml0ZW1faW5uZXIge1xuICAgICAgICAgIGJvcmRlci10b3A6IDAgbm9uZTsgfVxuICAgICAgICAuZW1iZWQgLm1vZF9jb250YWluZXJfbGlzdCAuaXRlbTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLmVtYmVkIC5tb2RfY29udGFpbmVyX2xpc3QgLml0ZW0gLml0ZW1faW5uZXIge1xuICAgICAgICAgIG1hcmdpbjogMCAxMXB4IDIwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDAuNjg3NXJlbSAxLjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMCAwO1xuICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjYThhOGE4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5lbWJlZCAubW9kX2NvbnRhaW5lcl9saXN0IC5pdGVtIC5pdGVtX2ltYWdlIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogMTM4cHg7XG4gICAgICAgICAgd2lkdGg6IDguNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIC8qIERhbWl0IG1hbiBkZW4gVGV4dCBkZXMgQWx0LUF0dHJpYnV0cyBsZXNlbiBrYW5uICovIH1cbiAgICAgICAgLmVtYmVkIC5tb2RfY29udGFpbmVyX2xpc3QgLml0ZW0gLml0ZW1faGVhZGVyIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgICBtYXJnaW46IDAgMC42MjVyZW0gMCAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLmVtYmVkIC5tb2RfY29udGFpbmVyX2xpc3QgLml0ZW0gLml0ZW1fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07IH1cbiAgICAgICAgLmVtYmVkIC5tb2RfY29udGFpbmVyX2xpc3QgLml0ZW0gLmJyb2FkY2FzdF9pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgY29sb3I6ICNhOGE4YTg7IH1cbiAgICAgICAgLmVtYmVkIC5tb2RfY29udGFpbmVyX2xpc3QgLml0ZW0gLmJyb2FkY2FzdF9pbmZvcm1hdGlvbiAubWV0YSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAgICAgLmVtYmVkIC5tb2RfY29udGFpbmVyX2xpc3QgLml0ZW0gLml0ZW1faW5uZXIgLml0ZW1fZGVzY3JpcHRpb24ge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZW1iZWQgLmVtYmVkX2NvZGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuZW1iZWQgLmVtYmVkX2NvZGUgLnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH0gfVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gI1xuICpcbiAqIEViZW5lblxuICpcbiAqXG4gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgYm9keTphZnRlciB7XG4gICAgei1pbmRleDogLTE7IH0gfVxuXG4ubW9kX3BsYXllciAucHJvZ3Jlc3NfYmFyX3dyYXBwZXIge1xuICB6LWluZGV4OiAxMDsgfVxuXG4ubW9kX3BsYXllciAuYmFyIHtcbiAgei1pbmRleDogMTE7IH1cblxuLm1vZF9wbGF5ZXIgLmJ1ZmZlcl9iYXIge1xuICB6LWluZGV4OiAxMjsgfVxuXG4ubW9kX3BsYXllciAucHJvZ3Jlc3NfYmFyIHtcbiAgei1pbmRleDogMTM7IH1cblxuLm1vZF9wbGF5ZXIgLnByb2dyZXNzX2Jhcl9rbm9iIHtcbiAgei1pbmRleDogMTQ7IH1cblxuLm1vZF9wbGF5ZXIgLnByb2dyZXNzX2Jhcl90b29sdGlwIHtcbiAgei1pbmRleDogMTU7IH1cblxuLm1vZF9wbGF5ZXIgLmJpZy1wbGF5LWJ1dHRvbjpob3ZlciAuaWNvLFxuLm1vZF9wbGF5ZXIgLmZsYXNoLXBsYXllci1iaWctcGxheS1idXR0b246aG92ZXIgLmljbyB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4ubW9kX3BsYXllciAuZmxhc2gtcGxheWVyLWJpZy1wbGF5LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzNGU0ZjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tb2RfcGxheWVyIC5mbGFzaC1wbGF5ZXItYmlnLXBsYXktYnV0dG9uLmVuYWJsZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubW9kX3BsYXllciAuZmxhc2gtcGxheWVyLWJpZy1wbGF5LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogNjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC5tb2RfcGxheWVyIC5mbGFzaC1wbGF5ZXItYmlnLXBsYXktYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMHZ3O1xuICAgICAgaGVpZ2h0OiAxMHZ3OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm1vZF9wbGF5ZXIgLmZsYXNoLXBsYXllci1iaWctcGxheS1idXR0b24ge1xuICAgICAgd2lkdGg6IDEydnc7XG4gICAgICBoZWlnaHQ6IDEydnc7IH0gfVxuICAubW9kX3BsYXllciAuZmxhc2gtcGxheWVyLWJpZy1wbGF5LWJ1dHRvbiAuaWNvIHtcbiAgICBjb2xvcjogI2ZmY2IwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogY2FsYyg1MCUgKyAzcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLm1vZF9wbGF5ZXIgLmZsYXNoLXBsYXllci1iaWctcGxheS1idXR0b24gLmljbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgLm1vZF9wbGF5ZXIgLmZsYXNoLXBsYXllci1iaWctcGxheS1idXR0b24gLmljbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogNHZ3O1xuICAgICAgICBsaW5lLWhlaWdodDogMTB2dzsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubW9kX3BsYXllciAuZmxhc2gtcGxheWVyLWJpZy1wbGF5LWJ1dHRvbiAuaWNvIHtcbiAgICAgICAgZm9udC1zaXplOiA2dnc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnZ3OyB9IH1cblxuLm1vZF92aWRlb2NvbnRyb2xzIC50b29sdGlwIHtcbiAgei1pbmRleDogMTQ7IH1cblxuLm1vZF92aWRlb2NvbnRyb2xzIC5zZXR0aW5nc19vdmVybGF5IHtcbiAgei1pbmRleDogMTU7IH1cblxuLm1vZF92aWRlb2NvbnRyb2xzIC52b2x1bWVfYmFyX2tub2Ige1xuICB6LWluZGV4OiAxNjsgfVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gI1xuICpcbiAqIGVtYmVkIGNvZGVcbiAqXG4gKlxuICovXG4uZW1iZWRfY29kZSB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIHBhZGRpbmc6IDEycHg7XG4gIHBhZGRpbmc6IDAuNzVyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC5lbWJlZF9jb2RlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmVtYmVkX2NvZGUgLnRpdGxlIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9IH1cbiAgLmVtYmVkX2NvZGUgLnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcmVzaXplOiBub25lOyB9XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjXG4gKlxuICogUGxheWVyLU1vZHVsXG4gKlxuICogQHNlY3Rpb24gbW9kX3BsYXllclxuICovXG4ubW9kX3BsYXllciB7XG4gIC8qIFZpZGVvcyBzaW5kIG51ciB0ZWlsd2Vpc2UgZmx1aWQuXG4gICAgICpcbiAgICAgKlxuICAgICAqIMOcYmVyc2ljaHQgw7xiZXIgZGllIFBsYXllci1BcnRlbjpcbiAgICAgKiAgICAgIEZsYXNocGxheWVyIERlc2t0b3AgLT4gIFZpZGVvcyBrw7ZubmVuIGRlcnplaXQgbmljaHQgZmx1aWQgZWluZ2VidW5kZW4gd2VyZGVuXG4gICAgICogICAgICBGbGFzaHBsYXllciBtb2JpbCAgIC0+ICBWaWRlb3Mga8O2bm5lbiB0aGVvcmV0aXNjaCBmbHVpZCBlaW5nZWJ1bmRlbiB3ZXJkZW4sIHByYWt0aXNjaCBzY2hlaXRlcnQgZGllcyBhbSBNYXJrdXBcbiAgICAgKiAgICAgIEh0bWw1LVBsYXllciAgICAgICAgLT4gIFZpZGVvcyBzaW5kIGZsdWlkIGVpbmdlYnVuZGVuXG4gICAgICpcbiAgICAgKlxuICAgICAqIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL2NyZWF0aW5nLWludHJpbnNpYy1yYXRpb3MtZm9yLXZpZGVvXG4gICAgICogTm9ybWFsZXJ3ZWlzZSB3w7xyZGUgZsO8ciBWaWRlb3MgaW0gRm9ybWF0IDE2OjkgZWluIFdyYXBwZXItRWxlbWVudCBtaXQgZWluZW0gcGFkZGluZy1ib3R0b20gdm9uIDU2LjI1JSBlcnN0ZWxsdCB3ZXJkZW4uXG4gICAgICogRGFkdXJjaCBlbnRzdGVodCBlaW5lIEJveCwgZGllIG9obmUgZml4ZSBIw7ZoZW4tIHVuZCBCcmVpdGVuYW5nYWJlbiBpbW1lciBkYXMgRm9ybWF0IDE2OjkgYmVpYmVow6RsdDpcbiAgICAgKiB3aWR0aDogMTAwJTtcbiAgICAgKiBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgICAqXG4gICAgICogSW4gdW5zZXJlbSBGYWxsIGlzdCBkaWVzIGRlcnplaXQgbnVyIGltIEh0bWw1LVBsYXllciBtw7ZnbGljaC5cbiAgICAgKiBXw6RocmVuZCBkYXMgVmlkZW8gendhciBpbSBGb3JtYXQgMTY6OSB2b3JsaWVndCwgc2luZCBlcyBkaWUgenVzw6R0emxpY2hlbiBLb250cm9sbGVsZW1lbnRlIGluIGRlciBEZXNrdG9wLVZlcnNpb24gZGVzIEZsYXNocGxheWVycywgZGllIG1pdCAyOHB4IEjDtmhlIHp1IEJ1Y2ggc2NobGFnZW4gdW5kIGRhcyBGb3JtYXQgYXVmYnJlY2hlbi4gRGEgZGllIEtvbnRyb2xsZWxlbWVudGUgaW1tZXIgZml4IDI4cHggaG9jaCBzaW5kLCBlbnRzdGVoZW4gc28gaW4gdmVyc2NoaWVkZW5lbiBWaWV3cG9ydHMgdW50ZXJzY2hpZWRsaWNoZSBGb3JtYXRlIGRpZSBzaWNoIG5pY2h0IHNpbm52b2xsIGltIFBhZGRpbmcgdm9uIFdyYXBwZXItRWxlbWVudGVuIGFiYmlsZGVuIGxhc3Nlbi5cbiAgICAgKlxuICAgICAqXG4gICAgICogQmVpc3BpZWxlIGbDvHIgMTY6OVxuICAgICAqIDMyMCB4IDE4MCAtPiBEaXZpc2lvbjogMzIwLzE4MCA9IDEsNzdcbiAgICAgKiA3MzggeCA0MTUgLT4gRGl2aXNpb246IDczOC80MTUgPSAxLDc4XG4gICAgICogNDU0IHggMjU1IC0+IERpdmlzaW9uOiA0NTQvMjU1ID0gMSw3OFxuICAgICAqXG4gICAgICpcbiAgICAgKiBCZWlzcGllbGUgRmxhc2hwbGF5ZXItRGVza3RvcC1Gb3JtYXRlXG4gICAgICogMzIwIHggMjA5IC0+IERpdmlzaW9uOiAzMjAvMjA5ID0gMSw1M1xuICAgICAqIDczOCB4IDQ0MyAtPiBEaXZpc2lvbjogNzM4LzQ0MyA9IDEsNjdcbiAgICAgKiA0NTQgeCAyODMgLT4gRGl2aXNpb246IDQ1NC8yODMgPSAxLDYwXG4gICAgICpcbiAgICAgKlxuICAgICAqXG4gICAgICogTWFya3VwLVN0cnVrdHVyZW5cbiAgICAgKlxuICAgICAqIEZsYXNocGxheWVyXG4gICAgICogLnBsYXllcl92aWV3cG9ydCA+IG9iamVjdCNwbGF5ZXJfd3JhcHBlclxuICAgICAqXG4gICAgICogSHRtbDVcbiAgICAgKiAucGxheWVyX3ZpZXdwb3J0ID4gZGl2I3BsYXllcl93cmFwcGVyID4gZGl2LnZpZGVvX3dyYXBwZXIgPiB2aWRlb1xuICAgICAqIC5wbGF5ZXJfdmlld3BvcnQgPiBkaXYjcGxheWVyX3dyYXBwZXIgPiBkaXYubW9kX3ZpZGVvY29udHJvbHNcbiAgICAgKlxuICAgICAqXG4gICAgICogRGllIG1vYmlsZSBGbGFzaHBsYXllci1WZXJzaW9uIHVuZCBkZXIgSHRtbDUtUGxheWVyIGvDtm5uZW4gZmx1aWQgVmlkZW9zIGFuemVpZ2VuLCBkYSBlbnR3ZWRlciBkaWUgS29udHJvbGxlbGVtZW50ZSBhdWYgZGVtIFZpZGVvIGxpZWdlbiAoRmxhc2hwbGF5ZXIgbW9iaWwpIG9kZXIgYWJlciBkaWUgS29udHJvbGxlbGVtZW50ZSBkdXJjaCBkYXMgTWFya3VwIHZvbSBWaWRlbyBnZXRyZW5udCBzaW5kIChIdG1sNS1QbGF5ZXIpLlxuICAgICAqXG4gICAgICpcbiAgICAgKiBNb21lbnRhbiBrYW5uIGFsbGVyZGluZ3Mgbm9jaCBuaWNodCB1bnRlcnNjaGllZGVuIHdlcmRlbiB6d2lzY2hlbiBkZXIgTW9iaWwtIHVuZCBkZXIgRGVza3RvcC1WZXJzaW9uIGRlcyBGbGFzaHBsYXllcnMuIERhaGVyIHplaWdlbiBiZWlkZSBGbGFzaHBsYXllci1WZXJzaW9uZW4gVmlkZW9zIG5pY2h0IGZsdWlkIGFuLiBEYXMgaXN0IGFsbGVyZGluZ3MgcHJvYmxlbWF0aXNjaCwgZGEgZGFkdXJjaCBkaWUgVmlkZW9zIGluIGRlciBNb2JpbC1WZXJzaW9uIGRlcyBGbGFzaHBsYXllcnMgdmVyemVycnQgd2VyZGVuLlxuICAgICAqXG4gICAgICpcbiAgICAgKi9cbiAgLyogRmxhc2g6IC5wbGF5ZXJfdmlld3BvcnQgPiBvYmplY3QjcGxheWVyX3dyYXBwZXIgKi9cbiAgLyogSHRtbDU6IC5wbGF5ZXJfdmlld3BvcnQgPiBkaXYjcGxheWVyX3dyYXBwZXIgPiBkaXYudmlkZW9fd3JhcHBlciA+IHZpZGVvICovXG4gIC8qIEh0bWw1OiAucGxheWVyX3ZpZXdwb3J0ID4gZGl2I3BsYXllcl93cmFwcGVyID4gZGl2LnZpZGVvX3dyYXBwZXIgPiB2aWRlbyAqLyB9XG4gIC5tb2RfcGxheWVyIC5jZW50ZXItaW5mbyB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAubW9kX3BsYXllciAuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1vZF9wbGF5ZXIgLnBsYXllcl9oZWFkZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubW9kX3BsYXllciAucGxheWVyX2hlYWRlciB7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIC5tb2RfcGxheWVyIC5wbGF5ZXJfaGVhZGVyIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubW9kX3BsYXllciAucGxheWVyX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubW9kX3BsYXllciB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNsb3N1cmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubW9kX3BsYXllciB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tb2RfcGxheWVyIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1vZF9wbGF5ZXIgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1vZF9wbGF5ZXIgLnZpZGVvX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLW8tdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubW9kX3BsYXllciAudmlkZW9faGVhZGxpbmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIC8qIERhbWl0IGRpZSBkYW5lYmVuIHN0ZWhlbmRlIFplaXQgbmljaHQgdW1icmljaHQgKi8gfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAubW9kX3BsYXllciAudmlkZW9faGVhZGxpbmUge1xuICAgICAgICBtYXgtd2lkdGg6IDU1JTtcbiAgICAgICAgLyogRGFtaXQgZGllIGRhbmViZW4gc3RlaGVuZGUgWmVpdCBuaWNodCB1bWJyaWNodCAqLyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tb2RfcGxheWVyIC52aWRlb19oZWFkbGluZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLm1vZF9wbGF5ZXIgLnBsYXllcl9oZWFkZXIgLmJyb2FkY2FzdF9pbmZvcm1hdGlvbiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogIzhjOGM4YzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5tb2RfcGxheWVyIC5wbGF5ZXJfaGVhZGVyIC5icm9hZGNhc3RfaW5mb3JtYXRpb24ge1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDQwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAubW9kX3BsYXllciAucGxheWVyX2hlYWRlciAuYnJvYWRjYXN0X2luZm9ybWF0aW9uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICAgICAgLyogRGFtaXQgZGVyIEZhdm9yaXRlbnN0ZXJuIG5pY2h0IMO8YmVybGFnZXJ0IHdpcmQgKi8gfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubW9kX3BsYXllciAucGxheWVyX2hlYWRlciAuYnJvYWRjYXN0X2luZm9ybWF0aW9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAgIC5tb2RfcGxheWVyIC5wbGF5ZXJfaGVhZGVyIC5icm9hZGNhc3RfaW5mb3JtYXRpb24gLm1ldGFfZHVyYXRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIzcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMS40Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5tb2RfcGxheWVyIC5wbGF5ZXJfaGVhZGVyIC5icm9hZGNhc3RfaW5mb3JtYXRpb24gLm1ldGFfZHVyYXRpb24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtOyB9IH1cbiAgICAubW9kX3BsYXllciAucGxheWVyX2hlYWRlciAuYnJvYWRjYXN0X2luZm9ybWF0aW9uIC5tZXRhX29ubGluZV90aWxsIHtcbiAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgcmlnaHQ6IDIuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC5tb2RfcGxheWVyIC5tZXRhX2RhdGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIzcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMS40Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLm1vZF9wbGF5ZXIgLm1ldGFfdGltZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMjNweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjQzNzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm1vZF9wbGF5ZXIgLm1ldGFfdGltZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5tb2RfcGxheWVyIC5tZXRhX2R1cmF0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyM3B4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNDM3NXJlbTsgfSB9XG4gIC5tb2RfcGxheWVyIC5mYXZzdGFyIHtcbiAgICByaWdodDogMTBweDtcbiAgICByaWdodDogMC42MjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLm1vZF9wbGF5ZXIgLmZhdnN0YXIge1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIC5tb2RfcGxheWVyIC5mYXZzdGFyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07IH0gfVxuICAubW9kX3BsYXllciAucGxheWVyX3ZpZXdwb3J0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubW9kX3BsYXllciAucGxheWVyX3ZpZXdwb3J0IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgLm1vZF9wbGF5ZXIgLnBsYXllcl92aWV3cG9ydC5pc0Z1bGxzY3JlZW4ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5tb2RfcGxheWVyIC5wbGF5ZXJfdmlld3BvcnQuZnVsbHNpemUge1xuICAgICAgd2lkdGg6IDgwMHB4O1xuICAgICAgd2lkdGg6IDUwcmVtO1xuICAgICAgaGVpZ2h0OiA0NzhweDtcbiAgICAgIGhlaWdodDogMjkuODc1cmVtO1xuICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAubW9kX3BsYXllciAuaXNGdWxsc2NyZWVuIC5iaWctcGxheS1idXR0b24ge1xuICAgIHotaW5kZXg6IDk5OTk5OTk5OTk7IH1cbiAgLm1vZF9wbGF5ZXIgLmlzRnVsbHNjcmVlbiAudmlkZW9fd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAubW9kX3BsYXllciAuYmlnLXBsYXktYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM0ZTRmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5tb2RfcGxheWVyIC5iaWctcGxheS1idXR0b24ge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIC5tb2RfcGxheWVyIC5iaWctcGxheS1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTB2dztcbiAgICAgICAgaGVpZ2h0OiAxMHZ3OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5tb2RfcGxheWVyIC5iaWctcGxheS1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTJ2dztcbiAgICAgICAgaGVpZ2h0OiAxMnZ3OyB9IH1cbiAgICAubW9kX3BsYXllciAuYmlnLXBsYXktYnV0dG9uIC5pY28ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSArIDNweCk7XG4gICAgICBjb2xvcjogI2ZmY2IwMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5tb2RfcGxheWVyIC5iaWctcGxheS1idXR0b24gLmljbyB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICAubW9kX3BsYXllciAuYmlnLXBsYXktYnV0dG9uIC5pY28ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNHZ3O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMHZ3OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAubW9kX3BsYXllciAuYmlnLXBsYXktYnV0dG9uIC5pY28ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNnZ3O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMnZ3OyB9IH1cbiAgLm1vZF9wbGF5ZXIuZmxhc2ggLnBsYXllcl92aWV3cG9ydDpmdWxsc2NyZWVuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLm1vZF9wbGF5ZXIuZmxhc2ggLnBsYXllcl92aWV3cG9ydCAucGxheWVyX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAubW9kX3BsYXllci5odG1sNSB7XG4gICAgLyogSHRtbDUtUGxheWVyIGltIEZ1bGxzaXplLU1vZHVzICovIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5tb2RfcGxheWVyLmh0bWw1IC5wbGF5ZXJfaGVhZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLm1vZF9wbGF5ZXIuaHRtbDUgLnZpZGVvX2hlYWRsaW5lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubW9kX3BsYXllci5odG1sNSAuYnJvYWRjYXN0X2luZm9ybWF0aW9uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5tb2RfcGxheWVyLmh0bWw1IC5icm9hZGNhc3RfaW5mb3JtYXRpb24gLm1ldGFfb25saW5lX3RpbGwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5tb2RfcGxheWVyLmh0bWw1IC5tZXRhX3RpbWUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjNweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNDM3NXJlbTsgfSB9XG4gICAgLm1vZF9wbGF5ZXIuaHRtbDUgLnBsYXllcl93cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIC8qIEhpZXIgc3RlY2t0IGRhcyBWaWRlby1FbGVtZW50IGRyaW4gKi8gfVxuICAgICAgLm1vZF9wbGF5ZXIuaHRtbDUgLnBsYXllcl93cmFwcGVyIC52aWRlb193cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5tb2RfcGxheWVyLmh0bWw1IC5wbGF5ZXJfd3JhcHBlciAudmlkZW9fd3JhcHBlciB2aWRlbyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gICAgLm1vZF9wbGF5ZXIuaHRtbDUgLmZ1bGxzaXplIC5wbGF5ZXJfd3JhcHBlciB2aWRlbyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAubW9kX3BsYXllci5odG1sNS5wc2V1ZG9fZnVsbHNjcmVlbiAucGxheWVyX3ZpZXdwb3J0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTAwMDAwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLm1vZF9wbGF5ZXIuaHRtbDUucHNldWRvX2Z1bGxzY3JlZW4gLnBsYXllcl93cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAubW9kX3BsYXllci5odG1sNS5wc2V1ZG9fZnVsbHNjcmVlbiAucGxheWVyX3dyYXBwZXIgLnZpZGVvX3dyYXBwZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgLm1vZF9wbGF5ZXIuaHRtbDUucHNldWRvX2Z1bGxzY3JlZW4gLnBsYXllcl93cmFwcGVyIC52aWRlb193cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gICAgICAubW9kX3BsYXllci5odG1sNS5wc2V1ZG9fZnVsbHNjcmVlbiAucGxheWVyX3dyYXBwZXIgLnZpZGVvX3dyYXBwZXIgdmlkZW8ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDAwMDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAubW9kX3BsYXllci5odG1sNS5wc2V1ZG9fZnVsbHNjcmVlbiAucGxheWVyX3dyYXBwZXIgLm1vZF92aWRlb2NvbnRyb2xzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDEwMDAwMDE7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gI1xuICpcbiAqIEtvbnRyb2xsZWxlbWVudGUgZsO8ciBkZW4gSHRtbDUtUGxheWVyXG4gKlxuICogQHNlY3Rpb24gbW9kX3ZpZGVvY29udHJvbHNcbiAqL1xuLmlzRnVsbHNjcmVlbiAubW9kX3ZpZGVvY29udHJvbHMge1xuICB6LWluZGV4OiA5OTk5OTk5OTk5OyB9XG5cbi5tb2RfdmlkZW9jb250cm9scyB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzNGU0ZjtcbiAgY29sb3I6ICNmZmY7XG4gIGhlaWdodDogMjhweDtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGxpbmVhcjtcbiAgb3BhY2l0eTogMDsgfVxuICAubW9kX3ZpZGVvY29udHJvbHMudXNlci1pbnRlcmFjdGluZyB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ucHJvZ3Jlc3NfYmFyX3dyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTRweDtcbiAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5sYXJnZSAucHJvZ3Jlc3NfYmFyX3dyYXBwZXIge1xuICAgIHdpZHRoOiA3NiU7IH1cbiAgLm1lZGl1bSAucHJvZ3Jlc3NfYmFyX3dyYXBwZXIge1xuICAgIHdpZHRoOiA2NiU7IH1cbiAgLnNtYWxsIC5wcm9ncmVzc19iYXJfd3JhcHBlciB7XG4gICAgd2lkdGg6IDU3JTsgfVxuICAudmVyeV9zbWFsbCAucHJvZ3Jlc3NfYmFyX3dyYXBwZXIge1xuICAgIHdpZHRoOiA0OCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC52ZXJ5X3NtYWxsIC5wcm9ncmVzc19iYXJfd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucHJvZ3Jlc3NfYmFyX2hvbGRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgaGVpZ2h0OiAwLjM3NXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDRweDtcbiAgdG9wOiAwLjI1cmVtOyB9XG4gIC5wcm9ncmVzc19iYXJfaG9sZGVyIC5iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZjE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgaGVpZ2h0OiAwLjM3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0cHg7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDMwMG1zIGVhc2UtaW4tb3V0OyB9XG4gIC5wcm9ncmVzc19iYXJfaG9sZGVyIC5idWZmZXJfYmFyLFxuICAucHJvZ3Jlc3NfYmFyX2hvbGRlciAucHJvZ3Jlc3NfYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLnByb2dyZXNzX2Jhcl9ob2xkZXIgLmJ1ZmZlcl9iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGE4YTg7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5wcm9ncmVzc19iYXJfaG9sZGVyIC5wcm9ncmVzc19iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmNiMDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucHJvZ3Jlc3NfYmFyX2tub2Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYjAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDRweDtcbiAgd2lkdGg6IDAuMjVyZW07XG4gIGhlaWdodDogMTRweDtcbiAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0OyB9XG5cbi5wcm9ncmVzc19iYXJfdG9vbHRpcCB7XG4gIGhlaWdodDogMTRweDtcbiAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBsaW5lLWhlaWdodDogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxOHB4O1xuICBib3R0b206IDEuMTI1cmVtO1xuICBwYWRkaW5nOiAxcHggMnB4O1xuICBwYWRkaW5nOiAwLjA2MjVyZW0gMC4xMjVyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgLnByb2dyZXNzX2Jhcl90b29sdGlwOmFmdGVyIHtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICBib3JkZXItd2lkdGg6IDAuNDM3NXJlbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC03cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjQzNzVyZW07IH1cblxuLnBsYXllcl9jb250cm9scyB7XG4gIGJhY2tncm91bmQ6ICM0MzRlNGY7XG4gIGhlaWdodDogMThweDtcbiAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIC8qIGZpeCBmw7xyIHNhZmFyaSAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wbGF5ZXJfY29udHJvbHM6YWZ0ZXIge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGNvbnRlbnQ6IFwiLlwiOyB9XG4gIC5wbGF5ZXJfY29udHJvbHMgLnBsYXllcl9jb250cm9sc19lbGVtZW50YXJ5LFxuICAucGxheWVyX2NvbnRyb2xzIC5wbGF5ZXJfY29udHJvbHNfYWRkaXRpb25hbCB7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGhlaWdodDogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgIC8qIGZpeCBmw7xyIHNhZmFyaSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICBtYXJnaW4tdG9wOiAwLjA2MjVyZW07IH1cbiAgICAucGxheWVyX2NvbnRyb2xzIC5wbGF5ZXJfY29udHJvbHNfZWxlbWVudGFyeTphZnRlcixcbiAgICAucGxheWVyX2NvbnRyb2xzIC5wbGF5ZXJfY29udHJvbHNfYWRkaXRpb25hbDphZnRlciB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgY29udGVudDogXCIuXCI7IH1cbiAgLnBsYXllcl9jb250cm9scyAucGxheWVyX2NvbnRyb2xzX2VsZW1lbnRhcnkge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlIC5wbGF5ZXJfY29udHJvbHMgLnBsYXllcl9jb250cm9sc19lbGVtZW50YXJ5IHtcbiAgICAgIHdpZHRoOiA3NCU7IH1cbiAgICAubWVkaXVtIC5wbGF5ZXJfY29udHJvbHMgLnBsYXllcl9jb250cm9sc19lbGVtZW50YXJ5IHtcbiAgICAgIHdpZHRoOiA2NiU7IH1cbiAgICAuc21hbGwgLnBsYXllcl9jb250cm9scyAucGxheWVyX2NvbnRyb2xzX2VsZW1lbnRhcnkge1xuICAgICAgd2lkdGg6IDYwJTsgfVxuICAgIC52ZXJ5X3NtYWxsIC5wbGF5ZXJfY29udHJvbHMgLnBsYXllcl9jb250cm9sc19lbGVtZW50YXJ5IHtcbiAgICAgIHdpZHRoOiA1NCU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAudmVyeV9zbWFsbCAucGxheWVyX2NvbnRyb2xzIC5wbGF5ZXJfY29udHJvbHNfZWxlbWVudGFyeSB7XG4gICAgICAgICAgd2lkdGg6IDc0JTsgfSB9XG4gIC5wbGF5ZXJfY29udHJvbHMgLnBsYXllcl9jb250cm9sc19hZGRpdGlvbmFsIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnBsYXllcl9jb250cm9scyAucGxheWVyX3RpbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAjOGM4YzhjO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAucGxheWVyX2NvbnRyb2xzIC5wbGF5ZXJfdGltZV9jdXJyZW50IHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAucGxheWVyX2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICM4YzhjOGM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIG1hcmdpbjogMCAwLjMxMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMThweDtcbiAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucGxheWVyX2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICAgIG1hcmdpbjogMCAwLjE4NzVyZW07IH0gfVxuICAgIC5wbGF5ZXJfY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5wbGF5ZXJfY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uLmluYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNGU0ZTRlO1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLnBsYXllcl9jb250cm9scyAuY29udHJvbF9idXR0b24gLmljbyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtOyB9XG4gICAgLnBsYXllcl9jb250cm9scyAuY29udHJvbF9idXR0b24udm9sdW1lIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAucGxheWVyX2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbi52b2x1bWUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucGxheWVyX2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbi51bm11dGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAucGxheWVyX2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbi5jYXB0aW9ucyAuaWNvIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIC5wbGF5ZXJfY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uLnRyYW5zY3JpcHQgLmljbyB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgLnBsYXllcl9jb250cm9scyAuY29udHJvbF9idXR0b24uc2V0dGluZ3MgLmljbyB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICAucGxheWVyX2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbi5mdWxsc2NyZWVuIC5pY28ge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgLnBsYXllcl9jb250cm9scyAuY29udHJvbF9idXR0b24udmlkZW9pbmZvIC5pY28ge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucGxheWVyX2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbi52aWRlb2luZm8ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAucGxheWVyX2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbi5yZXN0YXJ0IC5pY29uIHtcbiAgICAgIC8qIHdvcmthcm91bmQgZm9yIFNhZmFyaSBEZXNrdG9wIGdsaXRjaCAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5wbGF5ZXJfY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uIC50b29sdGlwIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzZweDtcbiAgICAgIGJvdHRvbTogMi4yNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM0ZTRmO1xuICAgICAgcGFkZGluZzogNHB4IDVweDtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC4zMTI1cmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAucGxheWVyX2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbiAudG9vbHRpcDphZnRlciB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQzNGU0ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA3cHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC40Mzc1cmVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNDM3NXJlbTsgfVxuICAgIC5wbGF5ZXJfY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjNGM0YzRjO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wbGF5ZXJfY29udHJvbHMgLnBsYXllcl9jb250cm9sc19lbGVtZW50YXJ5IC5jb250cm9sX2J1dHRvbjpmaXJzdC1vZi10eXBlIC50b29sdGlwLFxuICAucGxheWVyX2NvbnRyb2xzIC5wbGF5ZXJfY29udHJvbHNfZWxlbWVudGFyeSAuY29udHJvbF9idXR0b246Zmlyc3Qtb2YtdHlwZVtzdHlsZV49XCJkaXNwbGF5OiBub25lO1wiXSArIC5jb250cm9sX2J1dHRvbiAudG9vbHRpcCB7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnBsYXllcl9jb250cm9scyAucGxheWVyX2NvbnRyb2xzX2VsZW1lbnRhcnkgLmNvbnRyb2xfYnV0dG9uOmZpcnN0LW9mLXR5cGUgLnRvb2x0aXA6YWZ0ZXIsXG4gICAgLnBsYXllcl9jb250cm9scyAucGxheWVyX2NvbnRyb2xzX2VsZW1lbnRhcnkgLmNvbnRyb2xfYnV0dG9uOmZpcnN0LW9mLXR5cGVbc3R5bGVePVwiZGlzcGxheTogbm9uZTtcIl0gKyAuY29udHJvbF9idXR0b24gLnRvb2x0aXA6YWZ0ZXIge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAucGxheWVyX2NvbnRyb2xzIC5wbGF5ZXJfY29udHJvbHNfYWRkaXRpb25hbCAuY29udHJvbF9idXR0b246bGFzdC1vZi10eXBlIC50b29sdGlwIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAucGxheWVyX2NvbnRyb2xzIC5wbGF5ZXJfY29udHJvbHNfYWRkaXRpb25hbCAuY29udHJvbF9idXR0b246bGFzdC1vZi10eXBlIC50b29sdGlwOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbjogMDsgfVxuICAucGxheWVyX2NvbnRyb2xzIC52b2x1bWVfYmFyX3dyYXBwZXIge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTVweDtcbiAgICBoZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAycHg7XG4gICAgdG9wOiAwLjEyNXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5wbGF5ZXJfY29udHJvbHMgLnZvbHVtZV9iYXJfd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGxheWVyX2NvbnRyb2xzIC52b2x1bWVfYmFyX3dyYXBwZXIuYWN0aXZlIHtcbiAgICB3aWR0aDogNTZweDtcbiAgICB3aWR0aDogMy41cmVtOyB9XG4gIC5wbGF5ZXJfY29udHJvbHMgLnZvbHVtZV9iYXJfaG9sZGVyIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgbWFyZ2luLXRvcDogMC4zNzVyZW07IH1cbiAgLnBsYXllcl9jb250cm9scyAudm9sdW1lX2JhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNmMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgLnBsYXllcl9jb250cm9scyAudm9sdW1lX2Jhci5hY3RpdmUge1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIHdpZHRoOiAzLjVyZW07IH1cbiAgLnBsYXllcl9jb250cm9scyAudm9sdW1lX3Byb2dyZXNzX2JhciB7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5wbGF5ZXJfY29udHJvbHMgLnZvbHVtZV9iYXJfa25vYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB3aWR0aDogNHB4O1xuICAgIHdpZHRoOiAwLjI1cmVtO1xuICAgIGhlaWdodDogMTVweDtcbiAgICBoZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc2V0dGluZ3Mge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi52aWRlb19vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDM2cHg7XG4gIGJvdHRvbTogMi4yNXJlbTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDAuNzUpO1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjYyNXJlbTsgfVxuICAudmlkZW9fb3ZlcmxheTphZnRlciB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC43NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiA3cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjQzNzVyZW07IH1cbiAgLnZpZGVvX292ZXJsYXkgaDQge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLmluZm9fb3ZlcmxheSB7XG4gIHdpZHRoOiAxNDBweDtcbiAgd2lkdGg6IDguNzVyZW07XG4gIGxlZnQ6IGNhbGMoMTAwJSAtIDE2NXB4KTsgfVxuICAuaW5mb19vdmVybGF5OmFmdGVyIHtcbiAgICByaWdodDogMTJweDtcbiAgICByaWdodDogMC43NXJlbTsgfVxuXG4uc2V0dGluZ3Nfb3ZlcmxheTphZnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC03cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMC40Mzc1cmVtOyB9XG5cbi5zZXR0aW5nc19vdmVybGF5IGg0IHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW46IDA7IH1cblxuLnNldHRpbmdzX292ZXJsYXkgb2wge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG4uc2V0dGluZ3Nfb3ZlcmxheSBsaSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnNldHRpbmdzX292ZXJsYXkgbGkuYWN0aXZlLCAuc2V0dGluZ3Nfb3ZlcmxheSBsaTpob3ZlciB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbi5tb2RfdmlkZW9jb250cm9scyAucHJvZ3Jlc3NfYmFyX3dyYXBwZXI6aG92ZXIgLmJhciwgLm1vZF92aWRlb2NvbnRyb2xzIC5wcm9ncmVzc19iYXJfd3JhcHBlcjpmb2N1cyAuYmFyLCAubW9kX3ZpZGVvY29udHJvbHMgLnByb2dyZXNzX2Jhcl93cmFwcGVyOmFjdGl2ZSAuYmFyIHtcbiAgdG9wOiAwOyB9XG5cbi5tb2RfdmlkZW9jb250cm9scyAucHJvZ3Jlc3NfYmFyX3dyYXBwZXI6aG92ZXIgLnByb2dyZXNzX2Jhcl9rbm9iLCAubW9kX3ZpZGVvY29udHJvbHMgLnByb2dyZXNzX2Jhcl93cmFwcGVyOmZvY3VzIC5wcm9ncmVzc19iYXJfa25vYiwgLm1vZF92aWRlb2NvbnRyb2xzIC5wcm9ncmVzc19iYXJfd3JhcHBlcjphY3RpdmUgLnByb2dyZXNzX2Jhcl9rbm9iIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubW9kX3ZpZGVvY29udHJvbHMgLnByb2dyZXNzX2Jhcl93cmFwcGVyOmhvdmVyIC5wcm9ncmVzc19iYXJfdG9vbHRpcCwgLm1vZF92aWRlb2NvbnRyb2xzIC5wcm9ncmVzc19iYXJfd3JhcHBlcjpmb2N1cyAucHJvZ3Jlc3NfYmFyX3Rvb2x0aXAsIC5tb2RfdmlkZW9jb250cm9scyAucHJvZ3Jlc3NfYmFyX3dyYXBwZXI6YWN0aXZlIC5wcm9ncmVzc19iYXJfdG9vbHRpcCB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1vZF92aWRlb2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbjpob3ZlciwgLm1vZF92aWRlb2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbjpmb2N1cywgLm1vZF92aWRlb2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbjphY3RpdmUge1xuICBjb2xvcjogI2IyYjJiMjsgfVxuICAubW9kX3ZpZGVvY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uOmhvdmVyIC50b29sdGlwLCAubW9kX3ZpZGVvY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uOmZvY3VzIC50b29sdGlwLCAubW9kX3ZpZGVvY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uOmFjdGl2ZSAudG9vbHRpcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1vZF92aWRlb2NvbnRyb2xzIC5jb250cm9sX2J1dHRvbi5hY3RpdmU6aG92ZXIsIC5tb2RfdmlkZW9jb250cm9scyAuY29udHJvbF9idXR0b24uYWN0aXZlOmZvY3VzLCAubW9kX3ZpZGVvY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uLmFjdGl2ZTphY3RpdmUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4ubW9kX3ZpZGVvY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uLmluYWN0aXZlOmhvdmVyLCAubW9kX3ZpZGVvY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uLmluYWN0aXZlOmZvY3VzLCAubW9kX3ZpZGVvY29udHJvbHMgLmNvbnRyb2xfYnV0dG9uLmluYWN0aXZlOmFjdGl2ZSB7XG4gIGNvbG9yOiAjNGU0ZTRlOyB9XG4gIC5tb2RfdmlkZW9jb250cm9scyAuY29udHJvbF9idXR0b24uaW5hY3RpdmU6aG92ZXIgLnRvb2x0aXAsIC5tb2RfdmlkZW9jb250cm9scyAuY29udHJvbF9idXR0b24uaW5hY3RpdmU6Zm9jdXMgLnRvb2x0aXAsIC5tb2RfdmlkZW9jb250cm9scyAuY29udHJvbF9idXR0b24uaW5hY3RpdmU6YWN0aXZlIC50b29sdGlwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5tb2RfdmlkZW9jb250cm9scyAuc2V0dGluZ3Nfb3ZlcmxheSBsaTpob3Zlcixcbi5tb2RfdmlkZW9jb250cm9scyAuc2V0dGluZ3Nfb3ZlcmxheSBsaTpmb2N1cyxcbi5tb2RfdmlkZW9jb250cm9scyAuc2V0dGluZ3Nfb3ZlcmxheSBsaTphY3RpdmUge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cbiJdfQ== */