/**
 * APP
 */
/* Base files. */
/**
 * color pattern
 */
/*
* Skeleton V2.0.4
* Copyright 2014, Dave Gamache
* www.getskeleton.com
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
* 12/9/2014
* Sass Version by Seth Coelen https://github.com/whatsnewsaes
*/
html, body{margin: 0; padding:0; overflow: hidden;}
html {
  font-size: 62.5%; }

body {
  font-size: 1.5em;
  line-height: 1.6;
  font-weight: 400;
  font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #222; }

a {
  color: #1eaedb; }
  a:hover {
    color: #1b9cc5; }

hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #e1e1e1; }

.u-full-width {
  width: 100%;
  box-sizing: border-box; }

.u-max-full-width {
  max-width: 100%;
  box-sizing: border-box; }

.u-pull-right {
  float: right; }

.u-transition-appear {
  opacity: 1;
  transition: opacity 0.2s; }

.u-hide {
  opacity: 0.4;
  visibility: hidden; }

.vjs-tech {
  width: 100%; }

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 2rem;
  font-weight: 300; }

h1 {
  font-size: 4.0rem;
  line-height: 1.2;
  letter-spacing: -.1rem; }

h2 {
  font-size: 3.6rem;
  line-height: 1.25;
  letter-spacing: -.1rem; }

h3 {
  font-size: 3.0rem;
  line-height: 1.3;
  letter-spacing: -.1rem; }

h4 {
  font-size: 2.4rem;
  line-height: 1.35;
  letter-spacing: -.08rem; }

h5 {
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: -.05rem; }

h6 {
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0; }

@media (min-width: 550px) {
  h1 {
    font-size: 5.0rem; }
  h2 {
    font-size: 4.2rem; }
  h3 {
    font-size: 3.6rem; }
  h4 {
    font-size: 3.0rem; }
  h5 {
    font-size: 2.4rem; }
  h6 {
    font-size: 1.5rem; } }

p {
  margin-top: 0;
  margin-bottom: 20px; }

/* Modules */
/*!
Video.js Default Styles (http://videojs.com)
Version 4.8.0
Create your own skin at http://designer.videojs.com
*/
/* SKIN
================================================================================
The main class name for all skin-specific styles. To make your own skin,
replace all occurances of 'vjs-default-skin' with a new name. Then add your new
skin name to your video tag instead of the default skin.
e.g. <video class="video-js my-skin-name">
*/
.vjs-default-skin {
  color: #cccccc; }

/* Custom Icon Font
--------------------------------------------------------------------------------
The control icons are from a custom font. Each icon corresponds to a character
(e.g. "\e001"). Font icons allow for easy scaling and coloring of icons.
*/
@font-face {
  font-family: 'VideoJS';
  src: url("font/vjs.eot");
  src: url("font/vjs.eot?#iefix") format("embedded-opentype"), url("font/vjs.woff") format("woff"), url("font/vjs.ttf") format("truetype"), url("font/vjs.svg#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Base UI Component Classes
--------------------------------------------------------------------------------
*/
/* Slider - used for Volume bar and Seek bar */
.vjs-default-skin .vjs-slider {
  /* Replace browser focus hightlight with handle highlight */
  outline: 0;
  position: relative;
  cursor: pointer;
  padding: 0;
  /* background-color-with-alpha */
  background-color: #333333;
  background-color: rgba(51, 51, 51, 0.9); }

.vjs-default-skin .vjs-slider:focus {
  /* box-shadow */
  box-shadow: 0 0 2em #ffffff; }

.vjs-default-skin .vjs-slider-handle {
  position: absolute;
  /* Needed for IE6 */
  left: 0;
  top: 0; }

.vjs-default-skin .vjs-slider-handle:before {
  content: "\e009";
  font-family: VideoJS;
  font-size: 1em;
  line-height: 1;
  text-align: center;
  text-shadow: 0em 0em 1em #fff;
  position: absolute;
  top: 0;
  left: 0;
  /* Rotate the square icon to make a diamond */
  /* transform */
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

/* Control Bar
--------------------------------------------------------------------------------
The default control bar that is a container for most of the controls.
*/
.vjs-default-skin .vjs-control-bar {
  /* Start hidden */
  display: none;
  position: absolute;
  /* Place control bar at the bottom of the player box/video.
     If you want more margin below the control bar, add more height. */
  bottom: 0;
  /* Use left/right to stretch to 100% width of player div */
  left: 0;
  right: 0;
  /* Height includes any margin you want above or below control items */
  height: 3.0em;
  /* background-color-with-alpha */
  background-color: #07141e;
  background-color: rgba(7, 20, 30, 0.7); }

/* Show the control bar only once the video has started playing */
.vjs-default-skin.vjs-has-started .vjs-control-bar {
  display: block;
  /* Visibility needed to make sure things hide in older browsers too. */
  visibility: visible;
  opacity: 1;
  /* transition */
  transition: visibility 0.1s, opacity 0.1s; }

/* Hide the control bar when the video is playing and the user is inactive  */
.vjs-default-skin.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
  display: block;
  visibility: hidden;
  opacity: 0;
  /* transition */
  transition: visibility 1s, opacity 1s; }

.vjs-default-skin.vjs-controls-disabled .vjs-control-bar {
  display: none; }

.vjs-default-skin.vjs-using-native-controls .vjs-control-bar {
  display: none; }

/* The control bar shouldn't show after an error */
.vjs-default-skin.vjs-error .vjs-control-bar {
  display: none; }

/* IE8 is flakey with fonts, and you have to change the actual content to force
fonts to show/hide properly.
  - "\9" IE8 hack didn't work for this
  - Found in XP IE8 from http://modern.ie. Does not show up in "IE8 mode" in IE9
*/
@media \0screen {
  .vjs-default-skin.vjs-user-inactive.vjs-playing .vjs-control-bar :before {
    content: ""; } }

/* General styles for individual controls. */
.vjs-default-skin .vjs-control {
  outline: none;
  position: relative;
  float: left;
  text-align: center;
  margin: 0;
  padding: 0;
  height: 3.0em;
  width: 4em; }

/* FontAwsome button icons */
.vjs-default-skin .vjs-control:before {
  font-family: VideoJS;
  font-size: 1.5em;
  line-height: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); }

/* Replacement for focus outline */
.vjs-default-skin .vjs-control:focus:before,
.vjs-default-skin .vjs-control:hover:before {
  text-shadow: 0em 0em 1em #ffffff; }

.vjs-default-skin .vjs-control:focus {
  /*  outline: 0; */
  /* keyboard-only users cannot see the focus on several of the UI elements when
  this is set to 0 */ }

/* Hide control text visually, but have it available for screenreaders */
.vjs-default-skin .vjs-control-text {
  /* hide-visually */
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/* Play/Pause
--------------------------------------------------------------------------------
*/
.vjs-default-skin .vjs-play-control {
  width: 5em;
  cursor: pointer; }

.vjs-default-skin .vjs-play-control:before {
  content: "\e001"; }

.vjs-default-skin.vjs-playing .vjs-play-control:before {
  content: "\e002"; }

/* Playback toggle
--------------------------------------------------------------------------------
*/
.vjs-default-skin .vjs-playback-rate .vjs-playback-rate-value {
  font-size: 1.5em;
  line-height: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); }

.vjs-default-skin .vjs-playback-rate.vjs-menu-button .vjs-menu .vjs-menu-content {
  width: 4em;
  left: -2em;
  list-style: none; }

/* Volume/Mute
-------------------------------------------------------------------------------- */
.vjs-default-skin .vjs-mute-control,
.vjs-default-skin .vjs-volume-menu-button {
  cursor: pointer;
  float: right; }

.vjs-default-skin .vjs-mute-control:before,
.vjs-default-skin .vjs-volume-menu-button:before {
  content: "\e006"; }

.vjs-default-skin .vjs-mute-control.vjs-vol-0:before,
.vjs-default-skin .vjs-volume-menu-button.vjs-vol-0:before {
  content: "\e003"; }

.vjs-default-skin .vjs-mute-control.vjs-vol-1:before,
.vjs-default-skin .vjs-volume-menu-button.vjs-vol-1:before {
  content: "\e004"; }

.vjs-default-skin .vjs-mute-control.vjs-vol-2:before,
.vjs-default-skin .vjs-volume-menu-button.vjs-vol-2:before {
  content: "\e005"; }

.vjs-default-skin .vjs-volume-control {
  width: 5em;
  float: right; }

.vjs-default-skin .vjs-volume-bar {
  width: 5em;
  height: 0.6em;
  margin: 1.1em auto 0; }

.vjs-default-skin .vjs-volume-menu-button .vjs-menu-content {
  height: 2.9em; }

.vjs-default-skin .vjs-volume-level {
  position: absolute;
  top: 0;
  left: 0;
  height: 0.5em;
  /* assuming volume starts at 1.0 */
  width: 100%;
  background: #66a8cc url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat; }

.vjs-default-skin .vjs-volume-bar .vjs-volume-handle {
  width: 0.5em;
  height: 0.5em;
  /* Assumes volume starts at 1.0. If you change the size of the
     handle relative to the volume bar, you'll need to update this value
     too. */
  left: 4.5em; }

.vjs-default-skin .vjs-volume-handle:before {
  font-size: 0.9em;
  top: -0.2em;
  left: -0.2em;
  width: 1em;
  height: 1em; }

.vjs-default-skin .vjs-volume-menu-button .vjs-menu .vjs-menu-content {
  width: 6em;
  left: -4em; }

/* Progress
--------------------------------------------------------------------------------
*/
.vjs-default-skin .vjs-progress-control {
  position: absolute;
  left: 0;
  right: 0;
  width: auto;
  font-size: 0.3em;
  height: 1em;
  /* Set above the rest of the controls. */
  top: -1em;
  /* Shrink the bar slower than it grows. */
  /* transition */
  transition: all 0.4s; }

/* On hover, make the progress bar grow to something that's more clickable.
    This simply changes the overall font for the progress bar, and this
    updates both the em-based widths and heights, as wells as the icon font */
.vjs-default-skin:hover .vjs-progress-control {
  font-size: .9em;
  /* Even though we're not changing the top/height, we need to include them in
      the transition so they're handled correctly. */
  /* transition */
  transition: all 0.2s; }

/* Box containing play and load progresses. Also acts as seek scrubber. */
.vjs-default-skin .vjs-progress-holder {
  height: 100%; }

/* Progress Bars */
.vjs-default-skin .vjs-progress-holder .vjs-play-progress,
.vjs-default-skin .vjs-progress-holder .vjs-load-progress,
.vjs-default-skin .vjs-progress-holder .vjs-load-progress div {
  position: absolute;
  display: block;
  height: 100%;
  margin: 0;
  padding: 0;
  /* updated by javascript during playback */
  width: 0;
  /* Needed for IE6 */
  left: 0;
  top: 0; }

.vjs-default-skin .vjs-play-progress {
  /*
    Using a data URI to create the white diagonal lines with a transparent
      background. Surprisingly works in IE8.
      Created using http://www.patternify.com
    Changing the first color value will change the bar color.
    Also using a paralax effect to make the lines move backwards.
      The -50% left position makes that happen.
  */
  background: #66a8cc url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat; }

.vjs-default-skin .vjs-load-progress {
  background: #646464;
  background: rgba(255, 255, 255, 0.2); }

/* there are child elements of the load progress bar that represent the
   specific time ranges that have been buffered */
.vjs-default-skin .vjs-load-progress div {
  background: #787878;
  background: rgba(255, 255, 255, 0.1); }

.vjs-default-skin .vjs-seek-handle {
  width: 1.5em;
  height: 100%; }

.vjs-default-skin .vjs-seek-handle:before {
  padding-top: 0.1em; }

/* Live Mode
--------------------------------------------------------------------------------
*/
.vjs-default-skin.vjs-live .vjs-time-controls,
.vjs-default-skin.vjs-live .vjs-time-divider,
.vjs-default-skin.vjs-live .vjs-progress-control {
  display: none; }

.vjs-default-skin.vjs-live .vjs-live-display {
  display: block; }

/* Live Display
--------------------------------------------------------------------------------
*/
.vjs-default-skin .vjs-live-display {
  display: none;
  font-size: 1em;
  line-height: 3em; }

/* Time Display
--------------------------------------------------------------------------------
*/
.vjs-default-skin .vjs-time-controls {
  font-size: 1em;
  /* Align vertically by making the line height the same as the control bar */
  line-height: 3em; }

.vjs-default-skin .vjs-current-time {
  float: left; }

.vjs-default-skin .vjs-duration {
  float: left; }

/* Remaining time is in the HTML, but not included in default design */
.vjs-default-skin .vjs-remaining-time {
  display: none;
  float: left; }

.vjs-time-divider {
  float: left;
  line-height: 3em; }

/* Fullscreen
--------------------------------------------------------------------------------
*/
.vjs-default-skin .vjs-fullscreen-control {
  width: 3.8em;
  cursor: pointer;
  float: right; }

.vjs-default-skin .vjs-fullscreen-control:before {
  content: "\e000"; }

/* Switch to the exit icon when the player is in fullscreen */
.vjs-default-skin.vjs-fullscreen .vjs-fullscreen-control:before {
  content: "\e00b"; }

/* Big Play Button (play button at start)
--------------------------------------------------------------------------------
Positioning of the play button in the center or other corners can be done more
easily in the skin designer. http://designer.videojs.com/
*/
.vjs-default-skin .vjs-big-play-button {
  /* Center it horizontally */
  left: 50%;
  margin-left: -2.1em;
  /* Center it vertically */
  top: 50%;
  margin-top: -1.4000000000000001em;
  font-size: 3em;
  display: block;
  z-index: 2;
  position: absolute;
  width: 4em;
  height: 2.6em;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  opacity: 1;
  /* Need a slightly gray bg so it can be seen on black backgrounds */
  /* background-color-with-alpha */
  background-color: #07141e;
  background-color: rgba(7, 20, 30, 0.7);
  border: 0.1em solid #3b4249;
  /* border-radius */
  border-radius: 0.8em;
  /* box-shadow */
  box-shadow: 0px 0px 1em rgba(255, 255, 255, 0.25);
  /* transition */
  transition: all 0.4s; }

/* Optionally center */
.vjs-default-skin.vjs-big-play-centered .vjs-big-play-button {
  /* Center it horizontally */
  left: 50%;
  margin-left: -2.1em;
  /* Center it vertically */
  top: 50%;
  margin-top: -1.4000000000000001em; }

/* Hide if controls are disabled */
.vjs-default-skin.vjs-controls-disabled .vjs-big-play-button {
  display: none; }

/* Hide when video starts playing */
.vjs-default-skin.vjs-has-started .vjs-big-play-button {
  display: none; }

/* Hide on mobile devices. Remove when we stop using native controls
    by default on mobile  */
.vjs-default-skin.vjs-using-native-controls .vjs-big-play-button {
  display: none; }

.vjs-default-skin:hover .vjs-big-play-button,
.vjs-default-skin .vjs-big-play-button:focus {
  outline: 0;
  border-color: #fff;
  /* IE8 needs a non-glow hover state */
  background-color: #505050;
  background-color: rgba(50, 50, 50, 0.75);
  /* box-shadow */
  box-shadow: 0 0 3em #ffffff;
  /* transition */
  transition: all 0s; }

.vjs-default-skin .vjs-big-play-button:before {
  content: "\e001";
  font-family: VideoJS;
  /* In order to center the play icon vertically we need to set the line height
     to the same as the button height */
  line-height: 2.6em;
  text-shadow: 0.05em 0.05em 0.1em #000;
  text-align: center;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%; }

.vjs-error .vjs-big-play-button {
  display: none; }

/* Error Display
--------------------------------------------------------------------------------
*/
.vjs-error-display {
  display: none; }

.vjs-error .vjs-error-display {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }

.vjs-error .vjs-error-display:before {
  content: 'X';
  font-family: Arial;
  font-size: 4em;
  color: #666666;
  /* In order to center the play icon vertically we need to set the line height
     to the same as the button height */
  line-height: 1;
  text-shadow: 0.05em 0.05em 0.1em #000;
  text-align: center;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  margin-top: -0.5em;
  width: 100%; }

.vjs-error-display div {
  position: absolute;
  font-size: 1.4em;
  text-align: center;
  bottom: 1em;
  right: 1em;
  left: 1em; }

.vjs-error-display a,
.vjs-error-display a:visited {
  color: #F4A460; }

/* Loading Spinner
--------------------------------------------------------------------------------
*/
.vjs-loading-spinner {
  /* Should be hidden by default */
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 4em;
  line-height: 1;
  width: 1em;
  height: 1em;
  margin-left: -0.5em;
  margin-top: -0.5em;
  opacity: 0.75; }

/* Show the spinner when waiting for data and seeking to a new time */
.vjs-waiting .vjs-loading-spinner,
.vjs-seeking .vjs-loading-spinner {
  display: block;
  /* only animate when showing because it can be processor heavy */
  /* animation */
  -webkit-animation: spin 1.5s infinite linear;
  animation: spin 1.5s infinite linear; }

/* Errors are unrecoverable without user interaction so hide the spinner */
.vjs-error .vjs-loading-spinner {
  display: none;
  /* ensure animation doesn't continue while hidden */
  /* animation */
  -webkit-animation: none;
  animation: none; }

.vjs-default-skin .vjs-loading-spinner:before {
  content: "\e01e";
  font-family: VideoJS;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  text-align: center;
  text-shadow: 0em 0em 0.1em #000; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg); } }

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
            transform: rotate(359deg); } }

/* Menu Buttons (Captions/Subtitles/etc.)
--------------------------------------------------------------------------------
*/
.vjs-default-skin .vjs-menu-button {
  float: right;
  cursor: pointer; }

.vjs-default-skin .vjs-menu {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0em;
  /* (Width of vjs-menu - width of button) / 2 */
  width: 0em;
  height: 0em;
  margin-bottom: 3em;
  border-left: 2em solid transparent;
  border-right: 2em solid transparent;
  border-top: 1.55em solid #000000;
  /* Same width top as ul bottom */
  border-top-color: rgba(7, 40, 50, 0.5);
  /* Same as ul background */ }

/* Button Pop-up Menu */
.vjs-default-skin .vjs-menu-button .vjs-menu .vjs-menu-content {
  display: block;
  padding: 0;
  margin: 0;
  position: absolute;
  width: 10em;
  bottom: 1.5em;
  /* Same bottom as vjs-menu border-top */
  max-height: 15em;
  overflow: auto;
  left: -5em;
  /* Width of menu - width of button / 2 */
  /* background-color-with-alpha */
  background-color: #07141e;
  background-color: rgba(7, 20, 30, 0.7);
  /* box-shadow */
  box-shadow: -0.2em -0.2em 0.3em rgba(255, 255, 255, 0.2); }

.vjs-default-skin .vjs-menu-button:hover .vjs-menu {
  display: block; }

.vjs-default-skin .vjs-menu-button ul li {
  list-style: none;
  margin: 0;
  padding: 0.3em 0 0.3em 0;
  line-height: 1.4em;
  font-size: 1.2em;
  text-align: center;
  text-transform: lowercase; }

.vjs-default-skin .vjs-menu-button ul li.vjs-selected {
  background-color: #000; }

.vjs-default-skin .vjs-menu-button ul li:focus,
.vjs-default-skin .vjs-menu-button ul li:hover,
.vjs-default-skin .vjs-menu-button ul li.vjs-selected:focus,
.vjs-default-skin .vjs-menu-button ul li.vjs-selected:hover {
  outline: 0;
  color: #111;
  /* background-color-with-alpha */
  background-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.75);
  /* box-shadow */
  box-shadow: 0 0 1em #ffffff; }

.vjs-default-skin .vjs-menu-button ul li.vjs-menu-title {
  text-align: center;
  text-transform: uppercase;
  font-size: 1em;
  line-height: 2em;
  padding: 0;
  margin: 0 0 0.3em 0;
  font-weight: bold;
  cursor: default; }

/* Subtitles Button */
.vjs-default-skin .vjs-subtitles-button:before {
  content: "\e00c"; }

/* Captions Button */
.vjs-default-skin .vjs-captions-button:before {
  content: "\e008"; }

/* Chapters Button */
.vjs-default-skin .vjs-chapters-button:before {
  content: "\e00c"; }

.vjs-default-skin .vjs-chapters-button.vjs-menu-button .vjs-menu .vjs-menu-content {
  width: 24em;
  left: -12em; }

/* Replacement for focus outline */
.vjs-default-skin .vjs-captions-button:focus .vjs-control-content:before,
.vjs-default-skin .vjs-captions-button:hover .vjs-control-content:before {
  /* box-shadow */
  box-shadow: 0 0 1em #ffffff; }

/*
REQUIRED STYLES (be careful overriding)
================================================================================
When loading the player, the video tag is replaced with a DIV,
that will hold the video tag or object tag for other playback methods.
The div contains the video playback element (Flash or HTML5) and controls,
and sets the width and height of the video.

** If you want to add some kind of border/padding (e.g. a frame), or special
positioning, use another containing element. Otherwise you risk messing up
control positioning and full window mode. **
*/
.video-js {
  background-color: #000;
  position: relative;
  padding: 0;
  /* Start with 10px for base font size so other dimensions can be em based and
     easily calculable. */
  font-size: 10px;
  /* Allow poster to be vertially aligned. */
  vertical-align: middle;
  /*  display: table-cell; */
  /*This works in Safari but not Firefox.*/
  /* Provide some basic defaults for fonts */
  font-weight: normal;
  font-style: normal;
  /* Avoiding helvetica: issue #376 */
  font-family: Arial, sans-serif;
  /* Turn off user selection (text highlighting) by default.
     The majority of player components will not be text blocks.
     Text areas will need to turn user selection back on. */
  /* user-select */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/* Playback technology elements expand to the width/height of the containing div
    <video> or <object> */
.video-js .vjs-tech {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* Fix for Firefox 9 fullscreen (only if it is enabled). Not needed when
   checking fullScreenEnabled. */
.video-js:-moz-full-screen {
  position: absolute; }

/* Fullscreen Styles */
body.vjs-full-window {
  padding: 0;
  margin: 0;
  height: 100%;
  /* Fix for IE6 full-window. http://www.cssplay.co.uk/layouts/fixed.html */
  overflow-y: auto; }

.video-js.vjs-fullscreen {
  position: fixed;
  overflow: hidden;
  z-index: 1000;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  /* IE6 full-window (underscore hack) */
  _position: absolute; }

.video-js:-webkit-full-screen {
  width: 100% !important;
  height: 100% !important; }

.video-js.vjs-fullscreen.vjs-user-inactive {
  cursor: none; }

/* Poster Styles */
.vjs-poster {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  cursor: pointer;
  height: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%; }

.vjs-poster img {
  display: block;
  margin: 0 auto;
  max-height: 100%;
  padding: 0;
  width: 100%; }

/* Hide the poster when native controls are used otherwise it covers them */
.video-js.vjs-using-native-controls .vjs-poster {
  display: none; }

/* Text Track Styles */
/* Overall track holder for both captions and subtitles */
.video-js .vjs-text-track-display {
  text-align: center;
  position: absolute;
  bottom: 4em;
  /* Leave padding on left and right */
  left: 1em;
  right: 1em; }

/* Move captions down when controls aren't being shown */
.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {
  bottom: 1em; }

/* Individual tracks */
.video-js .vjs-text-track {
  display: none;
  font-size: 1.4em;
  text-align: center;
  margin-bottom: 0.1em;
  /* Transparent black background, or fallback to all black (oldIE) */
  /* background-color-with-alpha */
  background-color: #000000;
  background-color: rgba(0, 0, 0, 0.5); }

.video-js .vjs-subtitles {
  color: #ffffff; }

.video-js .vjs-captions {
  color: #ffcc66; }

.vjs-tt-cue {
  display: block; }

/* Hide disabled or unsupported controls */
.vjs-default-skin .vjs-hidden {
  display: none; }

.vjs-lock-showing {
  display: block !important;
  opacity: 1;
  visibility: visible; }

/*  In IE8 w/ no JavaScript (no HTML5 shim), the video tag doesn't register.
    The .video-js classname on the video tag also isn't considered.
    This optional paragraph inside the video tag can provide a message to users
    about what's required to play video. */
.vjs-no-js {
  padding: 20px;
  color: #ccc;
  background-color: #333;
  font-size: 18px;
  font-family: Arial, sans-serif;
  text-align: center;
  width: 300px;
  height: 150px;
  margin: 0px auto; }

.vjs-no-js a,
.vjs-no-js a:visited {
  color: #F4A460; }

/* -----------------------------------------------------------------------------
The original source of this file lives at
https://github.com/videojs/video.js/blob/master/src/css/video-js.less */
/*
* Skeleton V2.0.4
* Copyright 2014, Dave Gamache
* www.getskeleton.com
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
* 12/9/2014
* Sass Version by Seth Coelen https://github.com/whatsnewsaes
*/
.container {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box; }

.column,
.columns {
  width: 100%;
  float: left;
  box-sizing: border-box; }

@media (min-width: 400px) {
  .container {
    width: 85%;
    padding: 0; } }

@media (min-width: 550px) {
  .container {
    width: 80%; }
  .column,
  .columns {
    margin-left: 4%; }
  .column:first-child,
  .columns:first-child {
    margin-left: 0; }
  .one.column,
  .one.columns {
    width: 4.66667%; }
  .two.columns {
    width: 13.33333%; }
  .three.columns {
    width: 22%; }
  .four.columns {
    width: 30.66667%; }
  .five.columns {
    width: 39.33333%; }
  .six.columns {
    width: 48%; }
  .seven.columns {
    width: 56.66667%; }
  .eight.columns {
    width: 65.33333%; }
  .nine.columns {
    width: 74%; }
  .ten.columns {
    width: 82.66667%; }
  .eleven.columns {
    width: 91.33333%; }
  .twelve.columns {
    width: 100%;
    margin-left: 0; }
  .one-third.column {
    width: 30.66667%; }
  .two-thirds.column {
    width: 65.33333%; }
  .one-half.column {
    width: 48%; }
  .offset-by-one.column,
  .offset-by-one.columns {
    margin-left: 8.66667%; }
  .offset-by-two.column,
  .offset-by-two.columns {
    margin-left: 17.33333%; }
  .offset-by-three.column,
  .offset-by-three.columns {
    margin-left: 26%; }
  .offset-by-four.column,
  .offset-by-four.columns {
    margin-left: 34.66667%; }
  .offset-by-five.column,
  .offset-by-five.columns {
    margin-left: 43.33333%; }
  .offset-by-six.column,
  .offset-by-six.columns {
    margin-left: 52%; }
  .offset-by-seven.column,
  .offset-by-seven.columns {
    margin-left: 60.66667%; }
  .offset-by-eight.column,
  .offset-by-eight.columns {
    margin-left: 69.33333%; }
  .offset-by-nine.column,
  .offset-by-nine.columns {
    margin-left: 78%; }
  .offset-by-ten.column,
  .offset-by-ten.columns {
    margin-left: 86.66667%; }
  .offset-by-eleven.column,
  .offset-by-eleven.columns {
    margin-left: 95.33333%; }
  .offset-by-one-third.column,
  .offset-by-one-third.columns {
    margin-left: 34.66667%; }
  .offset-by-two-thirds.column,
  .offset-by-two-thirds.columns {
    margin-left: 69.33333%; }
  .offset-by-one-half.column,
  .offset-by-one-half.column {
    margin-left: 52%; } }

.container:after,
.row:after,
.u-cf {
  content: "";
  display: table;
  clear: both; }

.button,
button {
  display: inline-block;
  height: 38px;
  padding: 0 30px;
  color: #555555;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  line-height: 38px;
  letter-spacing: .1rem;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border-radius: 4px;
  border: 1px solid #bbb;
  cursor: pointer;
  box-sizing: border-box; }

input[type="submit"], input[type="reset"], input[type="button"] {
  display: inline-block;
  height: 38px;
  padding: 0 30px;
  color: #555555;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  line-height: 38px;
  letter-spacing: .1rem;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border-radius: 4px;
  border: 1px solid #bbb;
  cursor: pointer;
  box-sizing: border-box; }

.button:hover,
button:hover {
  color: #333;
  border-color: #888888;
  outline: 0; }

input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover {
  color: #333;
  border-color: #888888;
  outline: 0; }

.button:focus,
button:focus {
  color: #333;
  border-color: #888888;
  outline: 0; }

input[type="submit"]:focus, input[type="reset"]:focus, input[type="button"]:focus {
  color: #333;
  border-color: #888888;
  outline: 0; }

.button.button-primary,
button.button-primary {
  color: #fff;
  background-color: #33c3f0;
  border-color: #33c3f0; }

input[type="submit"].button-primary, input[type="reset"].button-primary, input[type="button"].button-primary {
  color: #fff;
  background-color: #33c3f0;
  border-color: #33c3f0; }

.button.button-primary:hover,
button.button-primary:hover {
  color: #fff;
  background-color: #1eaedb;
  border-color: #1eaedb; }

input[type="submit"].button-primary:hover, input[type="reset"].button-primary:hover, input[type="button"].button-primary:hover {
  color: #fff;
  background-color: #1eaedb;
  border-color: #1eaedb; }

.button.button-primary:focus,
button.button-primary:focus {
  color: #fff;
  background-color: #1eaedb;
  border-color: #1eaedb; }

input[type="submit"].button-primary:focus, input[type="reset"].button-primary:focus, input[type="button"].button-primary:focus {
  color: #fff;
  background-color: #1eaedb;
  border-color: #1eaedb; }

input[type="email"], input[type="number"], input[type="search"], input[type="text"], input[type="tel"], input[type="url"], input[type="password"] {
  height: 38px;
  padding: 6px 10px;
  background-color: #fff;
  border: 1px solid #d1d1d1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box; }

/**
 *
 */
#body {
  background: none;
  background-color: white !important; }

#n-layout, .n-layout {
  background-color: white; }

.left-panel,
.right-panel {
  float: left;
  display: inline-block; }
  .left-panel:after,
  .right-panel:after {
    content: '';
    clear: left;
    display: block; }


.left-panel {
  width: 240px;
  position: relative;
  z-index: 100;
  border-right: 1px solid whitesmoke; }
  .left-panel__content {
    -webkit-overflow-scrolling: touch;
    padding-top: 0;
    padding-bottom: 0;
    position: fixed;
    background-color: white;
    z-index: 99;
    top: 90px;
    bottom: 35px;
    overflow-y: hidden; }

.right-panel {
  position: absolute;
  padding-left: 240px;
  left: 0;
  right: 0; }
  .right-panel__header, .right-panel--header {
    top: 0;
    bottom: 0; }
  .right-panel__content {
    top: 90px;
    bottom: 0;
    padding-left: 240px;
    z-index: 9; }

.maincontent {
  padding-top: 90px; }
  .maincontent:after {
    content: '';
    clear: both;
    display: block; }

.ipad-menu-container{display: none;}
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1080px)  {
  .left-panel {
 position: fixed;
 z-index: 9999;
display: none;}
.n-header .left-panel{
  display:block;
  border-right: none;
}
 .right-panel {
  position: absolute;
  padding-left: 0px;}
  .n-header .right-panel {
    padding-left: 180px;
  }
  .right-panel__content{
    top:150px;
  }
  .nav-control{
    display: none;
  }
  .ipad-menu-container{
    display: block;  
    background:linear-gradient(to bottom, #ccc 0%, #bbb 50%, #aaa 100%);
    width:100%;
   }
  .ipad-menu-container .left-menu{
    position: absolute;
    z-index:9999;
    background-color: #fff;
    width:270px;
    display: none;
    height:auto;
    max-height:590px; 
    overflow: auto;
    box-shadow: 3px 3px 3px #ccc;
  }
  .ipad-menu-container .nav-control{
    display: block;
    position: absolute;
    right: 0px;
    height: 50px;
    padding-top: 10px;
    background: none;
  }
  .ipad-menu-link{
    text-decoration: none;
    background: url(../content/images/header/hamburger-menu.png) -10px 3px; 
    background-repeat: no-repeat;
  }.ipad-menu-link:visited, a:hover{
    text-decoration: none;
  }
  .nav-control button{font-size: 13px;}


}
/**
 *
 */
.n-header {
  position: relative;
  background-color: white;
  color: #FFF;
  border: 1px solid #ccc;
  box-shadow: 1px 0px 2px 1px #CCCCCC;
  border-top: 0px;
  min-width: 990px;
  border-right: 0;
  border-left: 0;
  z-index: 1000;
  position: fixed;
  width: 100%;
  height: 90px;
  overflow: hidden; }

.logo {
  margin: 22px 0 22px 20px; }

.n-bibquote {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  margin: 0;
  margin-left: 20px; }

.right-by-u {
  right: 0;
  margin-right: 20px;
  text-transform: uppercase; }
  .right-by-u:after {
    background-image: url(../content/images/header/right-to-u.png);
    content: '';
    width: 50px;
    height: 50px;
    display: inline-block;
    background-size: cover;
    vertical-align: middle;
    margin-left: 10px; }
  .right-by-u .right-icon {
    display: none;
    width: 50px;
    height: 50px;
    vertical-align: middle; }

/**
 *
 */
.left-menu-wrapper {
  height: 100%;
  overflow-y: scroll; }

.left-menu a {
  color: #002169;
  font-weight: 400; }
  .left-menu a:hover {
    text-decoration: none; }

.left-menu--list {
  list-style-type: none;
  overflow: hidden; }
  .left-menu--list._active {
    background-color: #EEF4F9;
    padding-bottom: 20px;
    height: auto; }
    .left-menu--list._active .left-menu--title a {
      font-weight: bold;
      background-color: transparent; }
      .left-menu--list._active .left-menu--title a:after {
        background-image: url(../content/images/menu/arrow-up.png); }
    .left-menu--list._active .left-menu--item {
      display: block;
      opacity: 1;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0);
      height: 34px; }
      .left-menu--list._active .left-menu--item:nth-child(2) {
        margin-top: -15px; }
    .left-menu--list._active.left-menu--list__intro {
      padding-bottom: 0; }

.left-menu--title a {
  text-transform: uppercase;
  position: relative;
  padding: 23px 20px;
  padding-right: 20px;
  padding-left: 50px;
  display: block;
  font-size: 14px; }
  .left-menu--title a:before,
  .left-menu--title a .menu-icon {
    width: 32px;
    height: 32px;
    display: block;
    position: absolute;
    left: 10px;
    top: 50%;
    top: 20% \9;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .left-menu--title a:before {
    background-size: cover;
    content: ''; }
  .left-menu--title a .menu-icon {
    z-index: 10; }
  .left-menu--title a .menu-icon--blue {
    display: block; }
  .left-menu--title a .menu-icon--red {
    display: none; }
  .left-menu--title a:after,
  .left-menu--title a .arrow-icon {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background-image: url(../content/images/menu/arrow-down.png);
    background-size: cover; }
  .left-menu--title a .arrow-icon {
    display: none; }
  .left-menu--title a:hover {
    background-color: rgba(245, 245, 245, 0.5); }

.left-menu--title__intro a:after {
  content: none; }

.left-menu--item {
  padding-left: 56px;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  opacity: 0;
  height: 0; }
  .left-menu--item > a {
    text-transform: capitalize;
    display: block;
    padding: 6px;
    opacity: 0.7;
    position: relative;
    font-size: 14px; }
    .left-menu--item > a:hover {
      opacity: 1; }
  .left-menu--item._active > a {
    opacity: 1; }
  .left-menu--item._active > .sub-menu--list {
    display: block; }
  .left-menu--item__head > a:before {
    position: absolute;
    content: '\f0da';
    font: normal normal normal 14px/1 FontAwesome;
    display: block;
    left: -20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .left-menu--item__head > .sub-menu--list {
    display: none; }

.sub-menu--item {
  display: block;
  line-height: 30px;
  opacity: 0.7; }
  .sub-menu--item a {
    padding: 6px; }
  .sub-menu--item:hover, .sub-menu--item._active {
    opacity: 1; }

.left-menu--list._active .left-menu--item._active {
  height: auto; }
  .left-menu--list._active .left-menu--item._active.left-menu--item__head > a:before {
    content: '\f0d7'; }

.nav-control {
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #507AB0;
  height: 35px;
  width: 242px;
  z-index: 1000;
  background: #4971a9;
  background: -webkit-gradient(left top, left bottom, color-stop(0%, #4971a9), color-stop(100%, #86aecc));
  background: linear-gradient(to bottom, #4971a9 0%, #86aecc 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4971a9', endColorstr='#86aecc', GradientType=0 ); }
  .nav-control--left-btn, .nav-control--right-btn {
    width: 50%;
    border: none;
    color: white; }
    .nav-control--left-btn:hover, .nav-control--right-btn:hover {
      color: #002169; }
  .nav-control--left-btn {
    float: left;
    text-align: left; }
  .nav-control--right-btn {
    float: right;
    text-align: right; }
  .nav-control:after {
    content: '';
    display: block;
    clear: both; }

/**
 *
 */
.main-video {
  width: 100%;
  height: 100%;
  position: relative; }
  .main-video--content {
    width: 100% !important; }

.splash-video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #406aa5;
  background: -webkit-gradient(left top, left bottom, color-stop(0%, #406aa5), color-stop(100%, #d4e4ef));
  background: linear-gradient(to bottom, #406aa5 0%, #d4e4ef 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#406aa5', endColorstr='#d4e4ef', GradientType=0 );
  z-index: 100; }

/**
 *
 */
.main-title {
  border-left: 7px solid #002169;
  margin-left: 60px;
  max-width: 60%;
  position: absolute;
  top: 45%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
  .main-title--content, .main-title--helper {
    margin-left: 20px;
    color: #1D3A7A; }
  .main-title--content {
    font-size: 5.2rem;
    margin-bottom: 10px;
    color: white;
    font-weight: 100; }
  .main-title--helper {
    font-size: 2.5rem;
    line-height: 1.2;
    display: block; }

@media only screen and (max-width: 1024px) {
  .main-title {
    max-width: 80%; } }

/*************** SCROLLBAR BASE CSS ***************/
.scroll-wrapper {
  overflow: hidden !important;
  padding: 0 !important;
  position: relative; }

.scroll-wrapper > .scroll-content {
  border: none !important;
  box-sizing: content-box !important;
  height: auto;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none !important;
  overflow: scroll !important;
  padding: 0;
  position: relative !important;
  top: 0;
  width: auto !important; }

.scroll-wrapper > .scroll-content::-webkit-scrollbar {
  height: 0;
  width: 0; }

.scroll-element {
  display: none; }

.scroll-element, .scroll-element div {
  box-sizing: content-box; }

.scroll-element.scroll-x.scroll-scrollx_visible,
.scroll-element.scroll-y.scroll-scrolly_visible {
  display: block; }

.scroll-element .scroll-bar,
.scroll-element .scroll-arrow {
  cursor: default; }

.scroll-textarea {
  border: 1px solid #cccccc;
  border-top-color: #999999; }

.scroll-textarea > .scroll-content {
  overflow: hidden !important; }

.scroll-textarea > .scroll-content > textarea {
  border: none !important;
  box-sizing: border-box;
  height: 100% !important;
  margin: 0;
  max-height: none !important;
  max-width: none !important;
  overflow: scroll !important;
  outline: none;
  padding: 2px;
  position: relative !important;
  top: 0;
  width: 100% !important; }

.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar {
  height: 0;
  width: 0; }

/*************** SIMPLE INNER SCROLLBAR ***************/
.scrollbar-inner > .scroll-element,
.scrollbar-inner > .scroll-element div {
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10; }

.scrollbar-inner > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%; }

.scrollbar-inner > .scroll-element.scroll-x {
  bottom: 2px;
  height: 8px;
  left: 0;
  width: 100%; }

.scrollbar-inner > .scroll-element.scroll-y {
  height: 100%;
  right: 2px;
  top: 0;
  width: 8px; }

.scrollbar-inner > .scroll-element .scroll-element_outer {
  overflow: hidden; }

.scrollbar-inner > .scroll-element .scroll-element_outer,
.scrollbar-inner > .scroll-element .scroll-element_track,
.scrollbar-inner > .scroll-element .scroll-bar {
  border-radius: 8px; }

.scrollbar-inner > .scroll-element .scroll-element_track,
.scrollbar-inner > .scroll-element .scroll-bar {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  filter: alpha(opacity=40);
  opacity: 0.4; }

.scrollbar-inner > .scroll-element .scroll-element_track {
  background-color: #e0e0e0; }

.scrollbar-inner > .scroll-element .scroll-bar {
  background-color: #c2c2c2; }

.scrollbar-inner > .scroll-element:hover .scroll-bar {
  background-color: #919191; }

.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar {
  background-color: #919191; }

/* update scrollbar offset if both scrolls are visible */
.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -12px; }

.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -12px; }

.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -12px; }

.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -12px; }

/**
 *
 */
.ie8 .n-header {
  height: 90px;
  overflow: hidden; }

.ie8 .left-panel {
  width: 270px;
  overflow: hidden; }

.ie8 .n-bibquote {
  top: 30px; }

.ie8 .right-by-u:after {
  content: none; }

.ie8 .right-by-u .right-icon {
  display: inline-block; }

.ie8 .left-menu--title a:before,
.ie8 .left-menu--title a .menu-icon {
  top: 25%; }

.ie8 .left-menu--item__head > a:before {
  top: 25%; }

.ie8 .left-menu--title a:after {
  content: none; }

.ie8 .left-menu--title a .arrow-icon {
  top: 25%; }
  .ie8 .left-menu--title a .arrow-icon--down {
    display: inline-block; }
  .ie8 .left-menu--title a .arrow-icon--up {
    display: none; }

.ie8 .left-menu--list._active .left-menu--title a:after {
  content: none; }

.ie8 .left-menu--list._active .left-menu--title a .arrow-icon {
  top: 25%; }
  .ie8 .left-menu--list._active .left-menu--title a .arrow-icon--down {
    display: none; }
  .ie8 .left-menu--list._active .left-menu--title a .arrow-icon--up {
    display: inline-block; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5zY3NzIiwiYmFzZS9fdmFyaWFibGVzLnNjc3MiLCJiYXNlL19mdW5jdGlvbnMuc2NzcyIsImJhc2UvX2Jhc2Utc3R5bGVzLnNjc3MiLCJiYXNlL191dGlscy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwibW9kdWxlcy9fdmlkZW9qcy5zY3NzIiwibW9kdWxlcy9fZ3JpZC5zY3NzIiwibW9kdWxlcy9fYnV0dG9ucy5zY3NzIiwibW9kdWxlcy9fc3RydWN0dXJlLnNjc3MiLCJtb2R1bGVzL19oZWFkZXIuc2NzcyIsIm1vZHVsZXMvX2xlZnQtbWVudS5zY3NzIiwibW9kdWxlcy9fbWFpbi12aWRlby5zY3NzIiwibW9kdWxlcy9fc2Nyb2xsYmFyLnNjc3MiLCJfZmFsbGJhY2tpZTguc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGlCQUFpQjtBQ2lDakI7O0dBRUc7QUN2Q0g7Ozs7Ozs7O0VBUUU7QUNGRjtFQUNFLGlCQUFpQixFQUNsQjs7QUFFRDtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLHdGRk1zRjtFRUx0RixZRkVlLEVFRGhCOztBQUtEO0VBQ0UsZUZOa0IsRUVVbkI7RUFMRDtJQUdJLGVBQWEsRUFDZDs7QUFNSDtFQUNFLGlCQUFpQjtFQUNqQixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLDhCRnhCa0IsRUV5Qm5COztBQ2pDRDtFQUNFLFlBQVk7RUFDWix1QkFBdUIsRUFDeEI7O0FBRUQ7RUFDRSxnQkFBZ0I7RUFDaEIsdUJBQXVCLEVBQ3hCOztBQUVEO0VBQ0UsYUFBYSxFQUNkOztBQUVEO0VBQ0MsV0FBVztFQUNYLHlCQUF5QixFQUN6Qjs7QUFFRDtFQUNDLGFBQWE7RUFDYixtQkFBbUIsRUFDbkI7O0FBRUQ7RUFDQyxZQUFZLEVBQ1o7O0FDMUJEO0VBQ0UsY0FBYztFQUNkLG9CQUFvQjtFQUNwQixpQkFBaUIsRUFDbEI7O0FBRUQ7RUFBSyxrQkFBa0I7RUFB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STs7QUFHMUc7RUFBMEYsWUFBWSxFQUFJOztBQUMxRztFQUEwRixXQUFXLEVBQUk7O0FDNUl6Rzs7R0FFRztBQUVIO0VBRUUsYUFBYTtFQUNiLGlCQUFpQixFQUNqQjs7QUFKRjtFQU9FLGFBQWE7RUFDYixpQkFBaUIsRUFDakI7O0FBVEY7RUFhRSxVQUFVLEVBQ1Y7O0FBZEY7RUFrQkcsY0FBYyxFQUNkOztBQW5CSDtFQXNCRyxzQkFBc0IsRUFDdEI7O0FBdkJIOztFQTRCRSxTQUFTLEVBQ1Q7O0FBN0JGO0VBZ0NFLFNBQVMsRUFDVDs7QUFqQ0Y7RUFzQ0ksY0FBYyxFQUNkOztBQXZDSjtFQTBDSSxTQUFTLEVBU1Q7RUFuREo7SUE2Q0ssc0JBQXNCLEVBQ3RCO0VBOUNMO0lBaURLLGNBQWMsRUFDZDs7QUFsREw7RUEyREssY0FBYyxFQUNkOztBQTVETDtFQStESyxTQUFTLEVBU1Q7RUF4RUw7SUFrRU0sY0FBYyxFQUNkO0VBbkVOO0lBc0VNLHNCQUFzQixFQUN0QiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBUFBcbiAqL1xuXG4vKiBCYXNlIGZpbGVzLiAqL1xuLy8gQGltcG9ydCBcImJhc2Uvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiYmFzZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJiYXNlL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImJhc2UvYmFzZS1zdHlsZXNcIjtcbkBpbXBvcnQgXCJiYXNlL3V0aWxzXCI7XG5AaW1wb3J0IFwiYmFzZS90eXBvZ3JhcGh5XCI7XG5cbi8qIE1vZHVsZXMgKi9cbkBpbXBvcnQgXCJtb2R1bGVzL3ZpZGVvanNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2dyaWRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3N0cnVjdHVyZVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvaGVhZGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9sZWZ0LW1lbnVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21haW4tdmlkZW9cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3Njcm9sbGJhclwiO1xuXG5AaW1wb3J0IFwiZmFsbGJhY2tpZThcIjtcbiIsIi8vIFZhcmlhYmxlc1xuLy/igJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLy8gQnJlYWtwb2ludHNcbiRicC1sYXJnZXItdGhhbi1tb2JpbGUgICAgOiBcIm1pbi13aWR0aDogNDAwcHhcIiAhZGVmYXVsdDtcbiRicC1sYXJnZXItdGhhbi1waGFibGV0ICAgOiBcIm1pbi13aWR0aDogNTUwcHhcIiAhZGVmYXVsdDtcbiRicC1sYXJnZXItdGhhbi10YWJsZXQgICAgOiBcIm1pbi13aWR0aDogNzUwcHhcIiAhZGVmYXVsdDtcbiRicC1sYXJnZXItdGhhbi1kZXNrdG9wICAgOiBcIm1pbi13aWR0aDogMTAwMHB4XCIgIWRlZmF1bHQ7XG4kYnAtbGFyZ2VyLXRoYW4tZGVza3RvcGhkIDogXCJtaW4td2lkdGg6IDEyMDBweFwiICFkZWZhdWx0O1xuXG4vLyBDb2xvcnNcbiRsaWdodC1ncmV5OiAjZTFlMWUxICFkZWZhdWx0O1xuJGRhcmstZ3JleTogIzMzMyAhZGVmYXVsdDtcbiRwcmltYXJ5LWNvbG9yOiAjMzNjM2YwICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbGlnaHRlbigkZGFyay1ncmV5LCAxMy41JSkgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAjYmJiICFkZWZhdWx0O1xuJGxpbmstY29sb3I6ICMxZWFlZGIgIWRlZmF1bHQ7XG4kZm9udC1jb2xvcjogIzIyMiAhZGVmYXVsdDtcblxuLy8gVHlwb2dyYXBoeVxuJGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy9HcmlkIFZhcmlhYmxlc1xuJGNvbnRhaW5lci13aWR0aDogOTYwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXdpZHRoLWxhcmdlci10aGFuLW1vYmlsZTogODUlICFkZWZhdWx0O1xuJGNvbnRhaW5lci13aWR0aC1sYXJnZXItdGhhbi1waGFibGV0OiA4MCUgIWRlZmF1bHQ7XG4kdG90YWwtY29sdW1uczogMTIgIWRlZmF1bHQ7XG4kY29sdW1uLXdpZHRoOiAxMDAgLyAkdG90YWwtY29sdW1ucyAhZGVmYXVsdDsgLy8gY2FsY3VsYXRlcyBpbmRpdmlkdWFsIGNvbHVtbiB3aWR0aCBiYXNlZCBvZmYgb2YgIyBvZiBjb2x1bW5zXG4kY29sdW1uLW1hcmdpbjogNCUgIWRlZmF1bHQ7IC8vIHNwYWNlIGJldHdlZW4gY29sdW1uc1xuXG4vLyBNaXNjXG4kZ2xvYmFsLXJhZGl1czogNHB4ICFkZWZhdWx0O1xuXG4kZ3V0dGVyOiAyMHB4O1xuJGhlYWRlci1oOiA5MHB4O1xuJGxlZnQtcGFuZWwtdzogMjcwcHg7XG5cbi8qKlxuICogY29sb3IgcGF0dGVyblxuICovXG4kbWFpbi1jb2xvci0wMTogIzAwMjE2OTtcbiIsIi8qXG4qIFNrZWxldG9uIFYyLjAuNFxuKiBDb3B5cmlnaHQgMjAxNCwgRGF2ZSBHYW1hY2hlXG4qIHd3dy5nZXRza2VsZXRvbi5jb21cbiogRnJlZSB0byB1c2UgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuKiAxMi85LzIwMTRcbiogU2FzcyBWZXJzaW9uIGJ5IFNldGggQ29lbGVuIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0c25ld3NhZXNcbiovXG5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbi13aWR0aCgkbikge1xuICBAcmV0dXJuICRjb2x1bW4td2lkdGggKiAkbiAtICgkY29sdW1uLW1hcmdpbiooJHRvdGFsLWNvbHVtbnMgLSAkbikvJHRvdGFsLWNvbHVtbnMpO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC1vZmZzZXQtbGVuZ3RoKCRuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4td2lkdGgoJG4pICsgJGNvbHVtbi1tYXJnaW47XG59XG4iLCIvLyBCYXNlIFN0eWxlc1xuLy/igJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbi8vIE5PVEVcbi8vIGh0bWwgaXMgc2V0IHRvIDYyLjUlIHNvIHRoYXQgYWxsIHRoZSBSRU0gbWVhc3VyZW1lbnRzIHRocm91Z2hvdXQgU2tlbGV0b25cbi8vIGFyZSBiYXNlZCBvbiAxMHB4IHNpemluZy4gU28gYmFzaWNhbGx5IDEuNXJlbSA9IDE1cHggOilcblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG59XG5cbmJvZHkge1xuICBmb250LXNpemU6IDEuNWVtOyAvLyBjdXJyZW50bHkgZW1zIGNhdXNlIGNocm9tZSBidWcgbWlzaW50ZXJwcmV0aW5nIHJlbXMgb24gYm9keSBlbGVtZW50XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIGNvbG9yOiAkZm9udC1jb2xvcjtcbn1cblxuLy8gTGlua3Ncbi8v4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBkYXJrZW4oJGxpbmstY29sb3IsIDUlKTtcbiAgfVxufVxuXG4vLyBNaXNjXG4vL+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG5ociB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDMuNXJlbTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyZXk7XG59XG4iLCIvLyBVdGlsaXRpZXNcbi8v4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbi51LWZ1bGwtd2lkdGgge1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnUtbWF4LWZ1bGwtd2lkdGgge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi51LXB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi51LXRyYW5zaXRpb24tYXBwZWFyIHtcblx0b3BhY2l0eTogMTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4udS1oaWRlIHtcblx0b3BhY2l0eTogMC40O1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi52anMtdGVjaCB7XG5cdHdpZHRoOiAxMDAlO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuLy/igJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbmgxIHsgZm9udC1zaXplOiA0LjByZW07IGxpbmUtaGVpZ2h0OiAxLjI7ICBsZXR0ZXItc3BhY2luZzogLS4xcmVtOyAgfVxuaDIgeyBmb250LXNpemU6IDMuNnJlbTsgbGluZS1oZWlnaHQ6IDEuMjU7IGxldHRlci1zcGFjaW5nOiAtLjFyZW07ICB9XG5oMyB7IGZvbnQtc2l6ZTogMy4wcmVtOyBsaW5lLWhlaWdodDogMS4zOyAgbGV0dGVyLXNwYWNpbmc6IC0uMXJlbTsgIH1cbmg0IHsgZm9udC1zaXplOiAyLjRyZW07IGxpbmUtaGVpZ2h0OiAxLjM1OyBsZXR0ZXItc3BhY2luZzogLS4wOHJlbTsgfVxuaDUgeyBmb250LXNpemU6IDEuOHJlbTsgbGluZS1oZWlnaHQ6IDEuNTsgIGxldHRlci1zcGFjaW5nOiAtLjA1cmVtOyB9XG5oNiB7IGZvbnQtc2l6ZTogMS41cmVtOyBsaW5lLWhlaWdodDogMS42OyAgbGV0dGVyLXNwYWNpbmc6IDA7ICAgICAgIH1cblxuLy8gTGFyZ2VyIHRoYW4gcGhhYmxldFxuQG1lZGlhICgjeyRicC1sYXJnZXItdGhhbi1waGFibGV0fSkge1xuICBoMSB7IGZvbnQtc2l6ZTogNS4wcmVtOyB9XG4gIGgyIHsgZm9udC1zaXplOiA0LjJyZW07IH1cbiAgaDMgeyBmb250LXNpemU6IDMuNnJlbTsgfVxuICBoNCB7IGZvbnQtc2l6ZTogMy4wcmVtOyB9XG4gIGg1IHsgZm9udC1zaXplOiAyLjRyZW07IH1cbiAgaDYgeyBmb250LXNpemU6IDEuNXJlbTsgfVxufVxuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcbn1cbiIsIi8vIEBpbXBvcnQgXCJjb21wYXNzL2NzczNcIjtcblxuLyohXG5WaWRlby5qcyBEZWZhdWx0IFN0eWxlcyAoaHR0cDovL3ZpZGVvanMuY29tKVxuVmVyc2lvbiA0LjguMFxuQ3JlYXRlIHlvdXIgb3duIHNraW4gYXQgaHR0cDovL2Rlc2lnbmVyLnZpZGVvanMuY29tXG4qL1xuLyogU0tJTlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRoZSBtYWluIGNsYXNzIG5hbWUgZm9yIGFsbCBza2luLXNwZWNpZmljIHN0eWxlcy4gVG8gbWFrZSB5b3VyIG93biBza2luLFxucmVwbGFjZSBhbGwgb2NjdXJhbmNlcyBvZiAndmpzLWRlZmF1bHQtc2tpbicgd2l0aCBhIG5ldyBuYW1lLiBUaGVuIGFkZCB5b3VyIG5ld1xuc2tpbiBuYW1lIHRvIHlvdXIgdmlkZW8gdGFnIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgc2tpbi5cbmUuZy4gPHZpZGVvIGNsYXNzPVwidmlkZW8tanMgbXktc2tpbi1uYW1lXCI+XG4qL1xuLnZqcy1kZWZhdWx0LXNraW4ge1xuICBjb2xvcjogI2NjY2NjYztcbn1cbi8qIEN1c3RvbSBJY29uIEZvbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGUgY29udHJvbCBpY29ucyBhcmUgZnJvbSBhIGN1c3RvbSBmb250LiBFYWNoIGljb24gY29ycmVzcG9uZHMgdG8gYSBjaGFyYWN0ZXJcbihlLmcuIFwiXFxlMDAxXCIpLiBGb250IGljb25zIGFsbG93IGZvciBlYXN5IHNjYWxpbmcgYW5kIGNvbG9yaW5nIG9mIGljb25zLlxuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1ZpZGVvSlMnO1xuICBzcmM6IHVybCgnZm9udC92anMuZW90Jyk7XG4gIHNyYzogdXJsKCdmb250L3Zqcy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJ2ZvbnQvdmpzLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCdmb250L3Zqcy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnZm9udC92anMuc3ZnI2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKiBCYXNlIFVJIENvbXBvbmVudCBDbGFzc2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIFNsaWRlciAtIHVzZWQgZm9yIFZvbHVtZSBiYXIgYW5kIFNlZWsgYmFyICovXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLXNsaWRlciB7XG4gIC8qIFJlcGxhY2UgYnJvd3NlciBmb2N1cyBoaWdodGxpZ2h0IHdpdGggaGFuZGxlIGhpZ2hsaWdodCAqL1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgLyogYmFja2dyb3VuZC1jb2xvci13aXRoLWFscGhhICovXG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC45KTtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtc2xpZGVyOmZvY3VzIHtcbiAgLyogYm94LXNoYWRvdyAqL1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAyZW0gI2ZmZmZmZjtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDAgMmVtICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAyZW0gI2ZmZmZmZjtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogTmVlZGVkIGZvciBJRTYgKi9cbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1zbGlkZXItaGFuZGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA5XCI7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDBlbSAwZW0gMWVtICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICAvKiBSb3RhdGUgdGhlIHNxdWFyZSBpY29uIHRvIG1ha2UgYSBkaWFtb25kICovXG4gIC8qIHRyYW5zZm9ybSAqL1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG4vKiBDb250cm9sIEJhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZSBkZWZhdWx0IGNvbnRyb2wgYmFyIHRoYXQgaXMgYSBjb250YWluZXIgZm9yIG1vc3Qgb2YgdGhlIGNvbnRyb2xzLlxuKi9cbi52anMtZGVmYXVsdC1za2luIC52anMtY29udHJvbC1iYXIge1xuICAvKiBTdGFydCBoaWRkZW4gKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKiBQbGFjZSBjb250cm9sIGJhciBhdCB0aGUgYm90dG9tIG9mIHRoZSBwbGF5ZXIgYm94L3ZpZGVvLlxuICAgICBJZiB5b3Ugd2FudCBtb3JlIG1hcmdpbiBiZWxvdyB0aGUgY29udHJvbCBiYXIsIGFkZCBtb3JlIGhlaWdodC4gKi9cbiAgYm90dG9tOiAwO1xuICAvKiBVc2UgbGVmdC9yaWdodCB0byBzdHJldGNoIHRvIDEwMCUgd2lkdGggb2YgcGxheWVyIGRpdiAqL1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgLyogSGVpZ2h0IGluY2x1ZGVzIGFueSBtYXJnaW4geW91IHdhbnQgYWJvdmUgb3IgYmVsb3cgY29udHJvbCBpdGVtcyAqL1xuICBoZWlnaHQ6IDMuMGVtO1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yLXdpdGgtYWxwaGEgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogIzA3MTQxZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3LCAyMCwgMzAsIDAuNyk7XG59XG4vKiBTaG93IHRoZSBjb250cm9sIGJhciBvbmx5IG9uY2UgdGhlIHZpZGVvIGhhcyBzdGFydGVkIHBsYXlpbmcgKi9cbi52anMtZGVmYXVsdC1za2luLnZqcy1oYXMtc3RhcnRlZCAudmpzLWNvbnRyb2wtYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIFZpc2liaWxpdHkgbmVlZGVkIHRvIG1ha2Ugc3VyZSB0aGluZ3MgaGlkZSBpbiBvbGRlciBicm93c2VycyB0b28uICovXG5cbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgLyogdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IHZpc2liaWxpdHkgMC4xcywgb3BhY2l0eSAwLjFzO1xuICAtbW96LXRyYW5zaXRpb246IHZpc2liaWxpdHkgMC4xcywgb3BhY2l0eSAwLjFzO1xuICAtby10cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuMXMsIG9wYWNpdHkgMC4xcztcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwLjFzLCBvcGFjaXR5IDAuMXM7XG59XG4vKiBIaWRlIHRoZSBjb250cm9sIGJhciB3aGVuIHRoZSB2aWRlbyBpcyBwbGF5aW5nIGFuZCB0aGUgdXNlciBpcyBpbmFjdGl2ZSAgKi9cbi52anMtZGVmYXVsdC1za2luLnZqcy1oYXMtc3RhcnRlZC52anMtdXNlci1pbmFjdGl2ZS52anMtcGxheWluZyAudmpzLWNvbnRyb2wtYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgLyogdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IHZpc2liaWxpdHkgMXMsIG9wYWNpdHkgMXM7XG4gIC1tb3otdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAxcywgb3BhY2l0eSAxcztcbiAgLW8tdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAxcywgb3BhY2l0eSAxcztcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAxcywgb3BhY2l0eSAxcztcbn1cbi52anMtZGVmYXVsdC1za2luLnZqcy1jb250cm9scy1kaXNhYmxlZCAudmpzLWNvbnRyb2wtYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi52anMtZGVmYXVsdC1za2luLnZqcy11c2luZy1uYXRpdmUtY29udHJvbHMgLnZqcy1jb250cm9sLWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBUaGUgY29udHJvbCBiYXIgc2hvdWxkbid0IHNob3cgYWZ0ZXIgYW4gZXJyb3IgKi9cbi52anMtZGVmYXVsdC1za2luLnZqcy1lcnJvciAudmpzLWNvbnRyb2wtYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIElFOCBpcyBmbGFrZXkgd2l0aCBmb250cywgYW5kIHlvdSBoYXZlIHRvIGNoYW5nZSB0aGUgYWN0dWFsIGNvbnRlbnQgdG8gZm9yY2VcbmZvbnRzIHRvIHNob3cvaGlkZSBwcm9wZXJseS5cbiAgLSBcIlxcOVwiIElFOCBoYWNrIGRpZG4ndCB3b3JrIGZvciB0aGlzXG4gIC0gRm91bmQgaW4gWFAgSUU4IGZyb20gaHR0cDovL21vZGVybi5pZS4gRG9lcyBub3Qgc2hvdyB1cCBpbiBcIklFOCBtb2RlXCIgaW4gSUU5XG4qL1xuQG1lZGlhIFxcMHNjcmVlbiB7XG4gIC52anMtZGVmYXVsdC1za2luLnZqcy11c2VyLWluYWN0aXZlLnZqcy1wbGF5aW5nIC52anMtY29udHJvbC1iYXIgOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuLyogR2VuZXJhbCBzdHlsZXMgZm9yIGluZGl2aWR1YWwgY29udHJvbHMuICovXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLWNvbnRyb2wge1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiAzLjBlbTtcbiAgd2lkdGg6IDRlbTtcbn1cbi8qIEZvbnRBd3NvbWUgYnV0dG9uIGljb25zICovXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLWNvbnRyb2w6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFZpZGVvSlM7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuLyogUmVwbGFjZW1lbnQgZm9yIGZvY3VzIG91dGxpbmUgKi9cbi52anMtZGVmYXVsdC1za2luIC52anMtY29udHJvbDpmb2N1czpiZWZvcmUsXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLWNvbnRyb2w6aG92ZXI6YmVmb3JlIHtcbiAgdGV4dC1zaGFkb3c6IDBlbSAwZW0gMWVtICNmZmZmZmY7XG59XG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLWNvbnRyb2w6Zm9jdXMge1xuICAvKiAgb3V0bGluZTogMDsgKi9cbiAgLyoga2V5Ym9hcmQtb25seSB1c2VycyBjYW5ub3Qgc2VlIHRoZSBmb2N1cyBvbiBzZXZlcmFsIG9mIHRoZSBVSSBlbGVtZW50cyB3aGVuXG4gIHRoaXMgaXMgc2V0IHRvIDAgKi9cblxufVxuLyogSGlkZSBjb250cm9sIHRleHQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVucmVhZGVycyAqL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1jb250cm9sLXRleHQge1xuICAvKiBoaWRlLXZpc3VhbGx5ICovXG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuLyogUGxheS9QYXVzZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLXBsYXktY29udHJvbCB7XG4gIHdpZHRoOiA1ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtcGxheS1jb250cm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDAxXCI7XG59XG4udmpzLWRlZmF1bHQtc2tpbi52anMtcGxheWluZyAudmpzLXBsYXktY29udHJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMlwiO1xufVxuLyogUGxheWJhY2sgdG9nZ2xlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi52anMtZGVmYXVsdC1za2luIC52anMtcGxheWJhY2stcmF0ZSAudmpzLXBsYXliYWNrLXJhdGUtdmFsdWUge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBsaW5lLWhlaWdodDogMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtcGxheWJhY2stcmF0ZS52anMtbWVudS1idXR0b24gLnZqcy1tZW51IC52anMtbWVudS1jb250ZW50IHtcbiAgd2lkdGg6IDRlbTtcbiAgbGVmdDogLTJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi8qIFZvbHVtZS9NdXRlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1tdXRlLWNvbnRyb2wsXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLXZvbHVtZS1tZW51LWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1tdXRlLWNvbnRyb2w6YmVmb3JlLFxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy12b2x1bWUtbWVudS1idXR0b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDZcIjtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtbXV0ZS1jb250cm9sLnZqcy12b2wtMDpiZWZvcmUsXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLXZvbHVtZS1tZW51LWJ1dHRvbi52anMtdm9sLTA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDNcIjtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtbXV0ZS1jb250cm9sLnZqcy12b2wtMTpiZWZvcmUsXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLXZvbHVtZS1tZW51LWJ1dHRvbi52anMtdm9sLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDRcIjtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtbXV0ZS1jb250cm9sLnZqcy12b2wtMjpiZWZvcmUsXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLXZvbHVtZS1tZW51LWJ1dHRvbi52anMtdm9sLTI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDVcIjtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtdm9sdW1lLWNvbnRyb2wge1xuICB3aWR0aDogNWVtO1xuICBmbG9hdDogcmlnaHQ7XG59XG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLXZvbHVtZS1iYXIge1xuICB3aWR0aDogNWVtO1xuICBoZWlnaHQ6IDAuNmVtO1xuICBtYXJnaW46IDEuMWVtIGF1dG8gMDtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtdm9sdW1lLW1lbnUtYnV0dG9uIC52anMtbWVudS1jb250ZW50IHtcbiAgaGVpZ2h0OiAyLjllbTtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtdm9sdW1lLWxldmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMC41ZW07XG4gIC8qIGFzc3VtaW5nIHZvbHVtZSBzdGFydHMgYXQgMS4wICovXG5cbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICM2NmE4Y2MgdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQVlBQUFBR0NBWUFBQURnek85SUFBQUFQMGxFUVZRSUhXV01BUW9BSUFnRFIvUUovVWIvLzA0K3c3WklDQndjT2c1RlppNWlCQjgyQUd6aXhFZ2xKcmQ0VFZLNVhVSnBza1NURXZwZEZ6WDlBQjJwR3ppU1FjdkFBQUFBQUVsRlRrU3VRbUNDKSAtNTAlIDAgcmVwZWF0O1xufVxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy12b2x1bWUtYmFyIC52anMtdm9sdW1lLWhhbmRsZSB7XG4gIHdpZHRoOiAwLjVlbTtcbiAgaGVpZ2h0OiAwLjVlbTtcbiAgLyogQXNzdW1lcyB2b2x1bWUgc3RhcnRzIGF0IDEuMC4gSWYgeW91IGNoYW5nZSB0aGUgc2l6ZSBvZiB0aGVcbiAgICAgaGFuZGxlIHJlbGF0aXZlIHRvIHRoZSB2b2x1bWUgYmFyLCB5b3UnbGwgbmVlZCB0byB1cGRhdGUgdGhpcyB2YWx1ZVxuICAgICB0b28uICovXG5cbiAgbGVmdDogNC41ZW07XG59XG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLXZvbHVtZS1oYW5kbGU6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgdG9wOiAtMC4yZW07XG4gIGxlZnQ6IC0wLjJlbTtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG59XG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLXZvbHVtZS1tZW51LWJ1dHRvbiAudmpzLW1lbnUgLnZqcy1tZW51LWNvbnRlbnQge1xuICB3aWR0aDogNmVtO1xuICBsZWZ0OiAtNGVtO1xufVxuLyogUHJvZ3Jlc3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1wcm9ncmVzcy1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC4zZW07XG4gIGhlaWdodDogMWVtO1xuICAvKiBTZXQgYWJvdmUgdGhlIHJlc3Qgb2YgdGhlIGNvbnRyb2xzLiAqL1xuICB0b3A6IC0xZW07XG4gIC8qIFNocmluayB0aGUgYmFyIHNsb3dlciB0aGFuIGl0IGdyb3dzLiAqL1xuICAvKiB0cmFuc2l0aW9uICovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcbn1cbi8qIE9uIGhvdmVyLCBtYWtlIHRoZSBwcm9ncmVzcyBiYXIgZ3JvdyB0byBzb21ldGhpbmcgdGhhdCdzIG1vcmUgY2xpY2thYmxlLlxuICAgIFRoaXMgc2ltcGx5IGNoYW5nZXMgdGhlIG92ZXJhbGwgZm9udCBmb3IgdGhlIHByb2dyZXNzIGJhciwgYW5kIHRoaXNcbiAgICB1cGRhdGVzIGJvdGggdGhlIGVtLWJhc2VkIHdpZHRocyBhbmQgaGVpZ2h0cywgYXMgd2VsbHMgYXMgdGhlIGljb24gZm9udCAqL1xuLnZqcy1kZWZhdWx0LXNraW46aG92ZXIgLnZqcy1wcm9ncmVzcy1jb250cm9sIHtcbiAgZm9udC1zaXplOiAuOWVtO1xuICAvKiBFdmVuIHRob3VnaCB3ZSdyZSBub3QgY2hhbmdpbmcgdGhlIHRvcC9oZWlnaHQsIHdlIG5lZWQgdG8gaW5jbHVkZSB0aGVtIGluXG4gICAgICB0aGUgdHJhbnNpdGlvbiBzbyB0aGV5J3JlIGhhbmRsZWQgY29ycmVjdGx5LiAqL1xuXG4gIC8qIHRyYW5zaXRpb24gKi9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuLyogQm94IGNvbnRhaW5pbmcgcGxheSBhbmQgbG9hZCBwcm9ncmVzc2VzLiBBbHNvIGFjdHMgYXMgc2VlayBzY3J1YmJlci4gKi9cbi52anMtZGVmYXVsdC1za2luIC52anMtcHJvZ3Jlc3MtaG9sZGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLyogUHJvZ3Jlc3MgQmFycyAqL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1wcm9ncmVzcy1ob2xkZXIgLnZqcy1wbGF5LXByb2dyZXNzLFxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1wcm9ncmVzcy1ob2xkZXIgLnZqcy1sb2FkLXByb2dyZXNzLFxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1wcm9ncmVzcy1ob2xkZXIgLnZqcy1sb2FkLXByb2dyZXNzIGRpdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICAvKiB1cGRhdGVkIGJ5IGphdmFzY3JpcHQgZHVyaW5nIHBsYXliYWNrICovXG5cbiAgd2lkdGg6IDA7XG4gIC8qIE5lZWRlZCBmb3IgSUU2ICovXG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtcGxheS1wcm9ncmVzcyB7XG4gIC8qXG4gICAgVXNpbmcgYSBkYXRhIFVSSSB0byBjcmVhdGUgdGhlIHdoaXRlIGRpYWdvbmFsIGxpbmVzIHdpdGggYSB0cmFuc3BhcmVudFxuICAgICAgYmFja2dyb3VuZC4gU3VycHJpc2luZ2x5IHdvcmtzIGluIElFOC5cbiAgICAgIENyZWF0ZWQgdXNpbmcgaHR0cDovL3d3dy5wYXR0ZXJuaWZ5LmNvbVxuICAgIENoYW5naW5nIHRoZSBmaXJzdCBjb2xvciB2YWx1ZSB3aWxsIGNoYW5nZSB0aGUgYmFyIGNvbG9yLlxuICAgIEFsc28gdXNpbmcgYSBwYXJhbGF4IGVmZmVjdCB0byBtYWtlIHRoZSBsaW5lcyBtb3ZlIGJhY2t3YXJkcy5cbiAgICAgIFRoZSAtNTAlIGxlZnQgcG9zaXRpb24gbWFrZXMgdGhhdCBoYXBwZW4uXG4gICovXG5cbiAgYmFja2dyb3VuZDogIzY2YThjYyB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBWUFBQUFHQ0FZQUFBRGd6TzlJQUFBQVAwbEVRVlFJSFdXTUFRb0FJQWdEUi9RSi9VYi8vMDQrdzdaSUNCd2NPZzVGWmk1aUJCODJBR3ppeEVnbEpyZDRUVks1WFVKcHNrU1RFdnBkRnpYOUFCMnBHemlTUWN2QUFBQUFBRWxGVGtTdVFtQ0MpIC01MCUgMCByZXBlYXQ7XG59XG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLWxvYWQtcHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kOiAjNjQ2NDY0IC8qIElFOC0gRmFsbGJhY2sgKi87XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi8qIHRoZXJlIGFyZSBjaGlsZCBlbGVtZW50cyBvZiB0aGUgbG9hZCBwcm9ncmVzcyBiYXIgdGhhdCByZXByZXNlbnQgdGhlXG4gICBzcGVjaWZpYyB0aW1lIHJhbmdlcyB0aGF0IGhhdmUgYmVlbiBidWZmZXJlZCAqL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1sb2FkLXByb2dyZXNzIGRpdiB7XG4gIGJhY2tncm91bmQ6ICM3ODc4NzggLyogSUU4LSBGYWxsYmFjayAqLztcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1zZWVrLWhhbmRsZSB7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1zZWVrLWhhbmRsZTpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogMC4xZW0gLyogTWlub3IgYWRqdXN0bWVudCAqLztcbn1cbi8qIExpdmUgTW9kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4udmpzLWRlZmF1bHQtc2tpbi52anMtbGl2ZSAudmpzLXRpbWUtY29udHJvbHMsXG4udmpzLWRlZmF1bHQtc2tpbi52anMtbGl2ZSAudmpzLXRpbWUtZGl2aWRlcixcbi52anMtZGVmYXVsdC1za2luLnZqcy1saXZlIC52anMtcHJvZ3Jlc3MtY29udHJvbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udmpzLWRlZmF1bHQtc2tpbi52anMtbGl2ZSAudmpzLWxpdmUtZGlzcGxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogTGl2ZSBEaXNwbGF5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi52anMtZGVmYXVsdC1za2luIC52anMtbGl2ZS1kaXNwbGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAzZW07XG59XG4vKiBUaW1lIERpc3BsYXlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy10aW1lLWNvbnRyb2xzIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIEFsaWduIHZlcnRpY2FsbHkgYnkgbWFraW5nIHRoZSBsaW5lIGhlaWdodCB0aGUgc2FtZSBhcyB0aGUgY29udHJvbCBiYXIgKi9cbiAgbGluZS1oZWlnaHQ6IDNlbTtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtY3VycmVudC10aW1lIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLWR1cmF0aW9uIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4vKiBSZW1haW5pbmcgdGltZSBpcyBpbiB0aGUgSFRNTCwgYnV0IG5vdCBpbmNsdWRlZCBpbiBkZWZhdWx0IGRlc2lnbiAqL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1yZW1haW5pbmctdGltZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnZqcy10aW1lLWRpdmlkZXIge1xuICBmbG9hdDogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDNlbTtcbn1cbi8qIEZ1bGxzY3JlZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1mdWxsc2NyZWVuLWNvbnRyb2wge1xuICB3aWR0aDogMy44ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1mdWxsc2NyZWVuLWNvbnRyb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDBcIjtcbn1cbi8qIFN3aXRjaCB0byB0aGUgZXhpdCBpY29uIHdoZW4gdGhlIHBsYXllciBpcyBpbiBmdWxsc2NyZWVuICovXG4udmpzLWRlZmF1bHQtc2tpbi52anMtZnVsbHNjcmVlbiAudmpzLWZ1bGxzY3JlZW4tY29udHJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwYlwiO1xufVxuLyogQmlnIFBsYXkgQnV0dG9uIChwbGF5IGJ1dHRvbiBhdCBzdGFydClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Qb3NpdGlvbmluZyBvZiB0aGUgcGxheSBidXR0b24gaW4gdGhlIGNlbnRlciBvciBvdGhlciBjb3JuZXJzIGNhbiBiZSBkb25lIG1vcmVcbmVhc2lseSBpbiB0aGUgc2tpbiBkZXNpZ25lci4gaHR0cDovL2Rlc2lnbmVyLnZpZGVvanMuY29tL1xuKi9cbi52anMtZGVmYXVsdC1za2luIC52anMtYmlnLXBsYXktYnV0dG9uIHtcbiAgLyogQ2VudGVyIGl0IGhvcml6b250YWxseSAqL1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMi4xZW07XG4gIC8qIENlbnRlciBpdCB2ZXJ0aWNhbGx5ICovXG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMS40MDAwMDAwMDAwMDAwMDAxZW07XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNGVtO1xuICBoZWlnaHQ6IDIuNmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMTtcbiAgLyogTmVlZCBhIHNsaWdodGx5IGdyYXkgYmcgc28gaXQgY2FuIGJlIHNlZW4gb24gYmxhY2sgYmFja2dyb3VuZHMgKi9cbiAgLyogYmFja2dyb3VuZC1jb2xvci13aXRoLWFscGhhICovXG4gIGJhY2tncm91bmQtY29sb3I6ICMwNzE0MWU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNywgMjAsIDMwLCAwLjcpO1xuICBib3JkZXI6IDAuMWVtIHNvbGlkICMzYjQyNDk7XG4gIC8qIGJvcmRlci1yYWRpdXMgKi9cbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwLjhlbTtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwLjhlbTtcbiAgYm9yZGVyLXJhZGl1czogMC44ZW07XG4gIC8qIGJveC1zaGFkb3cgKi9cbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDFlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMWVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMWVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIC8qIHRyYW5zaXRpb24gKi9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC40cztcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xufVxuLyogT3B0aW9uYWxseSBjZW50ZXIgKi9cbi52anMtZGVmYXVsdC1za2luLnZqcy1iaWctcGxheS1jZW50ZXJlZCAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XG4gIC8qIENlbnRlciBpdCBob3Jpem9udGFsbHkgKi9cbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIuMWVtO1xuICAvKiBDZW50ZXIgaXQgdmVydGljYWxseSAqL1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTEuNDAwMDAwMDAwMDAwMDAwMWVtO1xufVxuLyogSGlkZSBpZiBjb250cm9scyBhcmUgZGlzYWJsZWQgKi9cbi52anMtZGVmYXVsdC1za2luLnZqcy1jb250cm9scy1kaXNhYmxlZCAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBIaWRlIHdoZW4gdmlkZW8gc3RhcnRzIHBsYXlpbmcgKi9cbi52anMtZGVmYXVsdC1za2luLnZqcy1oYXMtc3RhcnRlZCAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBIaWRlIG9uIG1vYmlsZSBkZXZpY2VzLiBSZW1vdmUgd2hlbiB3ZSBzdG9wIHVzaW5nIG5hdGl2ZSBjb250cm9sc1xuICAgIGJ5IGRlZmF1bHQgb24gbW9iaWxlICAqL1xuLnZqcy1kZWZhdWx0LXNraW4udmpzLXVzaW5nLW5hdGl2ZS1jb250cm9scyAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udmpzLWRlZmF1bHQtc2tpbjpob3ZlciAudmpzLWJpZy1wbGF5LWJ1dHRvbixcbi52anMtZGVmYXVsdC1za2luIC52anMtYmlnLXBsYXktYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAvKiBJRTggbmVlZHMgYSBub24tZ2xvdyBob3ZlciBzdGF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTA1MDUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpO1xuICAvKiBib3gtc2hhZG93ICovXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDNlbSAjZmZmZmZmO1xuICAtbW96LWJveC1zaGFkb3c6IDAgMCAzZW0gI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDNlbSAjZmZmZmZmO1xuICAvKiB0cmFuc2l0aW9uICovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDBzO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwcztcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDBzO1xuICB0cmFuc2l0aW9uOiBhbGwgMHM7XG59XG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLWJpZy1wbGF5LWJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMVwiO1xuICBmb250LWZhbWlseTogVmlkZW9KUztcbiAgLyogSW4gb3JkZXIgdG8gY2VudGVyIHRoZSBwbGF5IGljb24gdmVydGljYWxseSB3ZSBuZWVkIHRvIHNldCB0aGUgbGluZSBoZWlnaHRcbiAgICAgdG8gdGhlIHNhbWUgYXMgdGhlIGJ1dHRvbiBoZWlnaHQgKi9cblxuICBsaW5lLWhlaWdodDogMi42ZW07XG4gIHRleHQtc2hhZG93OiAwLjA1ZW0gMC4wNWVtIDAuMWVtICMwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlciAvKiBOZWVkZWQgZm9yIElFOCAqLztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnZqcy1lcnJvciAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBFcnJvciBEaXNwbGF5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi52anMtZXJyb3ItZGlzcGxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udmpzLWVycm9yIC52anMtZXJyb3ItZGlzcGxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi52anMtZXJyb3IgLnZqcy1lcnJvci1kaXNwbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdYJztcbiAgZm9udC1mYW1pbHk6IEFyaWFsO1xuICBmb250LXNpemU6IDRlbTtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIC8qIEluIG9yZGVyIHRvIGNlbnRlciB0aGUgcGxheSBpY29uIHZlcnRpY2FsbHkgd2UgbmVlZCB0byBzZXQgdGhlIGxpbmUgaGVpZ2h0XG4gICAgIHRvIHRoZSBzYW1lIGFzIHRoZSBidXR0b24gaGVpZ2h0ICovXG5cbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtc2hhZG93OiAwLjA1ZW0gMC4wNWVtIDAuMWVtICMwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlciAvKiBOZWVkZWQgZm9yIElFOCAqLztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICB3aWR0aDogMTAwJTtcbn1cbi52anMtZXJyb3ItZGlzcGxheSBkaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm90dG9tOiAxZW07XG4gIHJpZ2h0OiAxZW07XG4gIGxlZnQ6IDFlbTtcbn1cbi52anMtZXJyb3ItZGlzcGxheSBhLFxuLnZqcy1lcnJvci1kaXNwbGF5IGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjRjRBNDYwO1xufVxuLyogTG9hZGluZyBTcGlubmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi52anMtbG9hZGluZy1zcGlubmVyIHtcbiAgLyogU2hvdWxkIGJlIGhpZGRlbiBieSBkZWZhdWx0ICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgZm9udC1zaXplOiA0ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICBvcGFjaXR5OiAwLjc1O1xufVxuLyogU2hvdyB0aGUgc3Bpbm5lciB3aGVuIHdhaXRpbmcgZm9yIGRhdGEgYW5kIHNlZWtpbmcgdG8gYSBuZXcgdGltZSAqL1xuLnZqcy13YWl0aW5nIC52anMtbG9hZGluZy1zcGlubmVyLFxuLnZqcy1zZWVraW5nIC52anMtbG9hZGluZy1zcGlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIG9ubHkgYW5pbWF0ZSB3aGVuIHNob3dpbmcgYmVjYXVzZSBpdCBjYW4gYmUgcHJvY2Vzc29yIGhlYXZ5ICovXG4gIC8qIGFuaW1hdGlvbiAqL1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAxLjVzIGluZmluaXRlIGxpbmVhcjtcbiAgLW1vei1hbmltYXRpb246IHNwaW4gMS41cyBpbmZpbml0ZSBsaW5lYXI7XG4gIC1vLWFuaW1hdGlvbjogc3BpbiAxLjVzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBzcGluIDEuNXMgaW5maW5pdGUgbGluZWFyO1xufVxuLyogRXJyb3JzIGFyZSB1bnJlY292ZXJhYmxlIHdpdGhvdXQgdXNlciBpbnRlcmFjdGlvbiBzbyBoaWRlIHRoZSBzcGlubmVyICovXG4udmpzLWVycm9yIC52anMtbG9hZGluZy1zcGlubmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLyogZW5zdXJlIGFuaW1hdGlvbiBkb2Vzbid0IGNvbnRpbnVlIHdoaWxlIGhpZGRlbiAqL1xuICAvKiBhbmltYXRpb24gKi9cbiAgLXdlYmtpdC1hbmltYXRpb246IG5vbmU7XG4gIC1tb3otYW5pbWF0aW9uOiBub25lO1xuICAtby1hbmltYXRpb246IG5vbmU7XG4gIGFuaW1hdGlvbjogbm9uZTtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtbG9hZGluZy1zcGlubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7XG4gIGZvbnQtZmFtaWx5OiBWaWRlb0pTO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDBlbSAwZW0gMC4xZW0gIzAwMDtcbn1cbkAtbW96LWtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQC1vLWtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG4vKiBNZW51IEJ1dHRvbnMgKENhcHRpb25zL1N1YnRpdGxlcy9ldGMuKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLW1lbnUtYnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMGVtO1xuICAvKiAoV2lkdGggb2YgdmpzLW1lbnUgLSB3aWR0aCBvZiBidXR0b24pIC8gMiAqL1xuXG4gIHdpZHRoOiAwZW07XG4gIGhlaWdodDogMGVtO1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG4gIGJvcmRlci1sZWZ0OiAyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAxLjU1ZW0gc29saWQgIzAwMDAwMDtcbiAgLyogU2FtZSB3aWR0aCB0b3AgYXMgdWwgYm90dG9tICovXG5cbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSg3LCA0MCwgNTAsIDAuNSk7XG4gIC8qIFNhbWUgYXMgdWwgYmFja2dyb3VuZCAqL1xuXG59XG4vKiBCdXR0b24gUG9wLXVwIE1lbnUgKi9cbi52anMtZGVmYXVsdC1za2luIC52anMtbWVudS1idXR0b24gLnZqcy1tZW51IC52anMtbWVudS1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTBlbTtcbiAgYm90dG9tOiAxLjVlbTtcbiAgLyogU2FtZSBib3R0b20gYXMgdmpzLW1lbnUgYm9yZGVyLXRvcCAqL1xuXG4gIG1heC1oZWlnaHQ6IDE1ZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICBsZWZ0OiAtNWVtO1xuICAvKiBXaWR0aCBvZiBtZW51IC0gd2lkdGggb2YgYnV0dG9uIC8gMiAqL1xuXG4gIC8qIGJhY2tncm91bmQtY29sb3Itd2l0aC1hbHBoYSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxNDFlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDIwLCAzMCwgMC43KTtcbiAgLyogYm94LXNoYWRvdyAqL1xuICAtd2Via2l0LWJveC1zaGFkb3c6IC0wLjJlbSAtMC4yZW0gMC4zZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAtbW96LWJveC1zaGFkb3c6IC0wLjJlbSAtMC4yZW0gMC4zZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBib3gtc2hhZG93OiAtMC4yZW0gLTAuMmVtIDAuM2VtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtbWVudS1idXR0b246aG92ZXIgLnZqcy1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLW1lbnUtYnV0dG9uIHVsIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjNlbSAwIDAuM2VtIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1tZW51LWJ1dHRvbiB1bCBsaS52anMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1tZW51LWJ1dHRvbiB1bCBsaTpmb2N1cyxcbi52anMtZGVmYXVsdC1za2luIC52anMtbWVudS1idXR0b24gdWwgbGk6aG92ZXIsXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLW1lbnUtYnV0dG9uIHVsIGxpLnZqcy1zZWxlY3RlZDpmb2N1cyxcbi52anMtZGVmYXVsdC1za2luIC52anMtbWVudS1idXR0b24gdWwgbGkudmpzLXNlbGVjdGVkOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbiAgY29sb3I6ICMxMTE7XG4gIC8qIGJhY2tncm91bmQtY29sb3Itd2l0aC1hbHBoYSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICAvKiBib3gtc2hhZG93ICovXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDFlbSAjZmZmZmZmO1xuICAtbW96LWJveC1zaGFkb3c6IDAgMCAxZW0gI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDFlbSAjZmZmZmZmO1xufVxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1tZW51LWJ1dHRvbiB1bCBsaS52anMtbWVudS10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDAuM2VtIDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4vKiBTdWJ0aXRsZXMgQnV0dG9uICovXG4udmpzLWRlZmF1bHQtc2tpbiAudmpzLXN1YnRpdGxlcy1idXR0b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMGNcIjtcbn1cbi8qIENhcHRpb25zIEJ1dHRvbiAqL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1jYXB0aW9ucy1idXR0b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDhcIjtcbn1cbi8qIENoYXB0ZXJzIEJ1dHRvbiAqL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1jaGFwdGVycy1idXR0b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMGNcIjtcbn1cbi52anMtZGVmYXVsdC1za2luIC52anMtY2hhcHRlcnMtYnV0dG9uLnZqcy1tZW51LWJ1dHRvbiAudmpzLW1lbnUgLnZqcy1tZW51LWNvbnRlbnQge1xuICB3aWR0aDogMjRlbTtcbiAgbGVmdDogLTEyZW07XG59XG4vKiBSZXBsYWNlbWVudCBmb3IgZm9jdXMgb3V0bGluZSAqL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1jYXB0aW9ucy1idXR0b246Zm9jdXMgLnZqcy1jb250cm9sLWNvbnRlbnQ6YmVmb3JlLFxuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1jYXB0aW9ucy1idXR0b246aG92ZXIgLnZqcy1jb250cm9sLWNvbnRlbnQ6YmVmb3JlIHtcbiAgLyogYm94LXNoYWRvdyAqL1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAxZW0gI2ZmZmZmZjtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDAgMWVtICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAxZW0gI2ZmZmZmZjtcbn1cbi8qXG5SRVFVSVJFRCBTVFlMRVMgKGJlIGNhcmVmdWwgb3ZlcnJpZGluZylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5XaGVuIGxvYWRpbmcgdGhlIHBsYXllciwgdGhlIHZpZGVvIHRhZyBpcyByZXBsYWNlZCB3aXRoIGEgRElWLFxudGhhdCB3aWxsIGhvbGQgdGhlIHZpZGVvIHRhZyBvciBvYmplY3QgdGFnIGZvciBvdGhlciBwbGF5YmFjayBtZXRob2RzLlxuVGhlIGRpdiBjb250YWlucyB0aGUgdmlkZW8gcGxheWJhY2sgZWxlbWVudCAoRmxhc2ggb3IgSFRNTDUpIGFuZCBjb250cm9scyxcbmFuZCBzZXRzIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB2aWRlby5cblxuKiogSWYgeW91IHdhbnQgdG8gYWRkIHNvbWUga2luZCBvZiBib3JkZXIvcGFkZGluZyAoZS5nLiBhIGZyYW1lKSwgb3Igc3BlY2lhbFxucG9zaXRpb25pbmcsIHVzZSBhbm90aGVyIGNvbnRhaW5pbmcgZWxlbWVudC4gT3RoZXJ3aXNlIHlvdSByaXNrIG1lc3NpbmcgdXBcbmNvbnRyb2wgcG9zaXRpb25pbmcgYW5kIGZ1bGwgd2luZG93IG1vZGUuICoqXG4qL1xuLnZpZGVvLWpzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICAvKiBTdGFydCB3aXRoIDEwcHggZm9yIGJhc2UgZm9udCBzaXplIHNvIG90aGVyIGRpbWVuc2lvbnMgY2FuIGJlIGVtIGJhc2VkIGFuZFxuICAgICBlYXNpbHkgY2FsY3VsYWJsZS4gKi9cblxuICBmb250LXNpemU6IDEwcHg7XG4gIC8qIEFsbG93IHBvc3RlciB0byBiZSB2ZXJ0aWFsbHkgYWxpZ25lZC4gKi9cblxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAgZGlzcGxheTogdGFibGUtY2VsbDsgKi9cbiAgLypUaGlzIHdvcmtzIGluIFNhZmFyaSBidXQgbm90IEZpcmVmb3guKi9cblxuICAvKiBQcm92aWRlIHNvbWUgYmFzaWMgZGVmYXVsdHMgZm9yIGZvbnRzICovXG5cbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAvKiBBdm9pZGluZyBoZWx2ZXRpY2E6IGlzc3VlICMzNzYgKi9cblxuICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gIC8qIFR1cm4gb2ZmIHVzZXIgc2VsZWN0aW9uICh0ZXh0IGhpZ2hsaWdodGluZykgYnkgZGVmYXVsdC5cbiAgICAgVGhlIG1ham9yaXR5IG9mIHBsYXllciBjb21wb25lbnRzIHdpbGwgbm90IGJlIHRleHQgYmxvY2tzLlxuICAgICBUZXh0IGFyZWFzIHdpbGwgbmVlZCB0byB0dXJuIHVzZXIgc2VsZWN0aW9uIGJhY2sgb24uICovXG5cbiAgLyogdXNlci1zZWxlY3QgKi9cbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi8qIFBsYXliYWNrIHRlY2hub2xvZ3kgZWxlbWVudHMgZXhwYW5kIHRvIHRoZSB3aWR0aC9oZWlnaHQgb2YgdGhlIGNvbnRhaW5pbmcgZGl2XG4gICAgPHZpZGVvPiBvciA8b2JqZWN0PiAqL1xuLnZpZGVvLWpzIC52anMtdGVjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLyogRml4IGZvciBGaXJlZm94IDkgZnVsbHNjcmVlbiAob25seSBpZiBpdCBpcyBlbmFibGVkKS4gTm90IG5lZWRlZCB3aGVuXG4gICBjaGVja2luZyBmdWxsU2NyZWVuRW5hYmxlZC4gKi9cbi52aWRlby1qczotbW96LWZ1bGwtc2NyZWVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLyogRnVsbHNjcmVlbiBTdHlsZXMgKi9cbmJvZHkudmpzLWZ1bGwtd2luZG93IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIEZpeCBmb3IgSUU2IGZ1bGwtd2luZG93LiBodHRwOi8vd3d3LmNzc3BsYXkuY28udWsvbGF5b3V0cy9maXhlZC5odG1sICovXG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4udmlkZW8tanMudmpzLWZ1bGxzY3JlZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDEwMDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIC8qIElFNiBmdWxsLXdpbmRvdyAodW5kZXJzY29yZSBoYWNrKSAqL1xuICBfcG9zaXRpb246IGFic29sdXRlO1xufVxuLnZpZGVvLWpzOi13ZWJraXQtZnVsbC1zY3JlZW4ge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cbi52aWRlby1qcy52anMtZnVsbHNjcmVlbi52anMtdXNlci1pbmFjdGl2ZSB7XG4gIGN1cnNvcjogbm9uZTtcbn1cbi8qIFBvc3RlciBTdHlsZXMgKi9cbi52anMtcG9zdGVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnZqcy1wb3N0ZXIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEhpZGUgdGhlIHBvc3RlciB3aGVuIG5hdGl2ZSBjb250cm9scyBhcmUgdXNlZCBvdGhlcndpc2UgaXQgY292ZXJzIHRoZW0gKi9cbi52aWRlby1qcy52anMtdXNpbmctbmF0aXZlLWNvbnRyb2xzIC52anMtcG9zdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIFRleHQgVHJhY2sgU3R5bGVzICovXG4vKiBPdmVyYWxsIHRyYWNrIGhvbGRlciBmb3IgYm90aCBjYXB0aW9ucyBhbmQgc3VidGl0bGVzICovXG4udmlkZW8tanMgLnZqcy10ZXh0LXRyYWNrLWRpc3BsYXkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA0ZW07XG4gIC8qIExlYXZlIHBhZGRpbmcgb24gbGVmdCBhbmQgcmlnaHQgKi9cbiAgbGVmdDogMWVtO1xuICByaWdodDogMWVtO1xufVxuLyogTW92ZSBjYXB0aW9ucyBkb3duIHdoZW4gY29udHJvbHMgYXJlbid0IGJlaW5nIHNob3duICovXG4udmlkZW8tanMudmpzLXVzZXItaW5hY3RpdmUudmpzLXBsYXlpbmcgLnZqcy10ZXh0LXRyYWNrLWRpc3BsYXkge1xuICBib3R0b206IDFlbTtcbn1cbi8qIEluZGl2aWR1YWwgdHJhY2tzICovXG4udmlkZW8tanMgLnZqcy10ZXh0LXRyYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwLjFlbTtcbiAgLyogVHJhbnNwYXJlbnQgYmxhY2sgYmFja2dyb3VuZCwgb3IgZmFsbGJhY2sgdG8gYWxsIGJsYWNrIChvbGRJRSkgKi9cbiAgLyogYmFja2dyb3VuZC1jb2xvci13aXRoLWFscGhhICovXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi52aWRlby1qcyAudmpzLXN1YnRpdGxlcyB7XG4gIGNvbG9yOiAjZmZmZmZmIC8qIFN1YnRpdGxlcyBhcmUgd2hpdGUgKi87XG59XG4udmlkZW8tanMgLnZqcy1jYXB0aW9ucyB7XG4gIGNvbG9yOiAjZmZjYzY2IC8qIENhcHRpb25zIGFyZSB5ZWxsb3cgKi87XG59XG4udmpzLXR0LWN1ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogSGlkZSBkaXNhYmxlZCBvciB1bnN1cHBvcnRlZCBjb250cm9scyAqL1xuLnZqcy1kZWZhdWx0LXNraW4gLnZqcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnZqcy1sb2NrLXNob3dpbmcge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLyogIEluIElFOCB3LyBubyBKYXZhU2NyaXB0IChubyBIVE1MNSBzaGltKSwgdGhlIHZpZGVvIHRhZyBkb2Vzbid0IHJlZ2lzdGVyLlxuICAgIFRoZSAudmlkZW8tanMgY2xhc3NuYW1lIG9uIHRoZSB2aWRlbyB0YWcgYWxzbyBpc24ndCBjb25zaWRlcmVkLlxuICAgIFRoaXMgb3B0aW9uYWwgcGFyYWdyYXBoIGluc2lkZSB0aGUgdmlkZW8gdGFnIGNhbiBwcm92aWRlIGEgbWVzc2FnZSB0byB1c2Vyc1xuICAgIGFib3V0IHdoYXQncyByZXF1aXJlZCB0byBwbGF5IHZpZGVvLiAqL1xuLnZqcy1uby1qcyB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGNvbG9yOiAjY2NjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMTUwcHg7XG4gIG1hcmdpbjogMHB4IGF1dG87XG59XG4udmpzLW5vLWpzIGEsXG4udmpzLW5vLWpzIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjRjRBNDYwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZSBvcmlnaW5hbCBzb3VyY2Ugb2YgdGhpcyBmaWxlIGxpdmVzIGF0XG5odHRwczovL2dpdGh1Yi5jb20vdmlkZW9qcy92aWRlby5qcy9ibG9iL21hc3Rlci9zcmMvY3NzL3ZpZGVvLWpzLmxlc3MgKi9cbiIsIi8qXG4qIFNrZWxldG9uIFYyLjAuNFxuKiBDb3B5cmlnaHQgMjAxNCwgRGF2ZSBHYW1hY2hlXG4qIHd3dy5nZXRza2VsZXRvbi5jb21cbiogRnJlZSB0byB1c2UgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuKiAxMi85LzIwMTRcbiogU2FzcyBWZXJzaW9uIGJ5IFNldGggQ29lbGVuIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0c25ld3NhZXNcbiovXG5cbi5jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jb2x1bW4sXG4uY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gRm9yIGRldmljZXMgbGFyZ2VyIHRoYW4gNDAwcHhcbkBtZWRpYSAoI3skYnAtbGFyZ2VyLXRoYW4tbW9iaWxlfSkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci13aWR0aC1sYXJnZXItdGhhbi1tb2JpbGU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLyBGb3IgZGV2aWNlcyBsYXJnZXIgdGhhbiA1NTBweFxuQG1lZGlhICgjeyRicC1sYXJnZXItdGhhbi1waGFibGV0fSkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci13aWR0aC1sYXJnZXItdGhhbi1waGFibGV0O1xuICB9XG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBtYXJnaW4tbGVmdDogJGNvbHVtbi1tYXJnaW47XG4gIH1cbiAgLmNvbHVtbjpmaXJzdC1jaGlsZCxcbiAgLmNvbHVtbnM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLm9uZS5jb2x1bW4sXG4gIC5vbmUuY29sdW1ucyAgICAgICAgICB7IHdpZHRoOiBncmlkLWNvbHVtbi13aWR0aCgxKTsgIH1cbiAgLnR3by5jb2x1bW5zICAgICAgICAgIHsgd2lkdGg6IGdyaWQtY29sdW1uLXdpZHRoKDIpOyAgfVxuICAudGhyZWUuY29sdW1ucyAgICAgICAgeyB3aWR0aDogZ3JpZC1jb2x1bW4td2lkdGgoMyk7ICB9XG4gIC5mb3VyLmNvbHVtbnMgICAgICAgICB7IHdpZHRoOiBncmlkLWNvbHVtbi13aWR0aCg0KTsgIH1cbiAgLmZpdmUuY29sdW1ucyAgICAgICAgIHsgd2lkdGg6IGdyaWQtY29sdW1uLXdpZHRoKDUpOyAgfVxuICAuc2l4LmNvbHVtbnMgICAgICAgICAgeyB3aWR0aDogZ3JpZC1jb2x1bW4td2lkdGgoNik7ICB9XG4gIC5zZXZlbi5jb2x1bW5zICAgICAgICB7IHdpZHRoOiBncmlkLWNvbHVtbi13aWR0aCg3KTsgIH1cbiAgLmVpZ2h0LmNvbHVtbnMgICAgICAgIHsgd2lkdGg6IGdyaWQtY29sdW1uLXdpZHRoKDgpOyAgfVxuICAubmluZS5jb2x1bW5zICAgICAgICAgeyB3aWR0aDogZ3JpZC1jb2x1bW4td2lkdGgoOSk7ICB9XG4gIC50ZW4uY29sdW1ucyAgICAgICAgICB7IHdpZHRoOiBncmlkLWNvbHVtbi13aWR0aCgxMCk7IH1cbiAgLmVsZXZlbi5jb2x1bW5zICAgICAgIHsgd2lkdGg6IGdyaWQtY29sdW1uLXdpZHRoKDExKTsgfVxuICAudHdlbHZlLmNvbHVtbnMgICAgICAgeyB3aWR0aDogMTAwJTsgbWFyZ2luLWxlZnQ6IDA7ICB9XG5cbiAgLm9uZS10aGlyZC5jb2x1bW4gICAgIHsgd2lkdGg6IGdyaWQtY29sdW1uLXdpZHRoKDQpOyAgfVxuICAudHdvLXRoaXJkcy5jb2x1bW4gICAgeyB3aWR0aDogZ3JpZC1jb2x1bW4td2lkdGgoOCk7ICB9XG5cbiAgLm9uZS1oYWxmLmNvbHVtbiAgICAgIHsgd2lkdGg6IGdyaWQtY29sdW1uLXdpZHRoKDYpOyAgfVxuXG5cbiAgLy8gT2Zmc2V0c1xuICAub2Zmc2V0LWJ5LW9uZS5jb2x1bW4sXG4gIC5vZmZzZXQtYnktb25lLmNvbHVtbnMgICAgICAgeyBtYXJnaW4tbGVmdDogZ3JpZC1vZmZzZXQtbGVuZ3RoKDEpOyAgfVxuICAub2Zmc2V0LWJ5LXR3by5jb2x1bW4sXG4gIC5vZmZzZXQtYnktdHdvLmNvbHVtbnMgICAgICAgeyBtYXJnaW4tbGVmdDogZ3JpZC1vZmZzZXQtbGVuZ3RoKDIpOyAgfVxuICAub2Zmc2V0LWJ5LXRocmVlLmNvbHVtbixcbiAgLm9mZnNldC1ieS10aHJlZS5jb2x1bW5zICAgICB7IG1hcmdpbi1sZWZ0OiBncmlkLW9mZnNldC1sZW5ndGgoMyk7ICB9XG4gIC5vZmZzZXQtYnktZm91ci5jb2x1bW4sXG4gIC5vZmZzZXQtYnktZm91ci5jb2x1bW5zICAgICAgeyBtYXJnaW4tbGVmdDogZ3JpZC1vZmZzZXQtbGVuZ3RoKDQpOyAgfVxuICAub2Zmc2V0LWJ5LWZpdmUuY29sdW1uLFxuICAub2Zmc2V0LWJ5LWZpdmUuY29sdW1ucyAgICAgIHsgbWFyZ2luLWxlZnQ6IGdyaWQtb2Zmc2V0LWxlbmd0aCg1KTsgIH1cbiAgLm9mZnNldC1ieS1zaXguY29sdW1uLFxuICAub2Zmc2V0LWJ5LXNpeC5jb2x1bW5zICAgICAgIHsgbWFyZ2luLWxlZnQ6IGdyaWQtb2Zmc2V0LWxlbmd0aCg2KTsgIH1cbiAgLm9mZnNldC1ieS1zZXZlbi5jb2x1bW4sXG4gIC5vZmZzZXQtYnktc2V2ZW4uY29sdW1ucyAgICAgeyBtYXJnaW4tbGVmdDogZ3JpZC1vZmZzZXQtbGVuZ3RoKDcpOyAgfVxuICAub2Zmc2V0LWJ5LWVpZ2h0LmNvbHVtbixcbiAgLm9mZnNldC1ieS1laWdodC5jb2x1bW5zICAgICB7IG1hcmdpbi1sZWZ0OiBncmlkLW9mZnNldC1sZW5ndGgoOCk7ICB9XG4gIC5vZmZzZXQtYnktbmluZS5jb2x1bW4sXG4gIC5vZmZzZXQtYnktbmluZS5jb2x1bW5zICAgICAgeyBtYXJnaW4tbGVmdDogZ3JpZC1vZmZzZXQtbGVuZ3RoKDkpOyAgfVxuICAub2Zmc2V0LWJ5LXRlbi5jb2x1bW4sXG4gIC5vZmZzZXQtYnktdGVuLmNvbHVtbnMgICAgICAgeyBtYXJnaW4tbGVmdDogZ3JpZC1vZmZzZXQtbGVuZ3RoKDEwKTsgfVxuICAub2Zmc2V0LWJ5LWVsZXZlbi5jb2x1bW4sXG4gIC5vZmZzZXQtYnktZWxldmVuLmNvbHVtbnMgICAgeyBtYXJnaW4tbGVmdDogZ3JpZC1vZmZzZXQtbGVuZ3RoKDExKTsgfVxuXG5cbiAgLm9mZnNldC1ieS1vbmUtdGhpcmQuY29sdW1uLFxuICAub2Zmc2V0LWJ5LW9uZS10aGlyZC5jb2x1bW5zICB7IG1hcmdpbi1sZWZ0OiBncmlkLW9mZnNldC1sZW5ndGgoNCk7ICB9XG4gIC5vZmZzZXQtYnktdHdvLXRoaXJkcy5jb2x1bW4sXG4gIC5vZmZzZXQtYnktdHdvLXRoaXJkcy5jb2x1bW5zIHsgbWFyZ2luLWxlZnQ6IGdyaWQtb2Zmc2V0LWxlbmd0aCg4KTsgIH1cblxuICAub2Zmc2V0LWJ5LW9uZS1oYWxmLmNvbHVtbixcbiAgLm9mZnNldC1ieS1vbmUtaGFsZi5jb2x1bW4gICB7IG1hcmdpbi1sZWZ0OiBncmlkLW9mZnNldC1sZW5ndGgoNik7ICB9XG5cblxufVxuXG4vLyBDbGVhcmluZ1xuLy/igJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLy8gU2VsZiBDbGVhcmluZyBHb29kbmVzc1xuXG4uY29udGFpbmVyOmFmdGVyLFxuLnJvdzphZnRlcixcbi51LWNmIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuIiwiLy8gQnV0dG9uc1xuLy/igJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuLmJ1dHRvbixcbmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAzOHB4O1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gIGxldHRlci1zcGFjaW5nOiAuMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaW5wdXQge1xuICAmW3R5cGU9XCJzdWJtaXRcIl0sXG4gICZbdHlwZT1cInJlc2V0XCJdLFxuICAmW3R5cGU9XCJidXR0b25cIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDM4cHg7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbi5idXR0b246aG92ZXIsXG5idXR0b246aG92ZXIge1xuICBjb2xvcjogJGRhcmstZ3JleTtcbiAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRkYXJrLWdyZXksIDMzLjMlKTtcbiAgb3V0bGluZTogMDtcbn1cblxuaW5wdXQge1xuICAmW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsXG4gICZbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxuICAmW3R5cGU9XCJidXR0b25cIl06aG92ZXIge1xuICAgIGNvbG9yOiAkZGFyay1ncmV5O1xuICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkZGFyay1ncmV5LCAzMy4zJSk7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4uYnV0dG9uOmZvY3VzLFxuYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICRkYXJrLWdyZXk7XG4gIGJvcmRlci1jb2xvcjogbGlnaHRlbigkZGFyay1ncmV5LCAzMy4zJSk7XG4gIG91dGxpbmU6IDA7XG59XG5cbmlucHV0IHtcbiAgJlt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuICAmW3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcbiAgJlt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzIHtcbiAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGRhcmstZ3JleSwgMzMuMyUpO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLmJ1dHRvbi5idXR0b24tcHJpbWFyeSxcbmJ1dHRvbi5idXR0b24tcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuaW5wdXQge1xuICAmW3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uLXByaW1hcnksXG4gICZbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1wcmltYXJ5LFxuICAmW3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLXByaW1hcnkge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuLmJ1dHRvbi5idXR0b24tcHJpbWFyeTpob3ZlcixcbmJ1dHRvbi5idXR0b24tcHJpbWFyeTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkbGluay1jb2xvcjtcbn1cblxuaW5wdXQge1xuICAmW3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4gICZbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuICAmW3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGxpbmstY29sb3I7XG4gIH1cbn1cblxuLmJ1dHRvbi5idXR0b24tcHJpbWFyeTpmb2N1cyxcbmJ1dHRvbi5idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkbGluay1jb2xvcjtcbn1cblxuaW5wdXQge1xuICAmW3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uLXByaW1hcnk6Zm9jdXMsXG4gICZbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1wcmltYXJ5OmZvY3VzLFxuICAmW3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGxpbmstY29sb3I7XG4gIH1cbiAgJlt0eXBlPVwiZW1haWxcIl0sXG4gICZbdHlwZT1cIm51bWJlclwiXSxcbiAgJlt0eXBlPVwic2VhcmNoXCJdLFxuICAmW3R5cGU9XCJ0ZXh0XCJdLFxuICAmW3R5cGU9XCJ0ZWxcIl0sXG4gICZbdHlwZT1cInVybFwiXSxcbiAgJlt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICAgIGhlaWdodDogMzhweDtcbiAgICBwYWRkaW5nOiA2cHggMTBweDsgLy8gVGhlIDZweCB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGV4dCBvbiBGRiwgaWdub3JlZCBieSBXZWJraXRcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgOC44JSk7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG4iLCIvKipcbiAqXG4gKi9cblxuI2JvZHkge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4jbi1sYXlvdXQsIC5uLWxheW91dCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4ubGVmdC1wYW5lbCxcbi5yaWdodC1wYW5lbCB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0Y2xlYXI6IGxlZnQ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLmxlZnQtcGFuZWwge1xuXHR3aWR0aDogJGxlZnQtcGFuZWwtdztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxMDA7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHdoaXRlc21va2U7XG5cblx0Jl9fY29udGVudCB7XG5cdFx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHR6LWluZGV4OiA5OTtcblx0XHR0b3A6IDkwcHg7XG5cdFx0Ym90dG9tOiAzNXB4O1xuXHRcdG92ZXJmbG93LXk6IGhpZGRlbjtcblx0fVxufVxuXG4ucmlnaHQtcGFuZWwge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBhZGRpbmctbGVmdDogJGxlZnQtcGFuZWwtdztcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cblx0Jl9faGVhZGVyLFxuXHQmLS1oZWFkZXIge1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHR0b3A6ICRoZWFkZXItaDtcblx0XHRib3R0b206IDA7XG5cdFx0cGFkZGluZy1sZWZ0OiAkbGVmdC1wYW5lbC13O1xuXHRcdHotaW5kZXg6IDk7XG5cdH1cbn1cblxuLm1haW5jb250ZW50IHtcblx0cGFkZGluZy10b3A6ICRoZWFkZXItaDtcblxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRjbGVhcjogYm90aDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuIiwiLyoqXG4gKlxuICovXG5cbi5uLWhlYWRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdGNvbG9yOiAjRkZGO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXHRib3gtc2hhZG93OiAxcHggMHB4IDJweCAxcHggI0NDQ0NDQztcblx0Ym9yZGVyLXRvcDogMHB4O1xuXHRtaW4td2lkdGg6IDk5MHB4O1xuXHRib3JkZXItcmlnaHQ6IDA7XG5cdGJvcmRlci1sZWZ0OiAwO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDkwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5sb2dvIHtcblx0bWFyZ2luOiAyMnB4IDAgMjJweCAyMHB4O1xufVxuXG4ubi1iaWJxdW90ZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tbGVmdDogJGd1dHRlcjtcbn1cblxuLnJpZ2h0LWJ5LXUge1xuXHRyaWdodDogMDtcblx0bWFyZ2luLXJpZ2h0OiAkZ3V0dGVyO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9jb250ZW50L2ltYWdlcy9oZWFkZXIvcmlnaHQtdG8tdS5wbmcpO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHdpZHRoOiA1MHB4O1xuXHRcdGhlaWdodDogNTBweDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHR9XG5cblx0LnJpZ2h0LWljb24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0d2lkdGg6IDUwcHg7XG5cdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cbn1cbiIsIi8qKlxuICpcbiAqL1xuXG4kZm9udC1zaXplOiAxNHB4O1xuXG4ubGVmdC1tZW51LXdyYXBwZXIge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLmxlZnQtbWVudSB7XG5cdCRsZWZ0LWljb24tdzogMzJweDtcblx0JGxlZnQtYXJyb3ctdzogMzJweDtcblx0JG1lbnUtY29sb3I6ICMwMDIxNjk7XG5cdCRtZW51LWNvbG9yLWFjdGl2ZTogI0VFRjRGOTtcblx0JG1lbnUtdGl0bGUtYWN0aXZlOiAjRUUzODIzO1xuXG5cdGEge1xuXHRcdGNvbG9yOiAkbWVudS1jb2xvcjtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Ji0tbGlzdCB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHQmLl9hY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG1lbnUtY29sb3ItYWN0aXZlO1xuXHRcdFx0cGFkZGluZy1ib3R0b206ICRndXR0ZXI7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cblx0XHRcdC5sZWZ0LW1lbnUtLXRpdGxlIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdC8vIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcblx0XHRcdFx0XHRcdC8vIGNvbnRlbnQ6ICdcXGYwNzcnO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2NvbnRlbnQvaW1hZ2VzL21lbnUvYXJyb3ctdXAucG5nKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyAubWVudS1pY29uLS1ibHVlIHsgZGlzcGxheTogbm9uZTsgfVxuXHRcdFx0XHQvLyAubWVudS1pY29uLS1yZWQgeyBkaXNwbGF5OiBibG9jazsgfVxuXHRcdFx0fVxuXG5cdFx0XHQubGVmdC1tZW51LS1pdGVtIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHRcdFx0aGVpZ2h0OiAzNHB4O1xuXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtMTVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLmxlZnQtbWVudS0tbGlzdF9faW50cm8ge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLS10aXRsZSB7XG5cdFx0YSB7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZzogMjNweCAkZ3V0dGVyO1xuXHRcdFx0cGFkZGluZy1yaWdodDogJGxlZnQtYXJyb3ctdztcblx0XHRcdHBhZGRpbmctbGVmdDogJGxlZnQtaWNvbi13ICsgMS41KiRndXR0ZXI7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQubWVudS1pY29uIHtcblx0XHRcdFx0d2lkdGg6ICRsZWZ0LWljb24tdztcblx0XHRcdFx0aGVpZ2h0OiAkbGVmdC1pY29uLXc7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6ICRndXR0ZXI7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR9XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHR9XG5cblx0XHRcdC5tZW51LWljb24ge1xuXHRcdFx0XHR6LWluZGV4OiAxMFxuXHRcdFx0fVxuXG5cdFx0XHQubWVudS1pY29uLS1ibHVlIHsgZGlzcGxheTogYmxvY2s7IH1cblx0XHRcdC5tZW51LWljb24tLXJlZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXHRcdFx0JjphZnRlcixcblx0XHRcdC5hcnJvdy1pY29uIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0cmlnaHQ6IDAuNSokZ3V0dGVyO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHR3aWR0aDogJGxlZnQtYXJyb3ctdztcblx0XHRcdFx0aGVpZ2h0OiAkbGVmdC1hcnJvdy13O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vY29udGVudC9pbWFnZXMvbWVudS9hcnJvdy1kb3duLnBuZyk7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHR9XG5cblx0XHRcdC5hcnJvdy1pY29uIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC41KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19pbnRybyB7XG5cdFx0XHRhOmJlZm9yZSB7XG5cdFx0XHRcdC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9jb250ZW50L2ltYWdlcy9oZWFkZXIvaW50cm9kdWN0aW9uLnBuZyk7XG5cdFx0XHR9XG5cblx0XHRcdGE6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYtLWl0ZW0ge1xuXHRcdHBhZGRpbmctbGVmdDogJGxlZnQtaWNvbi13ICsgMS41KiRndXR0ZXIgLSA2cHg7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGhlaWdodDogMDtcblxuXHRcdD5hIHtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiA2cHg7XG5cdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRmb250LXNpemU6ICRmb250LXNpemU7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuX2FjdGl2ZSB7XG5cdFx0XHQ+YSB7XG5cdFx0XHRcdC8vIGNvbG9yOiAkbWVudS10aXRsZS1hY3RpdmU7XG5cdFx0XHRcdC8vIGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHQ+LnN1Yi1tZW51LS1saXN0IHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9faGVhZCB7XG5cdFx0XHQ+YSB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0Y29udGVudDogJ1xcZjBkYSc7XG5cdFx0XHRcdFx0Zm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGxlZnQ6IC0yMHB4O1xuXHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQ+LnN1Yi1tZW51LS1saXN0IHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnN1Yi1tZW51IHtcblxuXHQmLS1saXN0IHt9XG5cblx0Ji0taXRlbSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0b3BhY2l0eTogMC43O1xuXG5cdFx0YSB7XG5cdFx0XHRwYWRkaW5nOiA2cHg7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmLl9hY3RpdmUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cbn1cblxuLmxlZnQtbWVudS0tbGlzdC5fYWN0aXZlIHtcblx0LmxlZnQtbWVudS0taXRlbS5fYWN0aXZlIHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cblx0XHQmLmxlZnQtbWVudS0taXRlbV9faGVhZCB7XG5cblx0XHRcdD5hOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICdcXGYwZDcnO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ubmF2LWNvbnRyb2wge1xuXHQkYnV0dG9uLWg6IDM1cHg7XG5cblx0cG9zaXRpb246IGZpeGVkO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNTA3QUIwO1xuXHRoZWlnaHQ6ICRidXR0b24taDtcblx0d2lkdGg6ICRsZWZ0LXBhbmVsLXc7XG5cdHotaW5kZXg6IDEwMDA7XG5cblx0YmFja2dyb3VuZDogcmdiYSg3MywxMTMsMTY5LDEpO1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoNzMsMTEzLDE2OSwxKSAwJSwgcmdiYSgxMzQsMTc0LDIwNCwxKSAxMDAlKTtcblx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoNzMsMTEzLDE2OSwxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgxMzQsMTc0LDIwNCwxKSkpO1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoNzMsMTEzLDE2OSwxKSAwJSwgcmdiYSgxMzQsMTc0LDIwNCwxKSAxMDAlKTtcblx0YmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSg3MywxMTMsMTY5LDEpIDAlLCByZ2JhKDEzNCwxNzQsMjA0LDEpIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSg3MywxMTMsMTY5LDEpIDAlLCByZ2JhKDEzNCwxNzQsMjA0LDEpIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDczLDExMywxNjksMSkgMCUsIHJnYmEoMTM0LDE3NCwyMDQsMSkgMTAwJSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNDk3MWE5JywgZW5kQ29sb3JzdHI9JyM4NmFlY2MnLCBHcmFkaWVudFR5cGU9MCApO1xuXG5cdCYtLWxlZnQtYnRuLFxuXHQmLS1yaWdodC1idG4ge1xuXHRcdHdpZHRoOiA1MCU7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGNvbG9yOiB3aGl0ZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICMwMDIxNjk7XG5cdFx0fVxuXHR9XG5cblx0Ji0tbGVmdC1idG4ge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHQmLS1yaWdodC1idG4ge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG59XG4iLCIvKipcbiAqXG4gKi9cblxuLm1haW4tdmlkZW8ge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8vIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdCYtLWNvbnRlbnQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5zcGxhc2gtdmlkZW8ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblxuXHRiYWNrZ3JvdW5kOiByZ2JhKDY0LDEwNiwxNjUsMSk7XG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSg2NCwxMDYsMTY1LDEpIDAlLCByZ2JhKDIxMiwyMjgsMjM5LDEpIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSg2NCwxMDYsMTY1LDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDIxMiwyMjgsMjM5LDEpKSk7XG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSg2NCwxMDYsMTY1LDEpIDAlLCByZ2JhKDIxMiwyMjgsMjM5LDEpIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDY0LDEwNiwxNjUsMSkgMCUsIHJnYmEoMjEyLDIyOCwyMzksMSkgMTAwJSk7XG5cdGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDY0LDEwNiwxNjUsMSkgMCUsIHJnYmEoMjEyLDIyOCwyMzksMSkgMTAwJSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoNjQsMTA2LDE2NSwxKSAwJSwgcmdiYSgyMTIsMjI4LDIzOSwxKSAxMDAlKTtcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0MDZhYTUnLCBlbmRDb2xvcnN0cj0nI2Q0ZTRlZicsIEdyYWRpZW50VHlwZT0wICk7XG5cblx0ei1pbmRleDogMTAwO1xufVxuXG4vKipcbiAqXG4gKi9cbi5tYWluLXRpdGxlIHtcblx0Ym9yZGVyLWxlZnQ6IDdweCBzb2xpZCAkbWFpbi1jb2xvci0wMTtcblx0bWFyZ2luLWxlZnQ6IDMqJGd1dHRlcjtcblx0bWF4LXdpZHRoOiA2MCU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA0NSU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuXHQmLS1jb250ZW50LFxuXHQmLS1oZWxwZXIge1xuXHRcdG1hcmdpbi1sZWZ0OiAkZ3V0dGVyO1xuXHRcdGNvbG9yOiAjMUQzQTdBO1xuXHR9XG5cblx0Ji0tY29udGVudCB7XG5cdFx0Zm9udC1zaXplOiA1LjJyZW07XG5cdFx0bWFyZ2luLWJvdHRvbTogMC41KiRndXR0ZXI7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdGZvbnQtd2VpZ2h0OiAxMDA7XG5cdH1cblxuXHQmLS1oZWxwZXIge1xuXHRcdGZvbnQtc2l6ZTogMi41cmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLy8gY3NzIGZvciBtb2JpbGUgc2NyZWVuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuLm1haW4tdGl0bGUge1xuXHRtYXgtd2lkdGg6IDgwJTtcbn1cbn1cbiIsIi8qKioqKioqKioqKioqKiogU0NST0xMQkFSIEJBU0UgQ1NTICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbC13cmFwcGVyIHtcblx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNjcm9sbC13cmFwcGVyID4gLnNjcm9sbC1jb250ZW50IHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogYXV0bztcblx0bGVmdDogMDtcblx0bWFyZ2luOiAwO1xuXHRtYXgtaGVpZ2h0OiBub25lO1xuXHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblx0b3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcblx0dG9wOiAwO1xuXHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uc2Nyb2xsLXdyYXBwZXIgPiAuc2Nyb2xsLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0aGVpZ2h0OiAwO1xuXHR3aWR0aDogMDtcbn1cblxuLnNjcm9sbC1lbGVtZW50IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi5zY3JvbGwtZWxlbWVudCwgLnNjcm9sbC1lbGVtZW50IGRpdiB7XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4uc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSxcbi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhcixcbi5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWFycm93IHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uc2Nyb2xsLXRleHRhcmVhIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcblx0Ym9yZGVyLXRvcC1jb2xvcjogIzk5OTk5OTtcbn1cbi5zY3JvbGwtdGV4dGFyZWEgPiAuc2Nyb2xsLWNvbnRlbnQge1xuXHRvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4uc2Nyb2xsLXRleHRhcmVhID4gLnNjcm9sbC1jb250ZW50ID4gdGV4dGFyZWEge1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMDtcblx0bWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuXHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblx0b3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xuXHRvdXRsaW5lOiBub25lO1xuXHRwYWRkaW5nOiAycHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4uc2Nyb2xsLXRleHRhcmVhID4gLnNjcm9sbC1jb250ZW50ID4gdGV4dGFyZWE6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0aGVpZ2h0OiAwO1xuXHR3aWR0aDogMDtcbn1cblxuXG5cblxuLyoqKioqKioqKioqKioqKiBTSU1QTEUgSU5ORVIgU0NST0xMQkFSICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCxcbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2XG57XG5cdGJvcmRlcjogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDEwO1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IGRpdiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXgge1xuXHRib3R0b206IDJweDtcblx0aGVpZ2h0OiA4cHg7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRyaWdodDogMnB4O1xuXHR0b3A6IDA7XG5cdHdpZHRoOiA4cHg7XG59XG5cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayxcbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIge1xuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDtcblx0LW1vei1ib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2ssXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcblx0LW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTQwKVwiO1xuXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApO1xuXHRvcGFjaXR5OiAwLjQ7XG59XG5cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDsgfVxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhciB7IGJhY2tncm91bmQtY29sb3I6ICNjMmMyYzI7IH1cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQ6aG92ZXIgLnNjcm9sbC1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5MTkxOyB9XG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5MTkxOyB9XG5cblxuLyogdXBkYXRlIHNjcm9sbGJhciBvZmZzZXQgaWYgYm90aCBzY3JvbGxzIGFyZSB2aXNpYmxlICovXG5cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyBsZWZ0OiAtMTJweDsgfVxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFjayB7IHRvcDogLTEycHg7IH1cblxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyBsZWZ0OiAtMTJweDsgfVxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtMTJweDsgfVxuIiwiLyoqXG4gKlxuICovXG5cbi5pZTgge1xuXHQubi1oZWFkZXIge1xuXHRcdGhlaWdodDogOTBweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0LmxlZnQtcGFuZWwge1xuXHRcdHdpZHRoOiAyNzBweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblxuXHQubi1iaWJxdW90ZSB7XG5cdFx0dG9wOiAzMHB4O1xuXHR9XG5cblx0LnJpZ2h0LWJ5LXUge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogbm9uZTtcblx0XHR9XG5cblx0XHQucmlnaHQtaWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0LmxlZnQtbWVudS0tdGl0bGUgYTpiZWZvcmUsXG5cdC5sZWZ0LW1lbnUtLXRpdGxlIGEgLm1lbnUtaWNvbiB7XG5cdFx0dG9wOiAyNSU7XG5cdH1cblxuXHQubGVmdC1tZW51LS1pdGVtX19oZWFkID4gYTpiZWZvcmUge1xuXHRcdHRvcDogMjUlO1xuXHR9XG5cblx0LmxlZnQtbWVudS0tdGl0bGUge1xuXHRcdGEge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC5hcnJvdy1pY29uIHtcblx0XHRcdFx0dG9wOiAyNSU7XG5cblx0XHRcdFx0Ji0tZG93biB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji0tdXAge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubGVmdC1tZW51LS1saXN0Ll9hY3RpdmUge1xuXHRcdC5sZWZ0LW1lbnUtLXRpdGxlIHtcblx0XHRcdGEge1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmFycm93LWljb24ge1xuXHRcdFx0XHRcdHRvcDogMjUlO1xuXG5cdFx0XHRcdFx0Ji0tZG93biB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYtLXVwIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
