/* ==========================================================================
   Setup (compass, reset, variables)
   ========================================================================== */
/* Compas/SASS plugins
=================================*/
/* Box Size All the things for (ie8 and up)
=================================*/
@import url("https://use.typekit.net/hue5xtn.css");
* {
  box-sizing: border-box; }

/* ==========================================================================
   Typekit
   ========================================================================== */
/* ==========================================================================
   Resets
   ========================================================================== */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none; }

/**
 * block/block.css ====================================================
 */
#blocks td.region {
  font-weight: bold; }

#blocks tr.region-message {
  font-weight: normal;
  color: #999; }

#blocks tr.region-populated {
  display: none; }

/**
 * openid/openid.css ==================================================
 */
div#edit-openid-identifier-wrapper {
  display: block; }

html.js #user-login-form div.form-item-openid-identifier,
html.js #user-login div.form-item-openid-identifier {
  display: none; }

html.js #user-login-form li.openid-link,
html.js #user-login li.openid-link {
  display: block; }

#user-login-form li.openid-link,
#user-login-form li.user-link,
#user-login li.openid-link,
#user-login li.user-link {
  display: none; }

/**
 * system/system-behavior.css =========================================
 */
/**
 * Password strength indicator
 */
.password-strength {
  width: 200px;
  float: right;
  /*LTR*/ }

.password-strength-title {
  display: inline; }

.password-strength-text {
  float: right;
  /*LTR*/
  font-weight: bold; }

.password-indicator {
  background-color: #ccc;
  height: 5px;
  width: 100%; }

.password-indicator div {
  height: 100%;
  width: 0%;
  background-color: #4c6; }

/**
 * Password confirmation checker
 */
div.password-confirm {
  visibility: hidden; }

.container-inline div,
.container-inline label {
  display: inline; }

.container-inline .fieldset-wrapper {
  display: block; }

.nowrap {
  white-space: nowrap; }

html.js .js-hide {
  display: none; }

.element-hidden {
  display: none; }

.element-invisible {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px); }

/**
 * system/system.css ==================================================
 */
body.drag {
  cursor: move; }

th.active img {
  display: inline; }

td.active {
  background-color: #ddd; }

td.checkbox,
th.checkbox {
  text-align: center; }

thead th {
  text-align: auto; }

.error {
  color: #e55; }

.warning {
  color: #e09010; }

.ok {
  color: #008000; }

div.error {
  border: 1px solid #d77; }

div.warning {
  border: 1px solid #f0c020; }

div.ok {
  border: 1px solid #00aa00; }

div.error,
tr.error {
  background: #fcc;
  color: #200; }

div.warning,
tr.warning {
  background: #ffd;
  color: #220; }

div.ok,
tr.ok {
  background: #dfd;
  color: #020; }

.form-item input.error,
.form-item textarea.error,
.form-item select.error {
  border-style: solid;
  border-color: red; }

.form-item label {
  display: block;
  font-weight: bold; }

.form-item label.option {
  display: inline;
  font-weight: normal; }

.marker,
.form-required {
  color: #f00; }

.more-link,
.more-help-link {
  text-align: right; }

.nowrap {
  white-space: nowrap; }

.item-list .pager {
  clear: both;
  text-align: center; }

.item-list .pager li {
  display: inline; }

.pager-current {
  font-weight: bold; }

dl.multiselect dt,
dl.multiselect dd {
  float: left; }

dl.multiselect dd.b,
dl.multiselect dd.b .form-item,
dl.multiselect dd.b select {
  width: 14em; }

dl.multiselect dd.a,
dl.multiselect dd.a .form-item {
  width: 8em; }

.container-inline div,
.container-inline label {
  display: inline; }

/**
 * Autocomplete styles
 */
#autocomplete {
  position: absolute;
  border: 1px solid;
  overflow: hidden;
  z-index: 100; }

#autocomplete li {
  background: #fff;
  color: #000;
  white-space: pre;
  cursor: default; }

#autocomplete li.selected {
  background: #0072b9;
  color: #fff; }

/**
 * Animated throbber
 */
html.js input.throbbing {
  background: transparent url(drupal/throbber.gif) 100% 50% no-repeat; }

/**
 * Resizable text areas
 */
.form-textarea-wrapper textarea {
  width: 100%;
  display: block;
  box-sizing: border-box; }

.resizable textarea {
  resize: vertical; }

/**
 * Table drag and drop.
 */
.draggable a.tabledrag-handle {
  cursor: move;
  float: left;
  margin-right: 10px;
  text-decoration: none; }

a.tabledrag-handle:hover {
  text-decoration: none; }

a.tabledrag-handle .handle {
  height: 20px;
  width: 20px;
  background: url(drupal/draggable.png) 0px 0px no-repeat; }

a.tabledrag-handle-hover .handle {
  background-position: 0px -20px; }

div.indentation {
  width: 20px;
  height: 20px;
  float: left;
  /* LTR */ }

div.tree-child {
  background: url(drupal/tree.png) no-repeat 10px 50%; }

div.tree-child-last {
  background: url(drupal/tree-bottom.png) no-repeat 10px 50%; }

div.tree-child-horizontal {
  background: url(drupal/tree.png) no-repeat -10px 50%; }

/**
 * Teaser splitter
 */
.joined + .grippie {
  height: 5px;
  margin-bottom: -2px; }

/* Keeps inner content contained in Opera 9. */
.teaser-checkbox {
  padding-top: 1px; }

div.teaser-button-wrapper {
  float: right;
  padding-right: 5px; }

.teaser-checkbox div.form-item {
  float: right;
  margin-right: 5px; }

textarea.teaser {
  display: none; }

html.js .no-js {
  display: none; }

/*
** Progressbar styles
*/
.progress {
  font-weight: bold; }

.progress .bar {
  background: #fff url(drupal/progress.gif);
  border: 1px solid #035;
  height: 18px; }

.progress .filled {
  background: #07b;
  height: 18px;
  width: 0%; }

.progress .percentage {
  float: right; }

.progress-disabled {
  float: left; }

.ahah-progress {
  float: left; }

.ahah-progress .throbber {
  width: 20px;
  height: 20px;
  background: transparent url(drupal/throbber.gif) 50% 50% no-repeat;
  float: left; }

.ahah-progress-bar {
  width: 16em; }

/**
 * Formatting for welcome page
 */
#first-time strong {
  display: block; }

/**
 * To be used with tableselect.js
 */
tr.selected td {
  background: #ffc; }

/**
 * Floating header for tableheader.js
 */
table.sticky-header {
  margin-top: 0px;
  background: #fff; }

/**
 * Installation clean URLs
 */
#clean-url.install {
  display: none; }

/**
 * For anything you want to hide on page load when JS is enabled, so
 * that you can use the JS to control visibility and avoid flicker.
 */
html.js .js-hide {
  display: none; }

/**
 * Styles for the system modules page (admin/build/modules)
 */
#system-modules div.incompatible,
#system-themes-form div.incompatible {
  font-weight: bold; }

/**
 * Markup free clearing
 * Details: http://perishablepress.com/press/2009/12/06/new-clearfix-hack
 */
.clearfix:after, .form-item:after, .layout-section-landing .content-top:after, .layout-section-landing .subtop:after, .layout-section-landing .content-02:after,
.layout-section-landing .content-01:after, .layout-maps .service_block_return #message:after, .layout-product .pane-node-body .field-name-body:after,
.layout-product .pane-node-body .box:after,
.layout-product .video-wrap .field-name-body:after,
.layout-product .video-wrap .box:after,
.layout-product .pdf-wrap .field-name-body:after,
.layout-product .pdf-wrap .box:after,
.layout-product .faq-wrap .field-name-body:after,
.layout-product .faq-wrap .box:after, .layout-product .view-id-product_page_tabs .tab-content .box:after, .layout-product .view-id-product_page_tabs ul.tabs:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

* html .clearfix, * html .form-item, * html .layout-section-landing .content-top, .layout-section-landing * html .content-top, * html .layout-section-landing .subtop, .layout-section-landing * html .subtop, * html .layout-section-landing .content-02, .layout-section-landing * html .content-02,
* html .layout-section-landing .content-01, .layout-section-landing * html .content-01, * html .layout-maps .service_block_return #message, .layout-maps .service_block_return * html #message, * html .layout-product .pane-node-body .field-name-body, .layout-product .pane-node-body * html .field-name-body,
* html .layout-product .pane-node-body .box, .layout-product .pane-node-body * html .box,
* html .layout-product .video-wrap .field-name-body, .layout-product .video-wrap * html .field-name-body,
* html .layout-product .video-wrap .box, .layout-product .video-wrap * html .box,
* html .layout-product .pdf-wrap .field-name-body, .layout-product .pdf-wrap * html .field-name-body,
* html .layout-product .pdf-wrap .box, .layout-product .pdf-wrap * html .box,
* html .layout-product .faq-wrap .field-name-body, .layout-product .faq-wrap * html .field-name-body,
* html .layout-product .faq-wrap .box, .layout-product .faq-wrap * html .box, * html .layout-product .view-id-product_page_tabs .tab-content .box, .layout-product .view-id-product_page_tabs .tab-content * html .box, * html .layout-product .view-id-product_page_tabs ul.tabs, .layout-product .view-id-product_page_tabs * html ul.tabs {
  height: 1%; }

/* IE6 */
*:first-child + html .clearfix, *:first-child + html .form-item, *:first-child + html .layout-section-landing .content-top, .layout-section-landing *:first-child + html .content-top, *:first-child + html .layout-section-landing .subtop, .layout-section-landing *:first-child + html .subtop, *:first-child + html .layout-section-landing .content-02, .layout-section-landing *:first-child + html .content-02,
*:first-child + html .layout-section-landing .content-01, .layout-section-landing *:first-child + html .content-01, *:first-child + html .layout-maps .service_block_return #message, .layout-maps .service_block_return *:first-child + html #message, *:first-child + html .layout-product .pane-node-body .field-name-body, .layout-product .pane-node-body *:first-child + html .field-name-body,
*:first-child + html .layout-product .pane-node-body .box, .layout-product .pane-node-body *:first-child + html .box,
*:first-child + html .layout-product .video-wrap .field-name-body, .layout-product .video-wrap *:first-child + html .field-name-body,
*:first-child + html .layout-product .video-wrap .box, .layout-product .video-wrap *:first-child + html .box,
*:first-child + html .layout-product .pdf-wrap .field-name-body, .layout-product .pdf-wrap *:first-child + html .field-name-body,
*:first-child + html .layout-product .pdf-wrap .box, .layout-product .pdf-wrap *:first-child + html .box,
*:first-child + html .layout-product .faq-wrap .field-name-body, .layout-product .faq-wrap *:first-child + html .field-name-body,
*:first-child + html .layout-product .faq-wrap .box, .layout-product .faq-wrap *:first-child + html .box, *:first-child + html .layout-product .view-id-product_page_tabs .tab-content .box, .layout-product .view-id-product_page_tabs .tab-content *:first-child + html .box, *:first-child + html .layout-product .view-id-product_page_tabs ul.tabs, .layout-product .view-id-product_page_tabs *:first-child + html ul.tabs {
  min-height: 1%; }

/* IE7 */
/**
 * update/update.css ==================================================
 */
.update .project,
.update table.version-recommended-strong .version-title {
  font-weight: bold; }

.update .version-status {
  float: right; }

.update .version-status .icon {
  padding-left: 10px; }

.update .version-date {
  white-space: nowrap; }

.update tr.error .version-recommended {
  background: #fdd; }

.update tr.warning .version-recommended {
  background: #ffe; }

.current-version,
.new-version {
  direction: ltr;
  /* Note: version numbers should always be LTR. */ }

.update tr.unknown {
  background: #ddd; }

.update table.version-security .version-title {
  color: #910; }

.update .security-error {
  font-weight: bold;
  color: #910; }

/**
 * user/user.css ======================================================
 */
#permissions td.module {
  font-weight: bold; }

#permissions td.permission {
  padding-left: 20px; }

/**
 * misc/vertical-tabs.css =============================================
 */
.vertical-tabs {
  padding-left: 200px; }

.vertical-tabs .vertical-tabs-list {
  float: left;
  width: 200px;
  margin-left: -200px; }

.vertical-tabs .vertical-tabs-panes .vertical-tabs-pane {
  margin: 0px;
  padding: 0px;
  border: 0px; }

.vertical-tabs .vertical-tabs-panes .vertical-tabs-pane legend {
  display: none; }

.vertical-tabs .vertical-tabs-list .summary {
  display: block; }

/**
 * Base styles.
 * Provides sensible defaults for everything to save you time. Override
 * with an empty stylesheet to start over from scratch.
 */
/**
 * Skip navigation ====================================================
 */
#skip-link {
  position: absolute;
  display: block; }

#skip-link a,
#skip-link a:link,
#skip-link a:visited {
  position: absolute;
  display: block;
  left: -10000px;
  width: 1px;
  height: 1px; }

#skip-link a:hover,
#skip-link a:active,
#skip-link a:focus {
  position: static;
  width: auto;
  height: auto; }

/**
 * Page width limiter =================================================
 *
 * Can be nested within major structural elements to allow full-width
 * bleeds combined with a fixed page width. Set a width on this in your
 * theme to get a consistent page width on major elements.
 */
.limiter {
  margin: 0px auto; }

/**
 * Links ==============================================================
 *
 * Any ul.links are given a horizontal tab-like formatting.
 */
ul.links li,
ul.links li a {
  float: left; }

ul.links.inline,
ul.links.inline li,
ul.links.inline li a {
  float: none;
  display: inline; }

/**
 * Tables =============================================================
 */
table {
  width: 100%;
  margin: 0px 0px 20px; }

table th,
table td {
  vertical-align: middle; }

/**
 * Forms ==============================================================
 */
input.form-submit,
label {
  font-weight: bold; }

input.form-submit {
  cursor: pointer; }

input.form-radio,
input.form-checkbox {
  vertical-align: middle; }

.form-item .description,
.description {
  color: #666;
  font-size: 11px; }

fieldset.collapsible .fieldset-title {
  cursor: pointer; }

html.js fieldset.collapsed .fieldset-content {
  display: none; }

/**
 * Views ==============================================================
 */
table.grid-2 td {
  width: 50%; }

table.grid-3 td {
  width: 33.3%; }

table.grid-4 td {
  width: 25%; }

table.grid-5 td {
  width: 20%; }

table.grid-6 td {
  width: 16.6%; }

table.grid-7 td {
  width: 14.2%; }

table.grid-8 td {
  width: 12.5%; }

/* ==========================================================================
   Base
   ========================================================================== */
/* Colors
=================================*/
/* ==========================================================================
   Variables
   ========================================================================== */
/* Fonts
=================================*/
/* Layout
=================================*/
/* ==========================================================================
Flex shortcuts
   ========================================================================== */
/* ==========================================================================
   Mixins
   ========================================================================== */
/* USAGE
@include breakpoint(xlg) { // XLARGE =================================

}//xlarge

@include breakpoint(lg) { // LARGE =================================

}//large

@include breakpoint(med) { // MEDIUM =================================

}//medium

@include breakpoint(small) { // SMALL ================================

}//small

@include breakpoint(xsmall) { // XSMALL ================================

}//xsmall
*/
.disabled {
  pointer-events: none; }

.ul-zero, .main ul.ul-zero, .main ol.ul-zero, .field-name-body ul.ul-zero, .field-name-body ol.ul-zero, .page-user ul.tabs, ul.pager, .mobile-nav ul.menu,
.mobile-nav ul.util-nav, .header .menu-name-main-menu ul.menu, .right ul.menu {
  margin: 0;
  padding: 0;
  list-style: none !important; }
  .ul-zero li, .main ul.ul-zero li, .main ol.ul-zero li, .field-name-body ul.ul-zero li, .field-name-body ol.ul-zero li, .page-user ul.tabs li, ul.pager li, .mobile-nav ul.menu li, .mobile-nav ul.util-nav li, .header .menu-name-main-menu ul.menu li, .right ul.menu li {
    list-style-type: none; }

.mobile-nav, .overlay {
  transition: all 0.2s ease-in-out; }

.view-video-gallery .views-row img, .node-type-team-member .field-name-field-headshot img {
  width: 100%;
  height: auto; }

/**
* Create a simple CSS triangle (ie8 included!)
* @todo, cleanup logic a bit.
*/
/**
* Set width, height, and background image of a compass-image
* (requires relative_assets be set to true in config.rb)
* usage: size-to-image('img/kitten.jpg')
*/
.clearfix:after, .form-item:after, .layout-section-landing .content-top:after, .layout-section-landing .subtop:after, .layout-section-landing .content-02:after,
.layout-section-landing .content-01:after, .layout-maps .service_block_return #message:after, .layout-product .pane-node-body .field-name-body:after,
.layout-product .pane-node-body .box:after,
.layout-product .video-wrap .field-name-body:after,
.layout-product .video-wrap .box:after,
.layout-product .pdf-wrap .field-name-body:after,
.layout-product .pdf-wrap .box:after,
.layout-product .faq-wrap .field-name-body:after,
.layout-product .faq-wrap .box:after, .layout-product .view-id-product_page_tabs .tab-content .box:after, .layout-product .view-id-product_page_tabs ul.tabs:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0; }

.clear {
  clear: both; }

/* Global Typography
=================================*/
body {
  font-family: "alwyn-new-web", Arial, Helvetica, sans-serif;
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1.5;
  color: #000;
  letter-spacing: 1px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff; }
  body a {
    cursor: pointer !important; }

/* @ Font imports
=================================*/
/* Type Classes (for elements that do not fit into simple area>element selectors)
=================================*/
/* Headings (for content, override Page titles etc with a class)
=================================*/
h1, .h1, .main h1, .field-name-body h1, h2, .h2, .main h2, .field-name-body h2, h3, .h3, .main h3, .field-name-body h3, h4, .h4, .main h4, .field-name-body h4, h5, .h5, .main h5, .field-name-body h5 {
  font-family: "alwyn-new-web", Arial, Helvetica, sans-serif;
  font-weight: 300;
  margin: 0;
  /*
  if you're going to use webfonts, be sure to check your weights
  http://css-tricks.com/watch-your-font-weight/
  */ }

.h1, .main h1, .field-name-body h1 {
  font-size: 3em;
  line-height: 1.1;
  margin: 0; }
  .h1.node-title, .main h1.node-title, .field-name-body h1.node-title {
    margin-bottom: 10px;
    line-height: 1.0; }

.field-name-field-subtitle {
  font-size: 1.3em; }

.h2, .main h2, .field-name-body h2 {
  margin: 0 0 20px;
  font-size: 2em;
  font-weight: 300;
  line-height: 1.2;
  color: #444; }

.h3, .main h3, .field-name-body h3 {
  font-size: 1.722em;
  margin-bottom: 0.25em; }

.h4, .main h4, .field-name-body h4 {
  font-size: 1.3em;
  font-weight: 700;
  margin-bottom: .15em; }

.h5, .main h5, .field-name-body h5 {
  font-size: 1.125em;
  line-height: 2.09em;
  text-transform: uppercase;
  letter-spacing: 2px; }

@media (max-width: 1024px) {
  .h1, .main h1, .field-name-body h1 {
    font-size: 2.85em; }
  .h2, .main h2, .field-name-body h2 {
    font-size: 2.7em; }
  .h3, .main h3, .field-name-body h3 {
    font-size: 1.68756em; }
  .h4, .main h4, .field-name-body h4 {
    font-size: 1.287em; } }

@media (max-width: 890px) {
  .h1, .main h1, .field-name-body h1 {
    font-size: 2.7em; }
  .h2, .main h2, .field-name-body h2 {
    font-size: 2.55em; }
  .h3, .main h3, .field-name-body h3 {
    font-size: 1.65312em; }
  .h4, .main h4, .field-name-body h4 {
    font-size: 1.274em; } }

@media (max-width: 768px) {
  .h1, .main h1, .field-name-body h1 {
    font-size: 2.55em; }
  .h2, .main h2, .field-name-body h2 {
    font-size: 2.4em; }
  .h3, .main h3, .field-name-body h3 {
    font-size: 1.61868em; }
  .h4, .main h4, .field-name-body h4 {
    font-size: 1.261em; } }

@media (max-width: 667px) {
  .h1, .main h1, .field-name-body h1 {
    font-size: 2.4em; }
  .h2, .main h2, .field-name-body h2 {
    font-size: 2.1em; }
  .h3, .main h3, .field-name-body h3 {
    font-size: 1.58424em; }
  .h4, .main h4, .field-name-body h4 {
    font-size: 1.248em; } }

@media (max-width: 480px) {
  .h1, .main h1, .field-name-body h1 {
    font-size: 2.25em; }
  .h2, .main h2, .field-name-body h2 {
    font-size: 1.95em; }
  .h3, .main h3, .field-name-body h3 {
    font-size: 1.5498em; }
  .h4, .main h4, .field-name-body h4 {
    font-size: 1.222em; } }

.fa {
  font-family: "alwyn-new-web", Arial, Helvetica, sans-serif;
  font-weight: 300; }
  .fa:before {
    font-family: 'FontAwesome'; }

/* links
=================================*/
a {
  color: inherit;
  text-decoration: none; }
  a[href^="tel:"] {
    pointer-events: none; }
    @media (max-width: 667px) {
      a[href^="tel:"] {
        pointer-events: auto; } }

a:visited {
  color: none; }

.more {
  color: #3f4f8f;
  text-decoration: underline;
  transition: color 0.3s ease; }
  .more:hover {
    color: #4f63b2;
    text-decoration: none; }
    .more:hover:after {
      text-decoration: none; }
  .more:after {
    content: '\00BB';
    display: inline-block;
    font-size: 1.15em;
    line-height: 1;
    letter-spacing: -2px;
    vertical-align: normal;
    text-decoration: underline; }

/* Inline
=================================*/
strong {
  font-weight: 500; }

em {
  font-style: italic; }

.small, small {
  font-size: 0.9em; }

hr {
  display: block;
  clear: both;
  border: none;
  border-top: 5px solid rgba(0, 0, 0, 0.15);
  box-shadow: 0 1px 0 #FFF;
  margin: 20px 0;
  padding: 0;
  height: auto;
  width: 100%;
  pointer-events: none; }

/* Headlines
=================================*/
/* ==========================================================================
   Page Content
   ========================================================================== */
.main, .field-name-body {
  /* Links
  =================================*/ }
  .main ul, .main ol, .field-name-body ul, .field-name-body ol {
    margin: 0 0 1.5em 3em; }
  .main p, .field-name-body p {
    line-height: 1.78571428571;
    margin: 0;
    margin-bottom: 1.21428571429em;
    word-wrap: break-word; }
  .main img, .field-name-body img {
    max-width: 100%;
    width: auto;
    height: auto;
    display: inline; }
  .main a, .field-name-body a {
    color: #666;
    font-weight: bold;
    text-decoration: underline; }
    .main a:hover, .field-name-body a:hover {
      text-decoration: none; }
    .main a.btn, .main .page-user form#user-login a.form-submit, .page-user form#user-login .main a.form-submit, .field-name-body a.btn, .field-name-body .page-user form#user-login a.form-submit, .page-user form#user-login .field-name-body a.form-submit {
      text-decoration: none; }

/* ==========================================================================
   Lists
   ========================================================================== */
.list.divider li + li:before {
  content: "|";
  padding: 0 0.8em; }

.list.inline-block li {
  display: inline-block; }

.list.inline {
  display: inline; }
  .list.inline li {
    display: inline; }

.bullet-list, .main ul, .field-name-body ul {
  display: block;
  margin: 0;
  margin-bottom: 1.21428571429em;
  padding: 0; }
  .bullet-list li, .main ul li, .field-name-body ul li {
    display: list-item;
    list-style-type: disc;
    margin: 0 0 15px 50px;
    padding: 0; }

.info-group {
  font-family: "alwyn-new-web", Arial, Helvetica, sans-serif;
  margin-bottom: 1em; }
  .info-group .info-group-heading {
    font-family: "alwyn-new-web", Arial, Helvetica, sans-serif;
    margin-bottom: 0; }
  .info-group .info-group-list {
    color: #3f4f8f;
    list-style-type: none;
    margin: 0; }

/* Definition lists (Troubleshooting) | from http://goo.gl/WctXl
=================================*/
dl {
  margin-bottom: 1em; }

dt {
  margin-bottom: 1em;
  font-weight: bold; }

dd + dt {
  margin-top: 1em; }

dl.horizontal dt {
  float: left;
  width: 28%;
  clear: left;
  text-align: right; }

dl.horizontal dd {
  margin-left: 30%;
  margin-bottom: 1.5em; }
  dl.horizontal dd:last-child {
    margin-bottom: 1em; }

dl.icon {
  display: flex;
  flex-wrap: nowrap;
  flex: 0 0 auto;
  flex-direction: row;
  clear: both;
  margin: 0 0 20px 0;
  padding: 0;
  width: 100%;
  max-width: 100%; }
  dl.icon dt {
    display: block;
    width: 80px;
    margin-right: 20px;
    line-height: 0; }
  dl.icon dd {
    display: block;
    width: auto;
    margin: 0; }
  @media (max-width: 667px) {
    dl.icon {
      flex-direction: column; }
      dl.icon dt, dl.icon dd {
        width: 100%; }
      dl.icon dt {
        margin-right: 0;
        margin-bottom: 10px;
        text-align: center; } }

/* ==========================================================================
   Warnings/ Erorors / Messages
   ========================================================================== */
/* ==========================================================================
   Buttons / Admin
   ========================================================================== */
.btn, button, input[type="submit"], .page-user form#user-login .form-submit {
  display: inline-block;
  padding: 18px 40px 17px 40px;
  background: #3f4f8f;
  color: #fff !important;
  font-family: "alwyn-new-web", Arial, Helvetica, sans-serif;
  font-size: 1.1em;
  font-weight: 500 !important;
  line-height: 1.0;
  text-align: center;
  border-radius: 25px;
  outline: none;
  cursor: pointer;
  border: none;
  outline: none; }
  .btn.lg, button.lg, input.lg[type="submit"], .page-user form#user-login .lg.form-submit {
    padding: 25px 50px 25px 50px;
    font-size: 1.5em; }
  .btn.med, button.med, input.med[type="submit"], .page-user form#user-login .med.form-submit {
    padding: 16px 25px;
    border-radius: 23px; }
  .btn.sm, button.sm, input.sm[type="submit"], .page-user form#user-login .sm.form-submit {
    padding: 7px 15px 5px;
    font-size: 0.85em; }
  .btn:hover, button:hover, input:hover[type="submit"], .page-user form#user-login .form-submit:hover {
    background: #4a5da8; }
  .btn.red, button.red, input.red[type="submit"], .page-user form#user-login .red.form-submit {
    background: #a91e23; }
    .btn.red:hover, button.red:hover, input.red:hover[type="submit"], .page-user form#user-login .red.form-submit:hover {
      background: #ba2127; }
  .btn.wht, button.wht, input.wht[type="submit"], .page-user form#user-login .wht.form-submit {
    background: #fff;
    color: #a91e23; }
    .btn.wht:hover, button.wht:hover, input.wht:hover[type="submit"], .page-user form#user-login .wht.form-submit:hover {
      background: #eee; }
  @media (max-width: 480px) {
    .btn, button, input[type="submit"], .page-user form#user-login .form-submit {
      display: block;
      padding: 17px 30px; } }

button, input[type="submit"] {
  border: 0; }

.page-user .main .inner {
  padding: 2% 4% !important; }

.page-user ul.tabs a {
  font-weight: normal;
  color: #3f4f8f;
  text-decoration: none; }
  .page-user ul.tabs a:hover {
    text-decoration: underline; }

.page-user form#user-login {
  max-width: 400px;
  margin: auto; }
  .page-user form#user-login .form-item {
    margin-bottom: 8px; }
  .page-user form#user-login label {
    text-transform: uppercase; }
  .page-user form#user-login .form-text {
    width: 100%;
    padding: 0 10px;
    height: 34px;
    font-size: 0.9em;
    background: #eee;
    border-color: #eee; }
    .page-user form#user-login .form-text.error {
      border-color: red; }

.logged-in {
  padding: 0 0 64px !important; }
  .logged-in #tabs {
    position: fixed;
    bottom: 80px;
    right: 0;
    text-align: right;
    z-index: 3000; }
    .logged-in #tabs li {
      display: block;
      width: 80px;
      margin-bottom: 1px; }
      .logged-in #tabs li a {
        display: block;
        width: 80px;
        padding: 5px 10px;
        background: #3f4f8f;
        font-size: 0.9em;
        text-align: left;
        text-decoration: none;
        color: #fff;
        box-shadow: 0 0 2px #ccc; }
        .logged-in #tabs li a:hover {
          background: #4a5da8; }
    @media (max-width: 667px) {
      .logged-in #tabs {
        display: none;
        bottom: 0; }
        .logged-in #tabs ul {
          margin: 0; }
        .logged-in #tabs li {
          display: inline-block; }
          .logged-in #tabs li a {
            padding: 2px 10px;
            text-align: center;
            font-size: 0.8em; } }

#toolbar {
  top: auto;
  bottom: 0; }
  @media (max-width: 667px) {
    #toolbar {
      display: none; } }

.form-select,
.form-textarea,
.form-text {
  display: block;
  width: 100%;
  height: auto;
  padding: 15px 15px 13px 15px;
  line-height: 1.1;
  background-color: #FFF;
  border: 1px solid #b5b5b5;
  font-family: sans-serif;
  color: #000;
  font-weight: normal;
  margin: 0;
  font-size: 0.875em;
  outline: none !important;
  border-radius: 0 !important;
  letter-spacing: 0.5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-repeat: no-repeat; }
  .form-select.error,
  .form-textarea.error,
  .form-text.error {
    border-color: #c00; }

.form-textarea {
  height: 150px;
  line-height: 1.3; }

.form-select {
  cursor: pointer;
  background-image: url(../img/form-select-bkg.png);
  background-position: center right;
  background-size: contain; }

.form-item {
  display: block;
  clear: both;
  margin: 0 0 20px 0;
  padding: 0; }
  .form-item label {
    display: block;
    clear: both;
    margin: 0 0 2px 0;
    font-weight: 500;
    line-height: 1.1;
    text-transform: uppercase;
    color: #000; }
    .form-item label .form-required {
      color: #c00; }

.error-msg {
  display: block;
  clear: both;
  background: #c00;
  color: #fff;
  padding: 10px;
  line-height: 1.1;
  margin: 0;
  font-size: 0.875em;
  font-weight: 400; }
  .error-msg .form-required {
    display: none; }

.g-map {
  display: block;
  clear: both; }

form * {
  -webkit-appearance: none;
  border-radius: 0; }

.page-node-6 .webform-client-form div {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%; }
  .page-node-6 .webform-client-form div .form-item {
    display: block;
    width: 98%;
    margin-left: 1%;
    margin-right: 1%; }
    .page-node-6 .webform-client-form div .form-item.half-col {
      width: 48%; }
    .page-node-6 .webform-client-form div .form-item.third-col {
      width: 31.33%; }

@media (max-width: 1024px) {
  .page-node-6 .webform-client-form div {
    flex-direction: column; }
    .page-node-6 .webform-client-form div .form-item.half-col,
    .page-node-6 .webform-client-form div .form-item.third-col,
    .page-node-6 .webform-client-form div .form-item {
      width: 100%;
      margin-left: 0;
      margin-right: 0; } }

/* ==========================================================================
   Global Styles
   ========================================================================== */
/* ==========================================================================
   Global (page backgrounds etc)
   ========================================================================== */
* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.page-user .main .inner, .inside, .view-id-section_landing_hero .view-content, .view-id-basic_page_hero .view-content, .view-id-project_brief_node .view-content,
.view-id-news_node .view-content,
.view-id-webinar_node .view-content,
.view-id-team_member_node .view-content, .layout-product.layout-section-landing .content-top .inner {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2%; }
  @media (max-width: 768px) {
    .page-user .main .inner, .inside, .view-id-section_landing_hero .view-content, .view-id-basic_page_hero .view-content, .view-id-project_brief_node .view-content,
    .view-id-news_node .view-content,
    .view-id-webinar_node .view-content,
    .view-id-team_member_node .view-content, .layout-product.layout-section-landing .content-top .inner {
      padding: 0 4%; } }

#container {
  display: flex;
  flex-direction: column;
  position: relative;
  right: 0;
  min-height: 100vh; }

.field-name-field-top-bg-img {
  display: none; }

.main {
  padding-top: 100px; }
  @media (max-width: 890px) {
    .main {
      padding-top: 70px; } }
  @media (max-width: 667px) {
    .main {
      padding-top: 60px; } }

ul.pager {
  display: block;
  margin-top: 25px;
  text-align: center;
  clear: both; }
  ul.pager li {
    display: inline-block;
    vertical-align: middle;
    float: none; }
    ul.pager li a {
      color: #3f4f8f; }
    ul.pager li.pager-current {
      margin: 0 10px;
      font-size: 1.2em; }

.mobile-nav {
  position: fixed;
  width: 470px;
  height: 100%;
  background: #f4f4f4;
  top: 100px;
  right: -470px;
  border-left: 2px solid #eaeaea;
  z-index: 700;
  padding-bottom: 30px;
  overflow: auto; }
  .mobile-nav.vis {
    right: 0; }
  .mobile-nav ul.menu,
  .mobile-nav ul.util-nav {
    text-align: right; }
    .mobile-nav ul.menu li a,
    .mobile-nav ul.util-nav li a {
      position: relative;
      display: block;
      padding: 20px 30px;
      font-size: 1.4em;
      color: #192556;
      border-bottom: 2px solid #eaeaea; }
      .mobile-nav ul.menu li a:before,
      .mobile-nav ul.util-nav li a:before {
        display: inline-block;
        vertical-align: middle;
        margin-right: 10px; }
      .mobile-nav ul.menu li a.order:before,
      .mobile-nav ul.util-nav li a.order:before {
        content: url(../img/icon-util-order-01.png); }
      .mobile-nav ul.menu li a.specs:before,
      .mobile-nav ul.util-nav li a.specs:before {
        content: url(../img/icon-util-specs-01.png); }
      .mobile-nav ul.menu li a.calc:before,
      .mobile-nav ul.util-nav li a.calc:before {
        content: url(../img/icon-util-calc-01.png); }
      .mobile-nav ul.menu li a.phone,
      .mobile-nav ul.util-nav li a.phone {
        color: #a91e23; }
      .mobile-nav ul.menu li a:hover, .mobile-nav ul.menu li a.active, .mobile-nav ul.menu li a.active-trail,
      .mobile-nav ul.util-nav li a:hover,
      .mobile-nav ul.util-nav li a.active,
      .mobile-nav ul.util-nav li a.active-trail {
        background: #fff; }
  .mobile-nav ul.util-nav li a {
    padding: 12px 30px;
    font-size: 1.1em; }
  .mobile-nav ul.sn-links {
    padding: 24px 30px;
    text-align: right;
    border-bottom: 2px solid #eaeaea; }
    .mobile-nav ul.sn-links li {
      display: inline-block;
      margin-left: 4%; }
      .mobile-nav ul.sn-links li a {
        font-size: 1.3em;
        color: #3f4f8f; }
        .mobile-nav ul.sn-links li a:hover {
          color: #a2acc8; }
  @media (max-width: 890px) {
    .mobile-nav {
      top: 70px; } }
  @media (max-width: 667px) {
    .mobile-nav {
      top: 60px;
      width: 300px;
      right: -300px; }
      .mobile-nav ul.menu li a,
      .mobile-nav ul.util-nav li a {
        padding: 10px 20px;
        font-size: 1.0em; }
      .mobile-nav ul.util-nav li a {
        font-size: 0.85em; }
      .mobile-nav ul.sn-links {
        padding: 10px 20px; } }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #192556;
  opacity: 0;
  z-index: 500;
  pointer-events: none; }
  .overlay.opaque {
    opacity: 0.9; }

/* ==========================================================================
   Header
   ========================================================================== */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  border-bottom: 2px solid #eee;
  z-index: 1000; }
  .header .inside {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    height: 100px;
    padding-top: 15px;
    padding-bottom: 15px; }
  .header .header-left {
    width: 30%; }
  .header a.logo {
    display: inline-block; }
    .header a.logo img {
      max-width: 100%;
      height: auto; }
      .header a.logo img.notag {
        display: none; }
  .header .header-right {
    width: 70%;
    text-align: right; }
    .header .header-right.utility {
      align-self: flex-start;
      font-size: 0.9em;
      font-weight: 500; }
      .header .header-right.utility li {
        display: inline-block;
        margin-left: 20px; }
      .header .header-right.utility a {
        padding: 3px 0 3px 30px;
        color: #192556; }
        .header .header-right.utility a.order {
          background: url(../img/icon-util-order-01.png) no-repeat 0 50%; }
        .header .header-right.utility a.specs {
          background: url(../img/icon-util-specs-01.png) no-repeat 0 50%; }
        .header .header-right.utility a.calc {
          background: url(../img/icon-util-calc-01.png) no-repeat 0 50%; }
        .header .header-right.utility a.phone {
          padding-left: 0;
          color: #a91e23; }
        .header .header-right.utility a:hover {
          text-decoration: underline; }
    .header .header-right.mobile-elements {
      display: none;
      justify-content: flex-end; }
      .header .header-right.mobile-elements .cont {
        display: inline-block;
        vertical-align: middle;
        width: 30px;
        height: 30px;
        margin-left: 17px; }
        .header .header-right.mobile-elements .cont.phone {
          width: auto; }
          .header .header-right.mobile-elements .cont.phone a {
            font-size: 1.2em;
            color: #a91e23;
            line-height: 0.8; }
            .header .header-right.mobile-elements .cont.phone a:before {
              display: inline-block;
              vertical-align: middle;
              font-size: 1.8em; }
            .header .header-right.mobile-elements .cont.phone a span {
              display: inline-block;
              vertical-align: middle;
              margin-left: 10px; }
        .header .header-right.mobile-elements .cont.mobile-trigger {
          background: url(../img/icon-mtrigger-burger-01.png) no-repeat 50% 50%; }
          .header .header-right.mobile-elements .cont.mobile-trigger.open {
            background: url(../img/icon-mtrigger-close-01.png) no-repeat 50% 50%; }
  @media (max-width: 890px) {
    .header .inside {
      height: 70px; }
    .header .header-left {
      display: flex;
      align-items: flex-end;
      width: 45%; }
    .header a.logo img.tag {
      display: none; }
    .header a.logo img.notag {
      display: block; }
    .header .header-right.utility {
      display: none; }
    .header .header-right.mobile-elements {
      display: flex; } }
  @media (max-width: 667px) {
    .header .inside {
      height: 60px; }
    .header .header-left {
      width: 70%; }
    .header .header-right.mobile-elements .cont.phone a span {
      display: none; } }

.site-search {
  position: fixed;
  top: 100px;
  left: 0;
  display: none;
  width: 100%;
  padding: 3% 0;
  background: #999;
  overflow: hidden;
  z-index: 300; }
  .site-search .close {
    width: 22px;
    height: 22px;
    margin-top: 9px;
    font-size: 2.0em;
    text-align: center;
    cursor: pointer;
    float: right; }
    .site-search .close img {
      display: block;
      float: right; }
    .site-search .close:hover {
      opacity: 0.8; }
  .site-search form {
    width: 95%;
    float: left; }
    .site-search form input[type=text] {
      width: 90%;
      height: 40px;
      padding: 0 10px;
      font-size: 1.0em;
      outline: none;
      border-radius: 3px; }
    .site-search form .form-actions {
      width: 10%;
      float: right; }
      .site-search form .form-actions input[type=submit] {
        display: block;
        width: 100%;
        height: 40px;
        background: #3f4f8f;
        font-size: 1.0em;
        color: #fff;
        text-transform: uppercase;
        border-radius: 3px; }
        .site-search form .form-actions input[type=submit]:hover {
          background: #4f63b2; }
  @media (max-width: 890px) {
    .site-search form input[type=text] {
      width: 85%; }
    .site-search form .form-actions {
      width: 15%; } }
  @media (max-width: 768px) {
    .site-search {
      top: 70px; }
      .site-search .close {
        width: 10%; }
      .site-search form {
        width: 90%; }
        .site-search form input[type=text] {
          width: 80%; }
        .site-search form .form-actions {
          width: 20%; } }
  @media (max-width: 667px) {
    .site-search form input[type=text] {
      width: 70%; }
    .site-search form .form-actions {
      width: 30%; } }
  @media (max-width: 480px) {
    .site-search form {
      width: 85%; }
      .site-search form .form-actions {
        font-size: 0.9em; } }

/* ==========================================================================
   Footer
   ========================================================================== */
.footer {
  margin-top: auto;
  border-top: 2px solid #eee;
  font-size: 0.95em; }
  .footer .inside {
    display: flex;
    justify-content: space-between;
    padding-top: 5%;
    padding-bottom: 2%; }
  .footer .foot-left a.newsletter {
    display: inline-block;
    margin: 8% 0;
    padding-left: 42px;
    background: url(../img/icon-mail-01.png) no-repeat 0 50%;
    font-size: 1.15em;
    font-weight: 500;
    color: #192556; }
    .footer .foot-left a.newsletter:hover {
      text-decoration: underline; }
  .footer .foot-left ul.legal {
    margin-bottom: 7%; }
    .footer .foot-left ul.legal li {
      display: inline-block;
      margin-right: 15px; }
      .footer .foot-left ul.legal li.home-only {
        display: none; }
        .front .footer .foot-left ul.legal li.home-only {
          display: inline-block; }
      .footer .foot-left ul.legal li a {
        padding-bottom: 4px;
        border-bottom: 2px solid #fff; }
        .footer .foot-left ul.legal li a:hover {
          border-color: #e7e7e7; }
  .footer .foot-right {
    text-align: right; }
    .footer .foot-right a.logo {
      display: inline-block;
      margin-bottom: 8%; }
    .footer .foot-right a.phone {
      display: inline-block;
      margin: 8% 0; }
    .footer .foot-right ul.sn-links li {
      display: inline-block;
      vertical-align: middle; }
      .footer .foot-right ul.sn-links li a {
        display: block;
        width: 40px;
        height: 40px;
        font-size: 1.4em;
        color: #3f4f8f;
        text-align: center;
        line-height: 1.6;
        border: 2px solid #fff;
        border-radius: 25px; }
        .footer .foot-right ul.sn-links li a:hover {
          color: #a2acc8;
          border-color: #e2e5ee; }
  @media (max-width: 768px) {
    .footer .inside {
      flex-direction: column; }
    .footer .sec {
      text-align: center; }
      .footer .sec div,
      .footer .sec ul,
      .footer .sec a {
        margin: 0 0 15px !important; }
    .footer .foot-left {
      order: 1; } }

.top-right-btm-layout {
  display: block;
  clear: both; }
  .top-right-btm-layout .content-top {
    display: block;
    clear: both; }
  .top-right-btm-layout .content {
    display: block;
    clear: both;
    padding-bottom: 60px;
    padding-top: 60px;
    background-image: url(../img/basic-body-area-bkg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    background-color: #DDD; }
    .top-right-btm-layout .content .inside {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      flex: 0 0 auto; }
    .top-right-btm-layout .content .content-area {
      display: block;
      width: 55%; }
    .top-right-btm-layout .content .right {
      display: block;
      width: 40%;
      margin-left: 5%;
      background: #fff;
      padding: 30px; }
  @media (max-width: 1024px) {
    .top-right-btm-layout .content {
      padding-bottom: 5vw;
      padding-top: 5vw; } }
  @media (max-width: 768px) {
    .top-right-btm-layout .content .inside {
      flex-direction: column; }
    .top-right-btm-layout .content .content-area {
      width: 100%;
      clear: both;
      order: 2; }
    .top-right-btm-layout .content .right {
      width: 100%;
      margin-left: 0;
      padding: 20px;
      clear: both;
      order: 1;
      margin-bottom: 20px; } }

.layout-section-landing .content-top,
.layout-section-landing .subtop,
.layout-section-landing .content-01,
.layout-section-landing .content-02 {
  display: block;
  clear: both;
  margin: 0;
  padding: 0; }

.layout-section-landing .content-top {
  display: block;
  clear: both;
  background-color: #1a2857; }
  .layout-section-landing .content-top .inside {
    max-width: none;
    padding-left: 0;
    padding-right: 0; }

.layout-section-landing .subtop {
  background: #fff;
  padding-bottom: 100px;
  padding-top: 100px; }
  .layout-section-landing .subtop p:last-child {
    margin-bottom: 0; }
  .layout-section-landing .subtop .view-id-interior_menu .item-list ul,
  .layout-section-landing .subtop ul.menu {
    display: flex;
    flex-direction: row;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    flex-wrap: wrap;
    margin: 0 0 -30px 0;
    padding: 0;
    list-style-type: none; }
    .layout-section-landing .subtop .view-id-interior_menu .item-list ul li,
    .layout-section-landing .subtop ul.menu li {
      display: block;
      width: 48%;
      margin: 0 0 30px 4%;
      padding: 0 0 0 70px;
      float: none;
      clear: none;
      position: relative;
      min-height: 50px;
      font-size: 1.667em;
      font-weight: 100;
      line-height: 1; }
      .layout-section-landing .subtop .view-id-interior_menu .item-list ul li:nth-child(2n+1),
      .layout-section-landing .subtop ul.menu li:nth-child(2n+1) {
        margin-left: 0; }
      .layout-section-landing .subtop .view-id-interior_menu .item-list ul li .views-field-field-top-bg-img, .layout-section-landing .subtop .view-id-interior_menu .item-list ul li:before,
      .layout-section-landing .subtop ul.menu li .views-field-field-top-bg-img,
      .layout-section-landing .subtop ul.menu li:before {
        content: "";
        display: block;
        width: 50px;
        height: 50px;
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateX(0) translateY(-50%);
                transform: translateX(0) translateY(-50%);
        pointer-events: none;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: contain;
        opacity: 0.8; }
      .layout-section-landing .subtop .view-id-interior_menu .item-list ul li .views-field-field-top-bg-img img,
      .layout-section-landing .subtop ul.menu li .views-field-field-top-bg-img img {
        position: absolute;
        top: 50%;
        left: 50%;
        display: inline;
        width: auto;
        height: auto;
        max-width: 48px;
        max-height: 48px;
        -webkit-transform: translateX(-50%) translateY(-50%);
                transform: translateX(-50%) translateY(-50%); }
      .layout-section-landing .subtop .view-id-interior_menu .item-list ul li a,
      .layout-section-landing .subtop ul.menu li a {
        display: inline-block;
        color: #a91e23;
        text-decoration: none;
        font-weight: 100;
        padding-top: 8px;
        padding-bottom: 8px;
        border-bottom: 2px solid #e5e5e5; }
        .layout-section-landing .subtop .view-id-interior_menu .item-list ul li a:hover,
        .layout-section-landing .subtop ul.menu li a:hover {
          border-bottom-color: #a91e23; }

.layout-section-landing .content-02,
.layout-section-landing .content-01 {
  padding-top: 100px;
  padding-bottom: 100px;
  background-image: url(../img/basic-body-area-bkg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center; }
  .layout-section-landing .content-02 h3,
  .layout-section-landing .content-01 h3 {
    color: #a91e23; }
  .layout-section-landing .content-02 .field-name-body,
  .layout-section-landing .content-01 .field-name-body {
    display: block;
    clear: both;
    margin: 0 auto;
    max-width: 800px; }
    .layout-section-landing .content-02 .field-name-body p:last-child,
    .layout-section-landing .content-01 .field-name-body p:last-child {
      margin-bottom: 0; }

.layout-section-landing .content-02 {
  background: #fff; }

@media (max-width: 1200px) {
  .layout-section-landing .subtop,
  .layout-section-landing .content-02,
  .layout-section-landing .content-01 {
    padding-bottom: 6vw;
    padding-top: 6vw; } }

@media (max-width: 1024px) {
  .layout-section-landing .subtop .view-id-interior_menu .item-list ul,
  .layout-section-landing .subtop ul.menu {
    flex-direction: column; }
    .layout-section-landing .subtop .view-id-interior_menu .item-list ul li,
    .layout-section-landing .subtop ul.menu li {
      width: 100%;
      margin-left: 0;
      margin-right: 0; }
      .layout-section-landing .subtop .view-id-interior_menu .item-list ul li a,
      .layout-section-landing .subtop ul.menu li a {
        display: block; } }

@media (max-width: 768px) {
  .layout-section-landing .subtop .view-id-interior_menu .item-list ul li,
  .layout-section-landing .subtop ul.menu li {
    font-size: 1.222em;
    min-height: 40px;
    padding-left: 60px; }
    .layout-section-landing .subtop .view-id-interior_menu .item-list ul li .views-field-field-top-bg-img, .layout-section-landing .subtop .view-id-interior_menu .item-list ul li:before,
    .layout-section-landing .subtop ul.menu li .views-field-field-top-bg-img,
    .layout-section-landing .subtop ul.menu li:before {
      width: 40px;
      height: 40px; } }

.header .menu-name-main-menu {
  position: absolute;
  bottom: 0;
  right: 2%; }
  .header .menu-name-main-menu ul.menu {
    margin: 0;
    padding: 0; }
  .header .menu-name-main-menu li {
    position: relative;
    display: inline-block;
    margin-left: 20px;
    padding-bottom: 13px; }
    .header .menu-name-main-menu li a {
      padding-bottom: 20px;
      font-size: 1.15em;
      font-weight: 300;
      color: #666;
      letter-spacing: 1px; }
    .header .menu-name-main-menu li:hover > ul {
      display: block; }
    .header .menu-name-main-menu li > ul {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      width: 240px;
      text-align: left;
      border: 2px solid #dedede;
      border-top: none; }
      .header .menu-name-main-menu li > ul li {
        display: block;
        border-top: 2px solid #dedede;
        margin: 0;
        padding: 0;
        line-height: 1.0; }
        .header .menu-name-main-menu li > ul li a {
          display: block;
          padding: 12px 20px;
          font-size: 0.85em;
          font-weight: normal;
          color: #192556 !important;
          background: #ebebeb; }
          .header .menu-name-main-menu li > ul li a:hover {
            background: #fff;
            color: #a91e23 !important; }
  @media (max-width: 890px) {
    .header .menu-name-main-menu {
      display: none; } }

.right ul.menu li {
  display: block;
  margin: 0 0 1px 0;
  padding: 0; }
  .right ul.menu li a {
    display: block;
    padding: 10px 20px;
    background: #888;
    color: #fff;
    text-decoration: none; }
    .right ul.menu li a:hover, .right ul.menu li a.active {
      background: #aaa; }

/* ==========================================================================
   Pages
   ========================================================================== */
.views-exposed-form .views-exposed-widget {
  float: none;
  padding: 0; }

.views-exposed-form .views-exposed-widget .form-submit {
  margin: 0; }

.views-exposed-form .form-item, .views-exposed-form .form-submit {
  margin: 0; }

.views-exposed-widgets {
  margin: 0; }

.view-video-gallery .views-row {
  display: inline-block;
  vertical-align: top;
  width: 27%;
  margin: 0 2%;
  text-align: center; }

.view-id-section_landing_hero {
  display: block;
  clear: both;
  background-color: #19244e;
  background-image: url(../img/view-section-landing-bkg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  position: relative; }
  .view-id-section_landing_hero .view-content {
    padding-bottom: 100px;
    padding-top: 100px;
    position: static; }
    .view-id-section_landing_hero .view-content .views-row {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      flex: 0 0 auto;
      width: 100%;
      max-width: 100%;
      margin: 0; }
      .view-id-section_landing_hero .view-content .views-row .views-field {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
        position: relative;
        z-index: 5;
        height: auto; }
        .view-id-section_landing_hero .view-content .views-row .views-field .field-content {
          display: block;
          clear: both;
          margin: auto 0;
          overflow: hidden;
          width: 100%; }
      .view-id-section_landing_hero .view-content .views-row .views-field-field-top-bg-img {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        pointer-events: none;
        background-position: left center;
        background-repeat: no-repeat;
        background-size: auto 100%;
        z-index: 1; }
        .view-id-section_landing_hero .view-content .views-row .views-field-field-top-bg-img img {
          display: none !important; }
      .view-id-section_landing_hero .view-content .views-row .views-field-title h1 {
        color: #fff;
        line-height: 1;
        margin-bottom: 15px;
        display: block;
        clear: both; }
      .view-id-section_landing_hero .view-content .views-row .views-field-title h2 {
        margin-bottom: 0;
        color: #fff;
        font-size: 1.389em;
        line-height: 1;
        display: block;
        clear: both;
        font-weight: 300; }
      .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a {
        display: block;
        clear: both;
        color: #fff;
        background-color: #5061a5;
        padding: 30px 24px 28px 24px;
        border-radius: 40px;
        text-decoration: none;
        line-height: 1;
        font-size: 1.389em;
        font-weight: 300;
        margin-bottom: 25px;
        border: 2px solid transparent;
        box-shadow: 0px 6px 6px 2px rgba(0, 0, 0, 0.2); }
        .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a:last-child {
          margin-bottom: 0 !important; }
        .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a:hover {
          color: #fff;
          border-color: #fff; }
        .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a span {
          display: block;
          clear: both;
          position: relative;
          padding-left: 68px; }
        .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a i {
          display: block;
          width: 48px;
          height: 48px;
          overflow: hidden;
          background-repeat: no-repeat;
          background-size: contain;
          background-position: 50% 50%;
          position: absolute;
          top: 50%;
          left: 0px;
          -webkit-transform: translateX(0) translateY(-50%);
                  transform: translateX(0) translateY(-50%);
          opacity: 0.5;
          pointer-events: none;
          line-height: 0;
          text-align: center; }
          .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a i img {
            display: inline;
            width: auto;
            height: auto;
            max-width: 100%;
            max-height: 100%;
            position: absolute;
            top: 50%;
            left: 0;
            -webkit-transform: translateY(-50%);
                    transform: translateY(-50%); }
  @media (max-width: 1024px) {
    .view-id-section_landing_hero .view-content {
      padding-bottom: 10vw;
      padding-top: 10vw; } }
  @media (max-width: 890px) {
    .view-id-section_landing_hero {
      background-image: url(../img/view-section-landing-bkg-mob.jpg);
      background-size: auto;
      background-repeat: repeat; }
      .view-id-section_landing_hero .view-content .views-row {
        flex-direction: column; }
        .view-id-section_landing_hero .view-content .views-row .views-field {
          flex: 0 0 auto;
          width: 100%;
          max-width: 100%; }
        .view-id-section_landing_hero .view-content .views-row .views-field-field-top-bg-img {
          display: none !important; }
        .view-id-section_landing_hero .view-content .views-row .views-field-title {
          margin-bottom: 30px; }
        .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a {
          padding: 24px 24px 22px 24px;
          margin-bottom: 20px;
          border-radius: 50px; }
          .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a i {
            left: -5px;
            width: 35px;
            height: 35px; }
          .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a span {
            padding-left: 50px; } }
  @media (max-width: 667px) {
    .view-id-section_landing_hero .view-content {
      padding-bottom: 35px;
      padding-top: 35px; }
      .view-id-section_landing_hero .view-content .views-row {
        margin-bottom: 10px; }
        .view-id-section_landing_hero .view-content .views-row:last-child {
          margin-bottom: 0; }
        .view-id-section_landing_hero .view-content .views-row .views-field-title {
          margin-bottom: 20px; }
          .view-id-section_landing_hero .view-content .views-row .views-field-title h2 {
            font-size: 1.222em; }
        .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a {
          border-radius: 25px;
          padding: 18px;
          padding-bottom: 16px;
          font-size: 1.222em; }
          .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a i {
            left: -10px; }
          .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a span {
            padding-left: 40px; } }
  @media (max-width: 480px) {
    .view-id-section_landing_hero .view-content {
      padding-bottom: 25px;
      padding-top: 25px; }
      .view-id-section_landing_hero .view-content .views-row .views-field-title-1 a {
        font-size: 1.056em; } }

.view-section-landing-subtop {
  display: block;
  clear: both;
  margin: 0 0 60px 0;
  padding: 60px;
  background-color: #fff;
  overflow: hidden; }
  .view-section-landing-subtop .view-content {
    display: block;
    clear: both;
    margin: 0; }
    .view-section-landing-subtop .view-content .views-row {
      display: flex;
      flex-direction: row;
      flex: 0 0 auto;
      flex-wrap: nowrap; }
      .view-section-landing-subtop .view-content .views-row .views-field {
        display: flex;
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
        flex-direction: column;
        flex-wrap: nowrap; }
        .view-section-landing-subtop .view-content .views-row .views-field .field-content {
          display: block;
          margin: auto 0;
          width: 100%;
          height: auto;
          position: relative;
          overflow: hidden; }
        .view-section-landing-subtop .view-content .views-row .views-field.views-field-field-subtop-image {
          pointer-events: none;
          position: relative;
          text-align: center; }
          .view-section-landing-subtop .view-content .views-row .views-field.views-field-field-subtop-image:before {
            content: "";
            display: block;
            background-image: url(../img/waves-bg-grey-side-01-opt.png);
            background-repeat: no-repeat;
            width: 135px;
            height: 74px;
            position: absolute;
            top: 50%;
            left: -60px;
            z-index: 1;
            -webkit-transform: translateX(0) translateY(-50%);
                    transform: translateX(0) translateY(-50%); }
          .view-section-landing-subtop .view-content .views-row .views-field.views-field-field-subtop-image:after {
            content: "";
            display: block;
            background-image: url(../img/waves-bg-grey-side-01-opt.png);
            background-repeat: no-repeat;
            width: 135px;
            height: 74px;
            position: absolute;
            top: 50%;
            right: -60px;
            z-index: 1;
            -webkit-transform: translateX(0) translateY(-50%);
                    transform: translateX(0) translateY(-50%); }
          .view-section-landing-subtop .view-content .views-row .views-field.views-field-field-subtop-image .field-content {
            z-index: 5; }
            .view-section-landing-subtop .view-content .views-row .views-field.views-field-field-subtop-image .field-content img {
              display: block;
              width: 100%;
              height: auto;
              max-width: none; }
        .view-section-landing-subtop .view-content .views-row .views-field.views-field-field-subtop-content .field-content {
          padding-left: 100px; }
          .view-section-landing-subtop .view-content .views-row .views-field.views-field-field-subtop-content .field-content p:last-child {
            margin-bottom: 0; }
  @media (max-width: 1200px) {
    .view-section-landing-subtop {
      margin-bottom: 5vw;
      padding: 40px; } }
  @media (max-width: 890px) {
    .view-section-landing-subtop {
      padding: 35px; }
      .view-section-landing-subtop .view-content .views-row {
        flex-direction: column; }
        .view-section-landing-subtop .view-content .views-row .views-field {
          flex: 0 0 auto;
          max-width: 100%;
          width: 100%; }
          .view-section-landing-subtop .view-content .views-row .views-field.views-field-field-subtop-image:before {
            display: none; }
          .view-section-landing-subtop .view-content .views-row .views-field.views-field-field-subtop-image:after {
            display: none; }
          .view-section-landing-subtop .view-content .views-row .views-field.views-field-field-subtop-content {
            padding-top: 20px; }
            .view-section-landing-subtop .view-content .views-row .views-field.views-field-field-subtop-content .field-content {
              padding-left: 0; } }
  @media (max-width: 768px) {
    .view-section-landing-subtop {
      padding: 30px; } }
  @media (max-width: 667px) {
    .view-section-landing-subtop {
      padding: 25px; } }
  @media (max-width: 480px) {
    .view-section-landing-subtop {
      padding: 20px; } }

.view-id-basic_page_hero {
  display: block;
  clear: both;
  margin: 0;
  background-color: #1a2857;
  background-image: url(../img/basic-hero-area-bkg.jpg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  color: #fff;
  position: relative; }
  .view-id-basic_page_hero:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 50%;
    background: #131f47;
    opacity: 0.4;
    pointer-events: none;
    z-index: 1; }
  .view-id-basic_page_hero .view-content {
    padding-bottom: 100px;
    padding-top: 100px;
    position: relative;
    z-index: 5; }
    .view-id-basic_page_hero .view-content .views-row {
      display: flex;
      flex-direction: row;
      flex: 0 0 auto;
      flex-wrap: nowrap;
      width: 100%;
      max-width: 100%; }
      .view-id-basic_page_hero .view-content .views-row .views-field {
        display: flex;
        flex-direction: column;
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
        margin: 0;
        padding: 0;
        flex-wrap: nowrap; }
        .view-id-basic_page_hero .view-content .views-row .views-field .field-content {
          display: block;
          margin: auto 0;
          overflow: hidden; }
        .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img {
          pointer-events: none;
          opacity: 0.19; }
          .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img .field-content {
            display: flex;
            flex-direction: row;
            flex: 0 0 auto;
            width: 100%;
            max-width: 100%;
            flex-wrap: nowrap; }
            .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img .field-content div.left,
            .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img .field-content div.right {
              display: flex;
              flex-direction: column;
              flex: 0 0 50%;
              width: 50%;
              max-width: 50%;
              flex-wrap: nowrap;
              line-height: 0; }
              .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img .field-content div.left .box,
              .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img .field-content div.right .box {
                display: block;
                margin: auto 0; }
            .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img .field-content div.left .box {
              padding-right: 10px; }
            .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img .field-content div.right {
              text-align: right; }
        .view-id-basic_page_hero .view-content .views-row .views-field.views-field-title h1 {
          color: #fff;
          line-height: 1;
          margin-bottom: 15px;
          display: block;
          clear: both; }
        .view-id-basic_page_hero .view-content .views-row .views-field.views-field-title h2 {
          margin-bottom: 0;
          color: #fff;
          font-size: 1.389em;
          line-height: 1;
          display: block;
          clear: both;
          font-weight: 300; }
  @media (max-width: 1200px) {
    .view-id-basic_page_hero .view-content {
      padding-bottom: 6vw;
      padding-top: 6vw; } }
  @media (max-width: 1024px) {
    .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img .field-content {
      flex-direction: column; }
      .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img .field-content div.left {
        display: none; }
      .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img .field-content div.right {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
        text-align: center; }
        .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img .field-content div.right .box {
          padding-left: 15px; } }
  @media (max-width: 768px) {
    .view-id-basic_page_hero:before {
      display: none; }
    .view-id-basic_page_hero .view-content .views-row .views-field.views-field-title {
      flex: 0 0 75%;
      width: 75%;
      max-width: 75%; }
      .view-id-basic_page_hero .view-content .views-row .views-field.views-field-title h2 {
        font-size: 1.222em; }
    .view-id-basic_page_hero .view-content .views-row .views-field.views-field-field-top-bg-img {
      flex: 0 0 25%;
      width: 25%;
      max-width: 25%; } }

.view-id-project_briefs_basic_page {
  display: block;
  clear: both; }
  .view-id-project_briefs_basic_page .view-content {
    display: block;
    clear: both; }
    .view-id-project_briefs_basic_page .view-content .views-row {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      flex: 0 0 auto;
      margin: 0 0 60px 0;
      padding: 0;
      background: #fff; }
      .view-id-project_briefs_basic_page .view-content .views-row:last-child {
        margin-bottom: 0; }
      .view-id-project_briefs_basic_page .view-content .views-row .views-field {
        display: flex;
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
        flex-direction: column;
        flex-wrap: nowrap; }
        .view-id-project_briefs_basic_page .view-content .views-row .views-field .field-content {
          display: block;
          margin: auto 0;
          padding: 60px; }
        .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title h3 {
          color: #a91e23;
          line-height: 1.25; }
          .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title h3 a {
            color: #a91e23;
            text-decoration: none; }
            .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title h3 a:hover {
              text-decoration: underline; }
        .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title .body {
          display: block;
          margin-bottom: 20px; }
          .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title .body p:last-child {
            margin-bottom: 0; }
        .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title .btn, .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title button, .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title input[type="submit"], .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title .page-user form#user-login .form-submit, .page-user form#user-login .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title .form-submit {
          margin: 10px 2px 0 2px; }
        .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title p.last {
          margin-bottom: 0; }
        .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-field-image {
          text-align: center;
          line-height: 0; }
          .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-field-image .field-content {
            padding-right: 0; }
            .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-field-image .field-content a {
              display: inline-block; }
      .view-id-project_briefs_basic_page .view-content .views-row.views-row-even .views-field.views-field-title {
        order: 1; }
      .view-id-project_briefs_basic_page .view-content .views-row.views-row-even .views-field.views-field-field-image {
        order: 2; }
        .view-id-project_briefs_basic_page .view-content .views-row.views-row-even .views-field.views-field-field-image .field-content {
          padding-right: 60px;
          padding-left: 0; }
  @media (max-width: 1200px) {
    .view-id-project_briefs_basic_page .view-content .views-row {
      margin-bottom: 6vw; }
      .view-id-project_briefs_basic_page .view-content .views-row:last-child {
        margin-bottom: 0; }
      .view-id-project_briefs_basic_page .view-content .views-row .views-field .field-content {
        padding: 5vw; }
      .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-field-image .field-content {
        padding-right: 0; } }
  @media (max-width: 1024px) {
    .view-id-project_briefs_basic_page .view-content .views-row {
      flex-direction: column; }
      .view-id-project_briefs_basic_page .view-content .views-row .views-field {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%; }
        .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-title {
          order: 1 !important; }
        .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-field-image {
          order: 2 !important; }
          .view-id-project_briefs_basic_page .view-content .views-row .views-field.views-field-field-image .field-content {
            padding: 5vw !important;
            padding-top: 0 !important; } }

body.page-node-51 .view-id-project_briefs_basic_page {
  margin-top: 40px; }

.view-id-project_brief_download_button {
  display: block;
  clear: both;
  margin: 20px 0 0 0; }
  .view-id-project_brief_download_button .view-content {
    display: block;
    margin: 0 auto;
    max-width: 800px; }

.view-id-_specification_document {
  display: block;
  clear: both; }
  .view-id-_specification_document .view-grouping {
    display: block;
    margin: 0 0 40px 0; }
    .view-id-_specification_document .view-grouping:last-child {
      margin-bottom: 0; }
    .view-id-_specification_document .view-grouping .view-grouping-header {
      font-size: 2em;
      display: block;
      clear: both;
      margin: 0 0 10px 0;
      padding: 0; }
    .view-id-_specification_document .view-grouping .view-grouping-content {
      display: block;
      clear: both;
      background-color: #fff;
      padding: 30px 30px 1px 30px; }
      .view-id-_specification_document .view-grouping .view-grouping-content .views-row {
        display: block;
        clear: both;
        margin: 0 0 14px 0; }
        .view-id-_specification_document .view-grouping .view-grouping-content .views-row.views-row-last {
          margin-bottom: 30px; }
        .view-id-_specification_document .view-grouping .view-grouping-content .views-row a {
          display: inline-block;
          color: #a91e23;
          font-weight: 300;
          text-decoration: none;
          line-height: 1.1;
          font-size: 1.125em;
          position: relative;
          padding-bottom: 4px;
          border-bottom: 2px solid #e5e5e5; }
          .view-id-_specification_document .view-grouping .view-grouping-content .views-row a:hover {
            border-bottom-color: #a91e23; }
    .view-id-_specification_document .view-grouping h3 {
      font-weight: 300;
      display: block;
      margin: 0 0 10px 0;
      padding: 10px;
      color: #fff;
      font-size: 1.3em;
      line-height: 1.1;
      background: #192556; }

.webinar-view-top-events {
  display: block;
  margin-top: 40px; }

.view-id-events,
.view-id-webinar_list {
  display: block;
  clear: both; }
  .view-id-events .view-content,
  .view-id-webinar_list .view-content {
    display: block;
    clear: both; }
    .view-id-events .view-content .views-row,
    .view-id-webinar_list .view-content .views-row {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      flex: 0 0 auto;
      max-width: 100%;
      padding: 60px;
      background: #fff;
      margin: 40px 0 0 0; }
      .view-id-events .view-content .views-row .views-field,
      .view-id-webinar_list .view-content .views-row .views-field {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap; }
        .view-id-events .view-content .views-row .views-field .field-content,
        .view-id-webinar_list .view-content .views-row .views-field .field-content {
          display: block;
          margin: auto 0;
          width: 100%; }
        .view-id-events .view-content .views-row .views-field.views-field-field-image-webinar,
        .view-id-webinar_list .view-content .views-row .views-field.views-field-field-image-webinar {
          flex: 0 0 48%;
          max-width: 48%;
          width: 48%;
          order: 1;
          flex-direction: row; }
          .view-id-events .view-content .views-row .views-field.views-field-field-image-webinar img,
          .view-id-webinar_list .view-content .views-row .views-field.views-field-field-image-webinar img {
            display: block;
            width: 100%;
            height: auto;
            max-width: none;
            outline: none;
            pointer-events: none; }
        .view-id-events .view-content .views-row .views-field.views-field-nothing,
        .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing {
          flex: 0 0 52%;
          width: 52%;
          max-width: 52%;
          order: 2; }
          .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content,
          .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content {
            padding-left: 5%;
            padding-right: 5%; }
            .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row,
            .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row {
              display: block;
              clear: both; }
              .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row.title,
              .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row.title {
                margin-bottom: 10px; }
                .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row.title a,
                .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row.title a {
                  color: #a91e23;
                  text-decoration: none; }
                  .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row.title a:hover,
                  .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row.title a:hover {
                    text-decoration: underline; }
                .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row.title h3,
                .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row.title h3 {
                  margin: 0;
                  color: #a91e23;
                  font-weight: 700;
                  text-decoration: none;
                  line-height: 1.1; }
              .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row.subtitle,
              .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row.subtitle {
                font-weight: 700;
                margin-bottom: 10px; }
              .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row.location, .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row.preview,
              .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row.location,
              .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row.preview {
                margin-bottom: 20px;
                font-size: 0.889em; }
              .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row.date,
              .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row.date {
                margin-bottom: 5px;
                font-weight: 400;
                font-size: 0.950rem; }
                .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row.date span,
                .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row.date span {
                  display: inline-block;
                  padding: 6px 8px;
                  background: #e5e5e5;
                  color: #666;
                  border-radius: 6px;
                  font-weight: 400; }
                  .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row.date span:before,
                  .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row.date span:before {
                    margin-right: 8px;
                    font-weight: normal; }
              .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row .btn, .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row button, .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row input[type="submit"], .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row .page-user form#user-login .form-submit, .page-user form#user-login .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row .form-submit,
              .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row .btn,
              .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row button,
              .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row input[type="submit"],
              .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row .page-user form#user-login .form-submit,
              .page-user form#user-login .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row .form-submit {
                margin: 10px 15px 0 0; }
      .view-id-events .view-content .views-row.views-row-even .views-field.views-field-field-image-webinar,
      .view-id-webinar_list .view-content .views-row.views-row-even .views-field.views-field-field-image-webinar {
        order: 2; }
      .view-id-events .view-content .views-row.views-row-even .views-field.views-field-nothing,
      .view-id-webinar_list .view-content .views-row.views-row-even .views-field.views-field-nothing {
        order: 1; }
  @media (max-width: 890px) {
    .view-id-events .view-content .views-row,
    .view-id-webinar_list .view-content .views-row {
      padding: 30px;
      margin-top: 30px; } }
  @media (max-width: 768px) {
    .view-id-events .view-content .views-row,
    .view-id-webinar_list .view-content .views-row {
      padding: 20px; }
      .view-id-events .view-content .views-row.views-row-even .views-field.views-field-field-image-webinar,
      .view-id-webinar_list .view-content .views-row.views-row-even .views-field.views-field-field-image-webinar {
        order: 1; }
      .view-id-events .view-content .views-row.views-row-even .views-field.views-field-nothing,
      .view-id-webinar_list .view-content .views-row.views-row-even .views-field.views-field-nothing {
        order: 2; }
      .view-id-events .view-content .views-row .views-field,
      .view-id-webinar_list .view-content .views-row .views-field {
        flex-direction: row; }
        .view-id-events .view-content .views-row .views-field.views-field-field-image-webinar, .view-id-events .view-content .views-row .views-field.views-field-nothing,
        .view-id-webinar_list .view-content .views-row .views-field.views-field-field-image-webinar,
        .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing {
          flex: 0 0 auto;
          width: 100%;
          max-width: 100%; }
        .view-id-events .view-content .views-row .views-field.views-field-field-image-webinar,
        .view-id-webinar_list .view-content .views-row .views-field.views-field-field-image-webinar {
          margin-bottom: 20px; }
        .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content,
        .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content {
          padding: 0; } }
  @media (max-width: 667px) {
    .view-id-events .view-content .views-row,
    .view-id-webinar_list .view-content .views-row {
      padding: 15px;
      margin-top: 20px; }
      .view-id-events .view-content .views-row .views-field.views-field-field-image-webinar,
      .view-id-webinar_list .view-content .views-row .views-field.views-field-field-image-webinar {
        margin-bottom: 10px; }
      .view-id-events .view-content .views-row .views-field.views-field-nothing .field-content .row.date,
      .view-id-webinar_list .view-content .views-row .views-field.views-field-nothing .field-content .row.date {
        margin-bottom: 10px; } }

.view-id-news_landing_page {
  display: block;
  clear: both; }
  .view-id-news_landing_page .view-content {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    justify-content: center; }
    .view-id-news_landing_page .view-content .views-row {
      display: flex;
      flex-wrap: nowrap;
      flex-direction: row;
      flex: 0 0 48%;
      width: 48%;
      max-width: 48%;
      margin: 40px 0 0 0;
      padding: 0;
      background: #fff; }
      .view-id-news_landing_page .view-content .views-row:nth-child(2n+1) {
        margin-right: 4%; }
      .view-id-news_landing_page .view-content .views-row .views-field {
        display: block;
        margin: auto 0; }
        .view-id-news_landing_page .view-content .views-row .views-field .field-content {
          display: block;
          width: 100%;
          margin: auto 0; }
        .view-id-news_landing_page .view-content .views-row .views-field.views-field-field-image {
          width: 40%; }
          .view-id-news_landing_page .view-content .views-row .views-field.views-field-field-image .field-content {
            padding: 10px;
            padding-right: 0; }
          .view-id-news_landing_page .view-content .views-row .views-field.views-field-field-image img {
            display: block;
            width: 100%;
            height: auto;
            margin: auto;
            max-width: none; }
        .view-id-news_landing_page .view-content .views-row .views-field.views-field-nothing {
          width: 60%;
          justify-content: center; }
          .view-id-news_landing_page .view-content .views-row .views-field.views-field-nothing .field-content {
            padding: 30px; }
            .view-id-news_landing_page .view-content .views-row .views-field.views-field-nothing .field-content .row {
              display: block;
              clear: both; }
              .view-id-news_landing_page .view-content .views-row .views-field.views-field-nothing .field-content .row.title {
                margin-bottom: 5px; }
                .view-id-news_landing_page .view-content .views-row .views-field.views-field-nothing .field-content .row.title a {
                  text-decoration: none;
                  color: #a91e23; }
                  .view-id-news_landing_page .view-content .views-row .views-field.views-field-nothing .field-content .row.title a:hover {
                    text-decoration: underline; }
                .view-id-news_landing_page .view-content .views-row .views-field.views-field-nothing .field-content .row.title h4 {
                  text-decoration: none;
                  line-height: 1.2;
                  font-weight: 500;
                  color: #a91e23;
                  margin: 0; }
  @media (max-width: 768px) {
    .view-id-news_landing_page .view-content {
      flex-direction: column;
      justify-content: flex-start; }
      .view-id-news_landing_page .view-content .views-row {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
        margin-right: 0 !important;
        margin-top: 20px; } }
  @media (max-width: 667px) {
    .view-id-news_landing_page .view-content .views-row {
      flex-direction: column; }
      .view-id-news_landing_page .view-content .views-row .views-field.views-field-field-image, .view-id-news_landing_page .view-content .views-row .views-field.views-field-nothing {
        width: 100%; }
      .view-id-news_landing_page .view-content .views-row .views-field.views-field-field-image .field-content {
        padding: 30px;
        padding-bottom: 0; } }

.pane-node-field-date-career {
  display: block;
  max-width: 800px;
  margin: 0 auto 20px auto;
  font-size: 1.125em;
  font-weight: 500; }
  .pane-node-field-date-career * {
    display: inline; }

.career-apply-cta {
  display: block;
  clear: both;
  max-width: 800px;
  margin: 20px auto 0 auto; }

.view-id-careers_list {
  display: block;
  clear: both;
  padding: 0 2%; }
  .view-id-careers_list .view-content {
    max-width: 800px;
    margin: 10px auto 0 auto;
    display: block;
    background: #fff;
    padding: 30px; }
    .view-id-careers_list .view-content .views-row {
      display: block;
      clear: both;
      margin: 0 0 10px 0; }
      .view-id-careers_list .view-content .views-row:last-child {
        margin-bottom: 0; }
      .view-id-careers_list .view-content .views-row a {
        color: #a91e23;
        font-weight: 300;
        text-decoration: none;
        line-height: 1.1;
        font-size: 1.3em;
        position: relative;
        padding-bottom: 4px;
        border-bottom: 2px solid #e5e5e5; }
        .view-id-careers_list .view-content .views-row a:hover {
          border-bottom-color: #a91e23; }

.view-id-team {
  display: block;
  clear: both; }
  .view-id-team .view-content {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    justify-content: center; }
    .view-id-team .view-content .views-row {
      display: flex;
      flex-wrap: nowrap;
      flex-direction: row;
      flex: 0 0 48%;
      width: 48%;
      max-width: 48%;
      margin: 40px 0 0 0;
      background: #fff; }
      .view-id-team .view-content .views-row:nth-child(2n+1) {
        margin-right: 4%; }
      .view-id-team .view-content .views-row .field-content {
        display: block;
        margin: auto 0; }
        .view-id-team .view-content .views-row .field-content .row {
          display: block;
          clear: both; }
          .view-id-team .view-content .views-row .field-content .row.name {
            margin-bottom: 5px; }
            .view-id-team .view-content .views-row .field-content .row.name h3 {
              margin: 0;
              line-height: 1.1;
              font-weight: 500;
              color: #a91e23;
              display: inline-block; }
            .view-id-team .view-content .views-row .field-content .row.name a {
              color: #a91e23;
              text-decoration: none;
              font-weight: 500;
              display: inline-block; }
              .view-id-team .view-content .views-row .field-content .row.name a:hover {
                text-decoration: underline; }
          .view-id-team .view-content .views-row .field-content .row.title {
            font-weight: 500;
            font-size: 1.125em;
            color: #666; }
      .view-id-team .view-content .views-row .views-field {
        display: block;
        margin: auto 0; }
        .view-id-team .view-content .views-row .views-field.views-field-field-headshot {
          width: 40%; }
          .view-id-team .view-content .views-row .views-field.views-field-field-headshot img {
            display: block;
            width: 100%;
            height: auto;
            max-width: none; }
        .view-id-team .view-content .views-row .views-field.views-field-nothing {
          width: 60%; }
          .view-id-team .view-content .views-row .views-field.views-field-nothing .field-content {
            padding: 30px; }
  @media (max-width: 890px) {
    .view-id-team .view-content {
      flex-direction: column;
      justify-content: flex-start; }
      .view-id-team .view-content .views-row {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
        margin-right: 0 !important;
        margin-top: 20px; } }
  @media (max-width: 667px) {
    .view-id-team .view-content .views-row {
      flex-direction: column; }
      .view-id-team .view-content .views-row .views-field.views-field-field-headshot, .view-id-team .view-content .views-row .views-field.views-field-nothing {
        width: 100%; }
      .view-id-team .view-content .views-row .views-field.views-field-nothing .field-content {
        padding: 20px; } }

.view-id-project_brief_node,
.view-id-news_node,
.view-id-webinar_node,
.view-id-team_member_node {
  display: block;
  clear: both;
  background-color: #19244e;
  background-image: url(../img/basic-hero-area-bkg.jpg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover; }
  .view-id-project_brief_node .view-content,
  .view-id-news_node .view-content,
  .view-id-webinar_node .view-content,
  .view-id-team_member_node .view-content {
    position: relative;
    padding-bottom: 100px;
    padding-top: 100px; }
    .view-id-project_brief_node .view-content .views-row,
    .view-id-news_node .view-content .views-row,
    .view-id-webinar_node .view-content .views-row,
    .view-id-team_member_node .view-content .views-row {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      flex: 0 0 auto;
      width: 100%;
      max-width: 100%;
      background-color: #fff; }
      .view-id-project_brief_node .view-content .views-row .views-field,
      .view-id-news_node .view-content .views-row .views-field,
      .view-id-webinar_node .view-content .views-row .views-field,
      .view-id-team_member_node .view-content .views-row .views-field {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        height: auto; }
        .view-id-project_brief_node .view-content .views-row .views-field .field-content,
        .view-id-news_node .view-content .views-row .views-field .field-content,
        .view-id-webinar_node .view-content .views-row .views-field .field-content,
        .view-id-team_member_node .view-content .views-row .views-field .field-content {
          display: block;
          width: 100%;
          margin: auto 0; }
        .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing,
        .view-id-news_node .view-content .views-row .views-field.views-field-nothing,
        .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing,
        .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing {
          flex: 0 0 auto;
          width: auto;
          max-width: calc(100% - 350px);
          flex-direction: column; }
          .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content,
          .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content,
          .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content,
          .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content {
            padding: 30px; }
            .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row,
            .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row,
            .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row,
            .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row {
              display: block;
              clear: both; }
              .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row h1,
              .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row h1,
              .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row h1,
              .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row h1 {
                color: #3f4f8f; }
              .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.last,
              .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.last,
              .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.last,
              .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.last {
                margin-bottom: 0 !important; }
              .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.title,
              .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.title,
              .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.title,
              .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.title {
                margin-bottom: 5px; }
              .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.job-title,
              .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.job-title,
              .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.job-title,
              .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.job-title {
                font-weight: 500;
                font-size: 1.3em;
                color: #666;
                margin-bottom: 10px; }
              .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date, .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone,
              .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date,
              .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone,
              .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date,
              .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone,
              .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date,
              .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone {
                text-transform: uppercase;
                color: #a91e23;
                line-height: 1.2; }
                .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date span.fa, .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone span.fa,
                .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date span.fa,
                .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone span.fa,
                .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date span.fa,
                .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone span.fa,
                .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date span.fa,
                .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone span.fa {
                  font-weight: 500;
                  line-height: 1.2; }
                  .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date span.fa:before, .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone span.fa:before,
                  .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date span.fa:before,
                  .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone span.fa:before,
                  .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date span.fa:before,
                  .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone span.fa:before,
                  .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date span.fa:before,
                  .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.phone span.fa:before {
                    font-weight: normal;
                    margin-right: 5px; }
              .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date,
              .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date,
              .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date,
              .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date {
                color: #666;
                font-size: 1.125em;
                margin-bottom: 20px; }
              .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.pdf,
              .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.pdf,
              .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.pdf,
              .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.pdf {
                margin-top: 20px; }
        .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-image, .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-image-webinar, .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-headshot,
        .view-id-news_node .view-content .views-row .views-field.views-field-field-image,
        .view-id-news_node .view-content .views-row .views-field.views-field-field-image-webinar,
        .view-id-news_node .view-content .views-row .views-field.views-field-field-headshot,
        .view-id-webinar_node .view-content .views-row .views-field.views-field-field-image,
        .view-id-webinar_node .view-content .views-row .views-field.views-field-field-image-webinar,
        .view-id-webinar_node .view-content .views-row .views-field.views-field-field-headshot,
        .view-id-team_member_node .view-content .views-row .views-field.views-field-field-image,
        .view-id-team_member_node .view-content .views-row .views-field.views-field-field-image-webinar,
        .view-id-team_member_node .view-content .views-row .views-field.views-field-field-headshot {
          flex: 0 0 350px;
          max-width: 350px;
          width: 350px;
          margin: 0 0 0 auto; }
          .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-image img, .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-image-webinar img, .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-headshot img,
          .view-id-news_node .view-content .views-row .views-field.views-field-field-image img,
          .view-id-news_node .view-content .views-row .views-field.views-field-field-image-webinar img,
          .view-id-news_node .view-content .views-row .views-field.views-field-field-headshot img,
          .view-id-webinar_node .view-content .views-row .views-field.views-field-field-image img,
          .view-id-webinar_node .view-content .views-row .views-field.views-field-field-image-webinar img,
          .view-id-webinar_node .view-content .views-row .views-field.views-field-field-headshot img,
          .view-id-team_member_node .view-content .views-row .views-field.views-field-field-image img,
          .view-id-team_member_node .view-content .views-row .views-field.views-field-field-image-webinar img,
          .view-id-team_member_node .view-content .views-row .views-field.views-field-field-headshot img {
            display: block;
            width: 100%;
            height: auto;
            margin: 0;
            pointer-events: none; }
  @media (max-width: 1024px) {
    .view-id-project_brief_node .view-content,
    .view-id-news_node .view-content,
    .view-id-webinar_node .view-content,
    .view-id-team_member_node .view-content {
      padding-bottom: 10vw;
      padding-top: 10vw; } }
  @media (max-width: 890px) {
    .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-image, .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-image-webinar, .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-headshot,
    .view-id-news_node .view-content .views-row .views-field.views-field-field-image,
    .view-id-news_node .view-content .views-row .views-field.views-field-field-image-webinar,
    .view-id-news_node .view-content .views-row .views-field.views-field-field-headshot,
    .view-id-webinar_node .view-content .views-row .views-field.views-field-field-image,
    .view-id-webinar_node .view-content .views-row .views-field.views-field-field-image-webinar,
    .view-id-webinar_node .view-content .views-row .views-field.views-field-field-headshot,
    .view-id-team_member_node .view-content .views-row .views-field.views-field-field-image,
    .view-id-team_member_node .view-content .views-row .views-field.views-field-field-image-webinar,
    .view-id-team_member_node .view-content .views-row .views-field.views-field-field-headshot {
      flex: 0 0 40%;
      width: 40%;
      max-width: 40%; }
    .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing,
    .view-id-news_node .view-content .views-row .views-field.views-field-nothing,
    .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing,
    .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing {
      flex: 0 0 60%;
      width: 60%;
      max-width: 60%; } }
  @media (max-width: 667px) {
    .view-id-project_brief_node .view-content,
    .view-id-news_node .view-content,
    .view-id-webinar_node .view-content,
    .view-id-team_member_node .view-content {
      padding-bottom: 20px;
      padding-top: 20px; }
      .view-id-project_brief_node .view-content .views-row,
      .view-id-news_node .view-content .views-row,
      .view-id-webinar_node .view-content .views-row,
      .view-id-team_member_node .view-content .views-row {
        flex-direction: column; }
        .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-image, .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-image-webinar, .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-headshot, .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing,
        .view-id-news_node .view-content .views-row .views-field.views-field-field-image,
        .view-id-news_node .view-content .views-row .views-field.views-field-field-image-webinar,
        .view-id-news_node .view-content .views-row .views-field.views-field-field-headshot,
        .view-id-news_node .view-content .views-row .views-field.views-field-nothing,
        .view-id-webinar_node .view-content .views-row .views-field.views-field-field-image,
        .view-id-webinar_node .view-content .views-row .views-field.views-field-field-image-webinar,
        .view-id-webinar_node .view-content .views-row .views-field.views-field-field-headshot,
        .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing,
        .view-id-team_member_node .view-content .views-row .views-field.views-field-field-image,
        .view-id-team_member_node .view-content .views-row .views-field.views-field-field-image-webinar,
        .view-id-team_member_node .view-content .views-row .views-field.views-field-field-headshot,
        .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing {
          flex: 0 0 auto;
          width: 100%;
          max-width: 100%; }
          .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-image .field-content, .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-image-webinar .field-content, .view-id-project_brief_node .view-content .views-row .views-field.views-field-field-headshot .field-content, .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content,
          .view-id-news_node .view-content .views-row .views-field.views-field-field-image .field-content,
          .view-id-news_node .view-content .views-row .views-field.views-field-field-image-webinar .field-content,
          .view-id-news_node .view-content .views-row .views-field.views-field-field-headshot .field-content,
          .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content,
          .view-id-webinar_node .view-content .views-row .views-field.views-field-field-image .field-content,
          .view-id-webinar_node .view-content .views-row .views-field.views-field-field-image-webinar .field-content,
          .view-id-webinar_node .view-content .views-row .views-field.views-field-field-headshot .field-content,
          .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content,
          .view-id-team_member_node .view-content .views-row .views-field.views-field-field-image .field-content,
          .view-id-team_member_node .view-content .views-row .views-field.views-field-field-image-webinar .field-content,
          .view-id-team_member_node .view-content .views-row .views-field.views-field-field-headshot .field-content,
          .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content {
            padding: 20px; }
        .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content,
        .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content,
        .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content,
        .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content {
          padding-bottom: 0; }
          .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content h1,
          .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content h1,
          .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content h1,
          .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content h1 {
            font-size: 1.65em; }
          .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.title,
          .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.title,
          .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.title,
          .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.title {
            margin-bottom: 10px; }
          .view-id-project_brief_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date,
          .view-id-news_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date,
          .view-id-webinar_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date,
          .view-id-team_member_node .view-content .views-row .views-field.views-field-nothing .field-content .row.date {
            font-size: 1em; } }

.layout-maps .field-name-body {
  margin-bottom: 20px !important;
  max-width: none !important; }

.layout-maps .serviceSelect {
  width: 100%;
  max-width: 300px;
  margin: 0;
  padding: 0; }

.layout-maps .form-item {
  margin: 0; }

.layout-maps .form-select {
  padding-bottom: 0;
  padding-top: 0;
  height: 48px; }

.layout-maps .view-id-sales_map_2,
.layout-maps .view-id-service_map_2 {
  display: block;
  width: calc(100% - 340px);
  float: left;
  position: relative; }
  .layout-maps .view-id-sales_map_2 .view-filters,
  .layout-maps .view-id-service_map_2 .view-filters {
    display: block;
    clear: both;
    position: absolute;
    top: 0;
    right: -340px;
    width: 300px; }
    .layout-maps .view-id-sales_map_2 .view-filters label,
    .layout-maps .view-id-service_map_2 .view-filters label {
      display: none; }
  .layout-maps .view-id-sales_map_2 .leaflet-container,
  .layout-maps .view-id-service_map_2 .leaflet-container {
    display: block;
    margin: 0;
    width: 100% !important;
    height: 600px !important; }

.layout-maps #sn-mapping-mobile-drop {
  display: none; }

.layout-maps .service_block_return {
  display: block;
  float: right;
  width: 300px;
  margin-top: 68px; }
  .layout-maps .service_block_return #message {
    display: block;
    clear: both;
    margin: 0 0 20px 0;
    background: #f5f5f5;
    border: 1px solid #DDD;
    padding: 20px; }
    .layout-maps .service_block_return #message span {
      display: block;
      clear: both;
      margin: 0 0 10px 0;
      line-height: 1.1; }
      .layout-maps .service_block_return #message span:last-child {
        margin-bottom: 0; }
      .layout-maps .service_block_return #message span.title {
        font-weight: 500;
        text-transform: uppercase;
        margin-bottom: 6px; }
      .layout-maps .service_block_return #message span.name, .layout-maps .service_block_return #message span.contact {
        font-size: 1.722em;
        margin-bottom: 12px; }
      .layout-maps .service_block_return #message span.name {
        margin-bottom: 10px; }
      .layout-maps .service_block_return #message span.phone, .layout-maps .service_block_return #message span.email {
        font-size: 0.889em;
        display: list-item;
        list-style-type: square;
        margin-left: 15px;
        color: #666; }
      .layout-maps .service_block_return #message span.image img {
        pointer-events: none; }

@media (max-width: 768px) {
  .layout-maps .view-id-sales_map_2,
  .layout-maps .view-id-service_map_2 {
    width: 100%;
    float: none;
    clear: both; }
    .layout-maps .view-id-sales_map_2 .view-filters,
    .layout-maps .view-id-service_map_2 .view-filters {
      margin-left: 0;
      width: 100%;
      position: static;
      right: auto;
      top: auto; }
    .layout-maps .view-id-sales_map_2 .leaflet-container,
    .layout-maps .view-id-service_map_2 .leaflet-container {
      display: none; }
  .layout-maps .serviceSelect {
    max-width: 100%; }
  .layout-maps .form-item-field-egion-country-value {
    display: none; }
  .layout-maps #sn-mapping-mobile-drop {
    display: block;
    margin-top: 10px; }
  .layout-maps .service_block_return {
    width: 100%;
    margin-top: 0; }
    .layout-maps .service_block_return #message {
      margin: 20px 0 0 0; } }

.page-node-52.layout-maps .service_block_return #message span.title {
  margin-bottom: 12px; }

.view-id-testimonial_landing_page {
  display: block;
  clear: both; }
  .view-id-testimonial_landing_page .view-content {
    display: block;
    clear: both; }
    .view-id-testimonial_landing_page .view-content .views-row {
      display: flex;
      flex: 0 0 auto;
      flex-direction: row;
      flex-wrap: nowrap;
      max-width: 100%;
      background: #fff;
      margin: 0 0 25px 0;
      padding: 30px; }
      .view-id-testimonial_landing_page .view-content .views-row p {
        margin-bottom: 15px; }
        .view-id-testimonial_landing_page .view-content .views-row p:last-child {
          margin-bottom: 0; }
        .view-id-testimonial_landing_page .view-content .views-row p.image {
          line-height: 0; }
      .view-id-testimonial_landing_page .view-content .views-row .views-field-title {
        display: block;
        width: 70%; }
      .view-id-testimonial_landing_page .view-content .views-row .views-field-field-testimonial-image {
        display: block;
        width: 25%;
        margin-right: 5%;
        line-height: 0;
        text-align: center; }
        .view-id-testimonial_landing_page .view-content .views-row .views-field-field-testimonial-image .field-content {
          display: block;
          width: 100%;
          margin: auto; }
  @media (max-width: 667px) {
    .view-id-testimonial_landing_page .view-content .views-row {
      padding: 20px;
      margin-bottom: 20px;
      flex-direction: column; }
      .view-id-testimonial_landing_page .view-content .views-row .views-field-field-testimonial-image {
        width: 100%;
        max-width: none;
        margin-right: 0;
        clear: both;
        margin-bottom: 20px; }
        .view-id-testimonial_landing_page .view-content .views-row .views-field-field-testimonial-image img {
          max-height: 200px; }
      .view-id-testimonial_landing_page .view-content .views-row .views-field-title {
        width: 100%; } }

.view-id-credability_logos {
  display: block;
  clear: both; }
  .view-id-credability_logos .views-field-field-credibility-logos {
    display: block;
    clear: both; }
    .view-id-credability_logos .views-field-field-credibility-logos .item-list {
      display: block;
      clear: both; }
      .view-id-credability_logos .views-field-field-credibility-logos .item-list ul {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
        text-align: center;
        justify-content: center; }
        .view-id-credability_logos .views-field-field-credibility-logos .item-list ul li {
          display: flex;
          flex-wrap: nowrap;
          flex-direction: column;
          flex: 0 0 auto;
          width: auto;
          max-width: 100px;
          height: 100px;
          margin: 10px 15px 0 15px;
          list-style-type: none;
          text-align: center; }
          .view-id-credability_logos .views-field-field-credibility-logos .item-list ul li img {
            display: inline;
            width: auto;
            height: auto;
            margin: auto;
            max-width: 100px;
            max-height: 100px; }

.view-id-minimal_hero {
  clear: both; }
  .view-id-minimal_hero .view-content {
    max-width: 800px;
    margin: 0 auto; }

.front .main p,
.front .main ul {
  font-size: 1.15em;
  color: #444; }
  @media (max-width: 768px) {
    .front .main p,
    .front .main ul {
      font-size: 1.05em; } }
  @media (max-width: 667px) {
    .front .main p,
    .front .main ul {
      font-size: 1.0em; } }

.front .main ul {
  margin: 0;
  padding: 0 0 0 25px; }

.front h2 {
  font-size: 3.0em; }
  @media (max-width: 890px) {
    .front h2 {
      font-size: 2.8em; } }
  @media (max-width: 768px) {
    .front h2 {
      font-size: 2.4em; } }
  @media (max-width: 667px) {
    .front h2 {
      font-size: 2.0em; } }
  @media (max-width: 480px) {
    .front h2 {
      font-size: 1.8em; } }

.front h4 {
  margin: 0 0 15px;
  font-size: 1.6em;
  font-weight: 300; }
  @media (max-width: 480px) {
    .front h4 {
      font-size: 1.4em; } }

.front .hero {
  color: #fff;
  background: #3f4f8f url(../img/home-hero-bg-02.jpg) no-repeat 50% 50%;
  background-size: cover;
  overflow: hidden;
  position: relative; }
  .front .hero ul.slick-dots {
    display: block;
    margin: 0;
    background: none;
    padding: 0;
    text-align: right;
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    z-index: 99; }
    .front .hero ul.slick-dots li {
      display: inline-block;
      margin: 0 10px;
      padding: 0;
      clear: none;
      float: none; }
      .front .hero ul.slick-dots li.slick-active button {
        background: #3f4f8f; }
      .front .hero ul.slick-dots li button {
        display: block;
        border: none;
        background: #CCC;
        text-indent: -9999px;
        width: 15px;
        height: 15px;
        overflow: hidden;
        padding: 0;
        margin: 0;
        line-height: 1;
        cursor: pointer;
        border-radius: 100%;
        outline: none; }
        .front .hero ul.slick-dots li button:hover {
          background: #3f4f8f; }
  .front .hero .views-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative; }
    .front .hero .views-row:hover .views-field-field-cta a {
      background: #ba2127; }
  .front .hero .views-field-field-cta-1 {
    display: inline;
    position: static;
    margin: 0;
    padding: 0; }
    .front .hero .views-field-field-cta-1 a {
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      border-radius: 0;
      z-index: 5;
      opacity: 0;
      background: none;
      overflow: hidden;
      text-indent: -9999px; }
  .front .hero .views-field-field-cta {
    flex: 0 0 30%;
    padding: 12% 0; }
  .front .hero .views-field-field-hh-image {
    flex: 0 0 65%;
    text-align: center;
    align-self: flex-end; }
    .front .hero .views-field-field-hh-image img {
      display: block;
      max-width: 100%;
      height: auto; }
  .front .hero span {
    margin: 0 0 35px;
    font-size: 3.2em;
    font-weight: 100;
    line-height: 1.1; }
    .front .hero span .sm {
      margin-bottom: 20px;
      font-size: 0.42em;
      font-weight: 300;
      line-height: 1.5; }
  @media (max-width: 1200px) {
    .front .hero .views-field-field-cta {
      flex: 0 0 40%; }
    .front .hero .views-field-field-hh-image {
      flex: 0 0 60%; } }
  @media (max-width: 1024px) {
    .front .hero .views-field-field-cta {
      flex: 0 0 45%; }
    .front .hero .views-field-field-hh-image {
      flex: 0 0 55%; } }
  @media (max-width: 890px) {
    .front .hero .views-row {
      display: block; }
    .front .hero .views-field-field-cta {
      width: 80%;
      margin: auto;
      text-align: center; }
    .front .hero .views-field-field-hh-image {
      width: 80%;
      margin: auto; }
    .front .hero h1 {
      font-size: 2.6em; }
      .front .hero h1 .sm {
        display: inline-block;
        width: 60%;
        margin-bottom: 10px;
        font-size: 0.5em; } }
  @media (max-width: 768px) {
    .front .hero h1 {
      font-size: 2.2em; }
      .front .hero h1 .sm {
        width: 70%;
        font-size: 0.55em; } }
  @media (max-width: 667px) {
    .front .hero h1 {
      font-size: 2.0em; }
      .front .hero h1 .sm {
        width: 100%;
        font-size: 0.6em; } }
  @media (max-width: 480px) {
    .front .hero .views-field-field-cta {
      flex: 0 0 100%; }
    .front .hero h1 {
      font-size: 1.8em; }
      .front .hero h1 .sm {
        width: 80%; } }

.front .subhero {
  background: #eee url(../img/home-subhero-bg-01.jpg) no-repeat 50% 50%;
  background-size: cover; }
  .front .subhero .inside {
    position: relative;
    padding-top: 8%;
    padding-bottom: 8%;
    background: url(../img/home-subhero-arrow-02.png) no-repeat 15% 0; }
  .front .subhero .field-name-field-home-subhero .field-item {
    display: flex;
    justify-content: space-between; }
  .front .subhero .text {
    flex: 0 0 52%;
    order: 1; }
  .front .subhero .map {
    flex: 0 0 42%; }
  .front .subhero ul {
    padding: 0;
    -webkit-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 40px;
            column-gap: 40px; }
    .front .subhero ul li {
      padding: 5px 0;
      margin-left: 40px;
      display: list-item; }
  @media (max-width: 1200px) {
    .front .subhero ul {
      -webkit-column-count: 1;
              column-count: 1;
      -webkit-column-gap: 0;
              column-gap: 0; } }
  @media (max-width: 768px) {
    .front .subhero .field-name-field-home-subhero .field-item {
      display: block; }
    .front .subhero .text {
      margin-bottom: 6%; } }

.front .content-01 {
  position: relative;
  padding: 8% 0; }
  .front .content-01 .top {
    width: 70%;
    margin: 0 auto 5%; }
  .front .content-01 .bottom {
    width: 80%;
    margin: auto; }
  .front .content-01 .image {
    width: 40%;
    margin-bottom: -22%; }
    .front .content-01 .image img {
      display: block; }
  .front .content-01 h2 .sm {
    font-size: 0.45em;
    font-weight: 300;
    line-height: 2.0; }
  .front .content-01 ul {
    width: 45%;
    padding-left: 0;
    float: right; }
    .front .content-01 ul li {
      display: inline-block;
      vertical-align: top;
      width: 100%;
      padding: 10px 0; }
      .front .content-01 ul li a {
        padding: 4px 0;
        font-size: 1.3em;
        font-weight: 300;
        color: #a91e23;
        text-decoration: none; }
        .front .content-01 ul li a:hover span {
          border-color: #fff; }
        .front .content-01 ul li a * {
          display: inline-block;
          vertical-align: middle; }
        .front .content-01 ul li a span {
          margin-left: 10px;
          border-bottom: 2px solid #ddd; }
  @media (max-width: 1200px) {
    .front .content-01 .bottom ul {
      width: 60%; }
    .front .content-01 .bottom .image {
      width: 30%;
      margin-bottom: -4%; } }
  @media (max-width: 1024px) {
    .front .content-01 .top {
      width: 90%; }
    .front .content-01 .bottom ul li a {
      font-size: 1.1em; }
      .front .content-01 .bottom ul li a img {
        width: 50px;
        height: auto; } }
  @media (max-width: 890px) {
    .front .content-01 .top {
      width: 100%; }
    .front .content-01 .bottom {
      width: 90%;
      overflow: hidden; }
      .front .content-01 .bottom .image {
        margin-bottom: 0; } }
  @media (max-width: 768px) {
    .front .content-01 h2 .sm {
      font-size: 0.5em; }
    .front .content-01 .bottom {
      width: 100%;
      overflow: hidden; }
      .front .content-01 .bottom ul {
        width: 65%; }
      .front .content-01 .bottom .image {
        width: 25%; } }
  @media (max-width: 667px) {
    .front .content-01 h2 .sm {
      font-size: 0.6em; } }
  @media (max-width: 480px) {
    .front .content-01 .bottom ul {
      width: 100%;
      margin-bottom: 8%;
      float: none; }
    .front .content-01 .bottom .image {
      width: 50%;
      margin: auto; } }

.front .content-02 {
  padding: 12% 0 6%;
  background: #ebebeb url(../img/home-cont-02-bg-01.jpg) no-repeat 50% 0;
  background-size: cover; }
  .front .content-02 h2 {
    width: 60%; }
  .front .content-02 ul.why-list {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    padding: 5% 0; }
    .front .content-02 ul.why-list li {
      flex: 0 0 30%;
      background: #fff; }
      .front .content-02 ul.why-list li .image img {
        width: 100%; }
      .front .content-02 ul.why-list li .text {
        padding: 8% 10% 10%; }
  @media (max-width: 768px) {
    .front .content-02 h2 {
      width: 80%; }
    .front .content-02 ul.why-list {
      flex-wrap: wrap; }
      .front .content-02 ul.why-list li {
        flex: 0 0 47%;
        margin-bottom: 5.5vw; }
        .front .content-02 ul.why-list li .text {
          padding-bottom: 4%; } }
  @media (max-width: 667px) {
    .front .content-02 h2 {
      width: 100%; } }
  @media (max-width: 480px) {
    .front .content-02 ul.why-list li {
      flex: 0 0 100%; } }

.front .content-03 {
  position: relative; }
  .front .content-03:before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 100%;
    background: #ebebeb;
    content: ''; }
  .front .content-03 .field-name-field-home-content-03 .field-item {
    display: flex;
    justify-content: space-between;
    align-items: stretch; }
  .front .content-03 h2 {
    font-size: 2.4em; }
    .front .content-03 h2 * {
      display: inline-block;
      vertical-align: middle; }
  .front .content-03 .sec {
    flex: 0 0 43%;
    flex-direction: column;
    display: flex;
    padding: 5vw 0; }
    .front .content-03 .sec a.btn, .front .content-03 .sec .page-user form#user-login a.form-submit, .page-user form#user-login .front .content-03 .sec a.form-submit {
      align-self: flex-start;
      margin-top: auto; }
  .front .content-03 .view {
    margin-bottom: 3vw; }
    .front .content-03 .view .views-row {
      padding: 4% 0;
      border-bottom: 2px solid #eee; }
    .front .content-03 .view a {
      font-size: 1.1em;
      font-weight: 300;
      text-decoration: none;
      color: #a91e23; }
      .front .content-03 .view a:hover {
        text-decoration: underline; }
  @media (max-width: 1200px) {
    .front .content-03 h2 {
      font-size: 2.0em; } }
  @media (max-width: 1024px) {
    .front .content-03 h2 {
      font-size: 1.7em; } }
  @media (max-width: 890px) {
    .front .content-03 h2 img {
      width: auto;
      max-height: 40px; } }
  @media (max-width: 768px) {
    .front .content-03 {
      padding: 6% 0; }
      .front .content-03:before {
        display: none; }
      .front .content-03 .field-name-field-home-content-03 .field-item {
        display: block; }
      .front .content-03 h2 {
        font-size: 2.0em; }
      .front .content-03 .sec {
        flex-direction: column; }
      .front .content-03 .view {
        margin-bottom: 5vw; } }
  @media (max-width: 480px) {
    .front .content-03 h2 {
      font-size: 1.5em; }
    .front .content-03 .sec a.btn, .front .content-03 .sec .page-user form#user-login a.form-submit, .page-user form#user-login .front .content-03 .sec a.form-submit {
      align-self: auto; } }

.front .content-04 {
  padding: 8% 0;
  background: #ebebeb url(../img/home-cont-04-bg-01.jpg) no-repeat 50% 0;
  background-size: 100% auto; }
  .front .content-04 .slick-dots {
    display: none !important; }
  .front .content-04 p {
    margin: 0 0 20px; }
  .front .content-04 .centered {
    margin: auto; }
  .front .content-04 .w-70 {
    width: 70%; }
  .front .content-04 .middle {
    padding: 7% 0 5%; }
    .front .content-04 .middle .sec {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      .front .content-04 .middle .sec .item {
        flex: 0 0 47%;
        overflow: hidden; }
        .front .content-04 .middle .sec .item[data-order="1"] {
          order: 1; }
      .front .content-04 .middle .sec.sec-01 {
        margin-bottom: 6vw; }
  @media (max-width: 768px) {
    .front .content-04 .w-70 {
      width: 90%; }
    .front .content-04 .middle .sec {
      align-items: flex-start; }
      .front .content-04 .middle .sec .image {
        flex: 0 0 30%; }
      .front .content-04 .middle .sec .text {
        flex: 0 0 65%; } }
  @media (max-width: 667px) {
    .front .content-04 .middle .sec {
      display: block; }
      .front .content-04 .middle .sec .image {
        width: 80%;
        margin: 0 auto 30px; } }
  @media (max-width: 480px) {
    .front .content-04 .w-70 {
      width: 100%; }
    .front .content-04 .middle .sec .image {
      width: 80%;
      margin: 0 0 30px; } }

.front .cred {
  padding: 8% 0 4%;
  background: #e1e1e1 url(../img/home-cred-bg-01.png) no-repeat 50% 0;
  background-size: 100% auto; }
  .front .cred .field-item {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .front .cred .text {
    flex: 0 0 35%;
    font-size: 1.7em;
    font-weight: 300; }
  .front .cred ul.cred-logos {
    flex: 0 0 60%;
    display: flex;
    justify-content: space-around;
    align-items: center; }
    .front .cred ul.cred-logos li {
      flex: 0 0 auto;
      width: auto;
      margin-left: 3%;
      text-align: center;
      max-width: 17%; }
      .front .cred ul.cred-logos li .box {
        display: block;
        margin: auto 0;
        text-align: center; }
  @media (max-width: 890px) {
    .front .cred .field-item {
      display: block; }
    .front .cred .text {
      margin-bottom: 30px;
      font-size: 1.4em;
      text-align: center; }
    .front .cred ul.cred-logos {
      display: block;
      text-align: center; }
      .front .cred ul.cred-logos li {
        flex: none;
        display: inline-block;
        vertical-align: middle;
        width: 30%;
        max-width: 30%;
        margin: 20px 1% 0 1%; } }
  @media (max-width: 480px) {
    .front .cred ul.cred-logos li {
      width: 46%;
      max-width: 46%; }
    .front .cred .text {
      margin-bottom: 20px;
      font-size: 1.2em; } }

.node-type-team-member .field-name-field-headshot {
  width: 34%;
  margin: 0 4% 2% 0;
  float: left; }

@media (max-width: 890px) {
  .node-type-team-member .field-name-field-headshot {
    width: 46%; } }

@media (max-width: 480px) {
  .node-type-team-member .field-name-field-headshot {
    width: 100%;
    float: none;
    margin: 0 0 4%; } }

.page-node-50 .view-id-section_landing_hero .view-content .views-row .views-field-field-top-bg-img {
  background-image: none !important; }

.layout-product .content-01 {
  padding-top: 0;
  display: block;
  clear: both;
  overflow: hidden; }
  .layout-product .content-01 .outer-wrapper {
    display: block;
    clear: both; }
    .layout-product .content-01 .outer-wrapper .inner {
      display: block;
      clear: both; }
      .layout-product .content-01 .outer-wrapper .inner .inside {
        display: block;
        clear: both; }
  @media (max-width: 667px) {
    .layout-product .content-01 {
      padding-top: 20px; } }

.layout-product.layout-section-landing .content-top {
  background-color: #a91e23;
  background-image: url(../img/product-hero-bkg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  padding-top: 80px; }

@media (max-width: 1200px) {
  .layout-product.layout-section-landing .content-top {
    padding-top: 60px; } }

@media (max-width: 667px) {
  .layout-product.layout-section-landing .content-top {
    padding-bottom: 30px;
    padding-top: 30px; } }

@media (max-width: 480px) {
  .layout-product.layout-section-landing .content-top {
    padding-bottom: 20px;
    padding-top: 20px; } }

.layout-product .view-id-product_page_hero {
  display: block;
  margin: 0 auto 50px auto;
  background-color: transparent;
  background-image: url(../img/product-hero-inside.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  padding: 80px 60px; }
  .layout-product .view-id-product_page_hero .view-content {
    display: block; }
    .layout-product .view-id-product_page_hero .view-content .views-row {
      display: flex;
      flex: 0 0 auto;
      flex-wrap: nowrap;
      flex-direction: row;
      width: 100%;
      max-width: 100%; }
      .layout-product .view-id-product_page_hero .view-content .views-row .views-field {
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%; }
        .layout-product .view-id-product_page_hero .view-content .views-row .views-field .field-content {
          display: block;
          margin: auto 0; }
        .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-title .field-content {
          padding-right: 5%; }
        .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-title h1 {
          margin-bottom: 15px;
          display: block;
          clear: both;
          color: #3f4f8f;
          font-size: 2.444em; }
        .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-title h2 {
          margin-bottom: 20px;
          color: #666;
          font-size: 1.389em;
          line-height: 1;
          display: block;
          clear: both;
          font-weight: 300; }
        .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-title p {
          margin-bottom: 0; }
        .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list {
          display: block; }
          .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list ul {
            display: block;
            margin: 0;
            padding: 0;
            position: relative;
            background: #fff; }
            .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list ul li {
              display: block;
              list-style-type: none;
              margin: 0;
              padding: 0; }
              .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list ul li a {
                display: block; }
              .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list ul li img {
                display: block;
                width: 100%;
                height: auto;
                max-width: none; }
          .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list ul.slick-dots {
            display: block;
            margin: 0;
            background: none;
            padding: 10px 0 0 0;
            text-align: right;
            position: absolute;
            top: 100%;
            left: 0;
            right: 0; }
            .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list ul.slick-dots li {
              display: inline-block;
              margin: 0 10px;
              padding: 0;
              clear: none;
              float: none; }
              .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list ul.slick-dots li.slick-active button {
                background: #3f4f8f; }
              .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list ul.slick-dots li button {
                display: block;
                border: none;
                background: #CCC;
                text-indent: -9999px;
                width: 15px;
                height: 15px;
                overflow: hidden;
                padding: 0;
                margin: 0;
                line-height: 1;
                cursor: pointer;
                border-radius: 100%;
                outline: none; }
                .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list ul.slick-dots li button:hover {
                  background: #3f4f8f; }
  @media (max-width: 1024px) {
    .layout-product .view-id-product_page_hero {
      padding: 60px; } }
  @media (max-width: 890px) {
    .layout-product .view-id-product_page_hero {
      padding: 50px;
      background-image: none;
      background-color: #fff; }
      .layout-product .view-id-product_page_hero .view-content .views-row {
        flex-direction: column; }
        .layout-product .view-id-product_page_hero .view-content .views-row .views-field {
          width: 100%;
          max-width: 100%;
          flex: 0 0 auto; }
          .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-title {
            margin-bottom: 30px; }
            .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-title h1 {
              font-size: 2.1996em; }
          .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list ul.slick-dots {
            position: static;
            text-align: center; }
            .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-field-product-images .item-list ul.slick-dots li button {
              width: 20px;
              height: 20px; } }
  @media (max-width: 768px) {
    .layout-product .view-id-product_page_hero {
      padding: 40px; }
      .layout-product .view-id-product_page_hero .view-content .views-row .views-field.views-field-title h1 {
        font-size: 1.9552em; } }
  @media (max-width: 667px) {
    .layout-product .view-id-product_page_hero {
      padding: 35px;
      margin-bottom: 0; } }
  @media (max-width: 480px) {
    .layout-product .view-id-product_page_hero {
      padding: 30px; } }

.layout-product .pane-node-body,
.layout-product .video-wrap,
.layout-product .pdf-wrap,
.layout-product .faq-wrap {
  display: block;
  clear: both;
  background: #fff;
  margin: 0 0 10px 0;
  padding: 100px 2%; }
  .layout-product .pane-node-body .field-name-body,
  .layout-product .pane-node-body .box,
  .layout-product .video-wrap .field-name-body,
  .layout-product .video-wrap .box,
  .layout-product .pdf-wrap .field-name-body,
  .layout-product .pdf-wrap .box,
  .layout-product .faq-wrap .field-name-body,
  .layout-product .faq-wrap .box {
    display: block;
    margin: 0 auto;
    padding: 0;
    max-width: 800px; }
  @media (max-width: 1200px) {
    .layout-product .pane-node-body,
    .layout-product .video-wrap,
    .layout-product .pdf-wrap,
    .layout-product .faq-wrap {
      padding: 6vw 15px; } }

.layout-product .view-id-product_page_tabs {
  display: block;
  clear: both; }
  .layout-product .view-id-product_page_tabs .view-header {
    display: block;
    clear: both;
    margin: 0 0 20px 0; }
    .layout-product .view-id-product_page_tabs .view-header h3 {
      margin: 0; }
  .layout-product .view-id-product_page_tabs .tab-content {
    background: #fff;
    margin: 0 0 10px 0;
    padding: 100px 2%;
    clear: both; }
    .layout-product .view-id-product_page_tabs .tab-content .box {
      display: block;
      margin: 0 auto;
      max-width: 800px;
      padding: 0; }
  .layout-product .view-id-product_page_tabs ul.tabs {
    display: block;
    margin: 0 auto;
    font-size: 1.111em;
    line-height: 1; }
    .layout-product .view-id-product_page_tabs ul.tabs li {
      display: block;
      float: left;
      clear: none;
      margin: 10px 10px 0 0;
      padding: 0;
      clear: none;
      color: #fff;
      outline: none; }
      .layout-product .view-id-product_page_tabs ul.tabs li:empty {
        display: none !important; }
      .layout-product .view-id-product_page_tabs ul.tabs li .tab-link {
        display: block;
        padding: 24px 40px;
        background-color: rgba(86, 10, 13, 0.7);
        cursor: pointer;
        outline: none; }
        .layout-product .view-id-product_page_tabs ul.tabs li .tab-link:hover, .layout-product .view-id-product_page_tabs ul.tabs li .tab-link.current {
          background-color: #3f4f8f; }
      .layout-product .view-id-product_page_tabs ul.tabs li:first-child {
        clear: left; }
      .layout-product .view-id-product_page_tabs ul.tabs li:last-child {
        margin-right: 0; }
  @media (max-width: 1200px) {
    .layout-product .view-id-product_page_tabs .tab-content {
      padding: 6vw 25px; }
    .layout-product .view-id-product_page_tabs ul.tabs {
      font-size: 1em; }
      .layout-product .view-id-product_page_tabs ul.tabs li .tab-link {
        padding: 24px 20px 22px 20px; } }
  @media (max-width: 667px) {
    .layout-product .view-id-product_page_tabs ul.tabs {
      display: none; } }

.layout-product .view-id-product_page_tabs.faq {
  display: block;
  clear: both; }
  .layout-product .view-id-product_page_tabs.faq .item-list {
    display: block;
    clear: both;
    margin: 0 auto; }
    .layout-product .view-id-product_page_tabs.faq .item-list ul {
      display: block;
      list-style-type: none;
      margin: 0;
      padding: 0;
      clear: both; }
      .layout-product .view-id-product_page_tabs.faq .item-list ul li {
        display: block;
        clear: both;
        margin: 0 0 30px 0;
        padding: 0; }
        .layout-product .view-id-product_page_tabs.faq .item-list ul li:last-child {
          margin-bottom: 0; }
        .layout-product .view-id-product_page_tabs.faq .item-list ul li .views-field {
          position: relative;
          display: block; }
          .layout-product .view-id-product_page_tabs.faq .item-list ul li .views-field:before {
            display: inline-block;
            position: absolute;
            top: 0;
            left: 0;
            font-size: 1.556rem; }
        .layout-product .view-id-product_page_tabs.faq .item-list ul li .views-field-field-faq-question {
          color: #c53035;
          font-size: 1.3em;
          cursor: pointer;
          margin-bottom: 0 !important;
          font-weight: 100;
          line-height: 1.2;
          position: relative; }
          .layout-product .view-id-product_page_tabs.faq .item-list ul li .views-field-field-faq-question:before {
            content: "Q:";
            color: #666; }
          .layout-product .view-id-product_page_tabs.faq .item-list ul li .views-field-field-faq-question .field-content {
            display: inline-block;
            border-bottom: 2px solid #e5e5e5;
            margin-left: 40px; }
            .layout-product .view-id-product_page_tabs.faq .item-list ul li .views-field-field-faq-question .field-content:hover {
              border-color: #c53035; }
        .layout-product .view-id-product_page_tabs.faq .item-list ul li .views-field-field-faq-answer {
          background-color: #efefef;
          padding: 30px 30px 30px 70px;
          margin: 20px 0 0 0; }
          .layout-product .view-id-product_page_tabs.faq .item-list ul li .views-field-field-faq-answer:before {
            content: "A:";
            color: #192556;
            top: 26px;
            left: 30px; }
          .layout-product .view-id-product_page_tabs.faq .item-list ul li .views-field-field-faq-answer p:last-child {
            margin-bottom: 0; }

.layout-product .view-id-product_page_tabs.video .view-content {
  display: flex;
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  flex-direction: row;
  flex-wrap: wrap;
  margin-bottom: -30px; }
  .layout-product .view-id-product_page_tabs.video .view-content .views-row {
    display: block;
    width: 48%;
    margin: 0 0 30px 4%; }
    .layout-product .view-id-product_page_tabs.video .view-content .views-row:nth-child(2n+1) {
      margin-left: 0; }
    .layout-product .view-id-product_page_tabs.video .view-content .views-row .views-field {
      display: block;
      margin: 0 auto; }
      .layout-product .view-id-product_page_tabs.video .view-content .views-row .views-field a {
        display: block;
        outline: none;
        position: relative;
        z-index: 1;
        border: 2px solid #FFF;
        transition: all 0.25s ease-in-out; }
        .layout-product .view-id-product_page_tabs.video .view-content .views-row .views-field a:before {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: 50%;
          background-image: url(../img/svg/play.svg);
          background-repeat: no-repeat;
          background-position: 50% 50%;
          background-size: 62px 62px;
          width: 60px;
          height: 60px;
          -webkit-transform: translateX(-50%) translateY(-50%);
                  transform: translateX(-50%) translateY(-50%);
          pointer-events: none;
          z-index: 5;
          border-radius: 100%;
          overflow: hidden;
          background-color: #fff;
          border: 2px solid #c53035;
          transition: all 0.25s ease-in-out; }
        .layout-product .view-id-product_page_tabs.video .view-content .views-row .views-field a img {
          display: block;
          width: 100%;
          height: auto;
          max-width: none;
          outline: none;
          pointer-events: none;
          -webkit-backface-visibility: hidden;
          transition: all 0.25s ease-in-out; }
        .layout-product .view-id-product_page_tabs.video .view-content .views-row .views-field a:hover {
          border-color: #c53035; }
          .layout-product .view-id-product_page_tabs.video .view-content .views-row .views-field a:hover:before {
            box-shadow: 0 0 150px rgba(255, 255, 255, 0.8);
            border-color: #fff; }
          .layout-product .view-id-product_page_tabs.video .view-content .views-row .views-field a:hover img {
            opacity: 0.3; }

@media (max-width: 667px) {
  .layout-product .view-id-product_page_tabs.video .view-content {
    flex-direction: column;
    margin-bottom: 0; }
    .layout-product .view-id-product_page_tabs.video .view-content .views-row {
      width: 100%;
      margin-left: 0;
      margin-bottom: 20px; }
      .layout-product .view-id-product_page_tabs.video .view-content .views-row:last-child {
        margin-bottom: 0; } }

.layout-product .view-id-product_page_tabs.pdf .view-content {
  display: block;
  clear: both; }
  .layout-product .view-id-product_page_tabs.pdf .view-content .views-row {
    display: block;
    clear: both;
    margin: 0 0 25px 0; }
    .layout-product .view-id-product_page_tabs.pdf .view-content .views-row:last-child {
      margin-bottom: 0; }
    .layout-product .view-id-product_page_tabs.pdf .view-content .views-row a {
      display: inline-block;
      font-size: 1.3em;
      color: #c53035;
      text-decoration: none;
      line-height: 1.2;
      position: relative;
      border-bottom: 2px solid #e5e5e5;
      font-weight: 100;
      padding-bottom: 5px; }
      .layout-product .view-id-product_page_tabs.pdf .view-content .views-row a:hover {
        color: #c53035;
        border-color: #c53035; }

.layout-product .tab-content {
  display: none; }
  .layout-product .tab-content.current {
    display: block;
    clear: both; }
  @media (max-width: 667px) {
    .layout-product .tab-content {
      display: block;
      clear: both; } }

/* Video Global */
.video-page-global .pane-pane-messages {
  position: fixed;
  bottom: 40px;
  z-index: 999; }
  .video-page-global .pane-pane-messages ul li {
    margin: 0; }

.video-page-global .content-top {
  display: none; }

.video-page-global .content-top,
.video-page-global .subtop,
.video-page-global .content-01 {
  padding-bottom: 150px; }
  .video-page-global .content-top .back-to-videos,
  .video-page-global .subtop .back-to-videos,
  .video-page-global .content-01 .back-to-videos {
    display: inline-block;
    margin-top: 20px;
    text-decoration: none; }
    .video-page-global .content-top .back-to-videos:hover,
    .video-page-global .subtop .back-to-videos:hover,
    .video-page-global .content-01 .back-to-videos:hover {
      text-decoration: underline; }
  .video-page-global .content-top .pane-node-field-youtube-link #youtube-field-player,
  .video-page-global .subtop .pane-node-field-youtube-link #youtube-field-player,
  .video-page-global .content-01 .pane-node-field-youtube-link #youtube-field-player {
    margin: 0 auto 40px;
    display: block; }
  .video-page-global .content-top #video-single-title,
  .video-page-global .subtop #video-single-title,
  .video-page-global .content-01 #video-single-title {
    max-width: 1280px;
    margin: 40px auto 0; }
    .video-page-global .content-top #video-single-title h3#video-single-title,
    .video-page-global .subtop #video-single-title h3#video-single-title,
    .video-page-global .content-01 #video-single-title h3#video-single-title {
      margin-bottom: 10px; }
    .video-page-global .content-top #video-single-title .pane-title,
    .video-page-global .subtop #video-single-title .pane-title,
    .video-page-global .content-01 #video-single-title .pane-title {
      display: none; }
  .video-page-global .content-top .field-name-body,
  .video-page-global .subtop .field-name-body,
  .video-page-global .content-01 .field-name-body {
    max-width: 1280px; }
  @media (max-width: 890px) {
    .video-page-global .content-top .view-videos,
    .video-page-global .subtop .view-videos,
    .video-page-global .content-01 .view-videos {
      padding: 0 20px; } }
  .video-page-global .content-top .views-row,
  .video-page-global .subtop .views-row,
  .video-page-global .content-01 .views-row {
    margin-top: 60px;
    border-top: 1px solid #a9a9a9;
    padding-top: 60px; }
    .video-page-global .content-top .views-row:first-child,
    .video-page-global .subtop .views-row:first-child,
    .video-page-global .content-01 .views-row:first-child {
      padding-top: 0;
      border-top: none; }
    @media (min-width: 891px) {
      .video-page-global .content-top .views-row,
      .video-page-global .subtop .views-row,
      .video-page-global .content-01 .views-row {
        display: flex;
        max-width: 100%;
        flex-basis: auto; } }
    @media (min-width: 891px) {
      .video-page-global .content-top .views-row .views-field-field-video-thumb,
      .video-page-global .content-top .views-row .views-field-nothing,
      .video-page-global .subtop .views-row .views-field-field-video-thumb,
      .video-page-global .subtop .views-row .views-field-nothing,
      .video-page-global .content-01 .views-row .views-field-field-video-thumb,
      .video-page-global .content-01 .views-row .views-field-nothing {
        display: flex;
        flex: 0 1 auto;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center; } }
    @media (min-width: 891px) {
      .video-page-global .content-top .views-row .views-field-field-video-thumb,
      .video-page-global .subtop .views-row .views-field-field-video-thumb,
      .video-page-global .content-01 .views-row .views-field-field-video-thumb {
        width: 20%; } }
    @media (max-width: 890px) {
      .video-page-global .content-top .views-row .views-field-field-video-thumb,
      .video-page-global .subtop .views-row .views-field-field-video-thumb,
      .video-page-global .content-01 .views-row .views-field-field-video-thumb {
        margin: 20px auto 30px;
        text-align: center; } }
    @media (min-width: 891px) {
      .video-page-global .content-top .views-row .views-field-nothing,
      .video-page-global .subtop .views-row .views-field-nothing,
      .video-page-global .content-01 .views-row .views-field-nothing {
        width: 70%;
        margin-left: 40px; } }
    .video-page-global .content-top .views-row .views-field-nothing .teaser a,
    .video-page-global .subtop .views-row .views-field-nothing .teaser a,
    .video-page-global .content-01 .views-row .views-field-nothing .teaser a {
      display: block; }

/* Video Landing Page */
/* Video Single Page */
/* ==========================================================================
   Helpers / Plugins
   ========================================================================== */
/* ==========================================================================
   Helper classes (stolen almost entirely from https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css )
   ========================================================================== */
.loading {
  overflow: hidden; }
  .loading .views-row {
    display: none; }
  .loading .views-row.views-row-first {
    display: block; }

.floatl {
  float: left; }

.floatr {
  float: right; }

.center {
  text-align: center; }

.block {
  display: block; }

.inline {
  display: inline; }

.inline-block {
  display: inline-block; }

/*
 * Image replacement
 */
/*
 * Hide from both screenreaders and browsers: h5bp%com/u
 */
/*
 * Hide only visually, but have it available for screenreaders: h5bp%com/v
 */
/*
 * Extends the %visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp%com/p
 */
/*
 * Hide visually and from screenreaders, but maintain layout
 */
.loading {
  visibility: hidden; }

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2017 Daniel Eden
 */
.animated {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.animated.hinge {
  -webkit-animation-duration: 2s;
          animation-duration: 2s; }

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
          animation-duration: .75s; }

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
            transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
            transform: translate3d(0, -4px, 0); } }

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
            transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
            transform: translate3d(0, -4px, 0); } }

.bounce {
  -webkit-animation-name: bounce;
          animation-name: bounce;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom; }

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

@keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
          animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }

.pulse {
  -webkit-animation-name: pulse;
          animation-name: pulse; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }

.rubberBand {
  -webkit-animation-name: rubberBand;
          animation-name: rubberBand; }

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0); } }

@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0); } }

.shake {
  -webkit-animation-name: shake;
          animation-name: shake; }

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
            transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
            transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
            transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
            transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
            transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
            transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
            transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
            transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

.headShake {
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
          animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
            transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
            transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
            transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
            transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
            transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
            transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
            transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
            transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg); } }

.swing {
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-animation-name: swing;
          animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
            transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }

.tada {
  -webkit-animation-name: tada;
          animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
            transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
            transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
            transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
            transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
            transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
            transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
            transform: none; } }
@keyframes wobble {
  from {
    -webkit-transform: none;
            transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
            transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
            transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
            transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
            transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
            transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
            transform: none; } }

.wobble {
  -webkit-animation-name: wobble;
          animation-name: wobble; }

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
            transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
            transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
            transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
            transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
            transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
            transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
            transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
            transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
            transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
            transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
            transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
            transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
            transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
            transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
            transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
            transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.jello {
  -webkit-animation-name: jello;
          animation-name: jello;
  -webkit-transform-origin: center;
          transform-origin: center; }

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
            transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
            transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
            transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
            transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
          animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
            transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
            transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
            transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
            transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
            transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
            transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
          animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
            transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
            transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
            transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
            transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
            transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
            transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
          animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
            transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
            transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
            transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
            transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
            transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
            transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
          animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
            transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
            transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
            transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
            transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
          animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); } }

.bounceOut {
  -webkit-animation-name: bounceOut;
          animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
          animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
            transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
            transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
          animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
            transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
            transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
          animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
          animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
          animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
          animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
          animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
          animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
          animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
          animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
          animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
          animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
          animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0); } }

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
          animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
          animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
          animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
            transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
            transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
            transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
            transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
            transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
            transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
          animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
          animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
          animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
          animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
            transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
            transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
          animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
            transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
            transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
            transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
            transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
            transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
            transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
          animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
            transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
            transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
          animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
            transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
            transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
          animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
          animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
          animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
          animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
            transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
            transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
          animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
            transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
            transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
            transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
            transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
          animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
            transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
          animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
          animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
            transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
          animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
            transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
            transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
          animation-name: rotateOutUpRight; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
            transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
            transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
            transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
            transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
            transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
            transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.hinge {
  -webkit-animation-name: hinge;
          animation-name: hinge; }

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
            transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
            transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

.jackInTheBox {
  -webkit-animation-name: jackInTheBox;
          animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
            transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
            transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.rollIn {
  -webkit-animation-name: rollIn;
          animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
            transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }
@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
            transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
          animation-name: rollOut; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: zoomIn;
          animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInDown {
  -webkit-animation-name: zoomInDown;
          animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
          animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInRight {
  -webkit-animation-name: zoomInRight;
          animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInUp {
  -webkit-animation-name: zoomInUp;
          animation-name: zoomInUp; }

@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.zoomOut {
  -webkit-animation-name: zoomOut;
          animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
          animation-name: zoomOutDown; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
            transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
            transform-origin: left center; } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
            transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
            transform-origin: left center; } }

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
          animation-name: zoomOutLeft; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
            transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
            transform-origin: right center; } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
            transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
            transform-origin: right center; } }

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
          animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
            transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
            transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
          animation-name: zoomOutUp; }

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.slideInDown {
  -webkit-animation-name: slideInDown;
          animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
          animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.slideInRight {
  -webkit-animation-name: slideInRight;
          animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.slideInUp {
  -webkit-animation-name: slideInUp;
          animation-name: slideInUp; }

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  -webkit-animation-name: slideOutDown;
          animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
          animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0); } }

.slideOutRight {
  -webkit-animation-name: slideOutRight;
          animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); } }

.slideOutUp {
  -webkit-animation-name: slideOutUp;
          animation-name: slideOutUp; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

body.ie .form-select {
  background-image: none !important;
  padding-right: 0 !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25kZXYuY3NzIiwic291cmNlcyI6WyJzbmRldi5zY3NzIiwiX25vcm1hbGl6ZS5zY3NzIiwiX2RydXBhbC5zY3NzIiwiX3NuZGV2LWJhc2Uuc2NzcyIsIl9jb2xvcnMuc2NzcyIsIl9taXhpbnMtYW5kLXZhcmlhYmxlcy5zY3NzIiwiX3R5cG9ncmFwaHkuc2NzcyIsIl93aWRnZXRzLWN0YS5zY3NzIiwiX2FkbWluLnNjc3MiLCJfd2ViZm9ybXMuc2NzcyIsIl92YXItc2l0ZS1kZWZhdWx0LnNjc3MiLCJfbGF5b3V0LnNjc3MiLCJfc2VjdGlvbi1sYW5kaW5nLnNjc3MiLCJfbmF2aWdhdGlvbi5zY3NzIiwiX3ZpZXdzLnNjc3MiLCJfcGFuZWwtaG9tZS1wYWdlLnNjc3MiLCJfdmFyLWludGVybmFsLXBhZ2VzLnNjc3MiLCJfdmFyLXByb2R1Y3QtZGV0YWlsLnNjc3MiLCJfYmxvZy5zY3NzIiwiX3ZpZGVvLWdhbGxlcnkuc2NzcyIsIl91dGlsaXR5LnNjc3MiLCJfYW5pbWF0ZS5zY3NzIiwiX3NsaWNrLnNjc3MiLCJfalF1ZXJ5LXBsdWdpbnMuc2NzcyIsIl9pZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR1cCAoY29tcGFzcywgcmVzZXQsIHZhcmlhYmxlcylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb21wYXMvU0FTUyBwbHVnaW5zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4vKiBCb3ggU2l6ZSBBbGwgdGhlIHRoaW5ncyBmb3IgKGllOCBhbmQgdXApXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuKiB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cGVraXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0IHVybChcImh0dHBzOi8vdXNlLnR5cGVraXQubmV0L2h1ZTV4dG4uY3NzXCIpO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzZXRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIm5vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImRydXBhbFwiOyAvLyBkcnVwYWwgcmVzZXRzIGZyb20gc25kZXZcbkBpbXBvcnQgXCJzbmRldi1iYXNlXCI7IC8vIHNuZGV2IGJhc2Ugc3R5bGVzIGZvciBjZXJ0YWluIGRydXBhbCBlbGVtZW50cy4gUHJvYmxlbXMgbWF5IGFyaXNlIGZyb20gLnByb3NlIHN0eWxlcywgc28gd2F0Y2ggdGhvc2UuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcImNvbG9yc1wiO1xuQGltcG9ydCBcIm1peGlucy1hbmQtdmFyaWFibGVzXCI7IC8vIHNpdGUtd2lkZSB2YXJpYWJsZXNcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7IC8vIDk1JSBvZiB0eXBvZ3JhcGhpYyBzdHlsZXMgc2hvdWxkIGdvIGhlcmUuIEp1c3QgdHdlYWsgaW4gb3RoZXIgcGFydGlhbHNcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbnMgLyBBZG1pblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJ3aWRnZXRzLWN0YVwiO1xuQGltcG9ydCBcImFkbWluXCI7XG5AaW1wb3J0IFwid2ViZm9ybXNcIjsgLy8gYmFzaWMgZm9ybSBzdHlsZXMgKGxhYmVscyBmbG9hdGVkIGV0Yy4pLCBtYWtlIGZ1cnRoZXIgdHdlYWtzIGluIGludGVybmFsIHBhZ2VzXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHbG9iYWwgU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcInZhci1zaXRlLWRlZmF1bHRcIjtcbkBpbXBvcnQgXCJsYXlvdXRcIjtcbkBpbXBvcnQgXCJzZWN0aW9uLWxhbmRpbmdcIjtcbkBpbXBvcnQgXCJuYXZpZ2F0aW9uXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJ2aWV3c1wiO1xuQGltcG9ydCBcInBhbmVsLWhvbWUtcGFnZVwiO1xuQGltcG9ydCBcInZhci1pbnRlcm5hbC1wYWdlc1wiO1xuQGltcG9ydCBcInZhci1wcm9kdWN0LWRldGFpbFwiO1xuQGltcG9ydCBcImJsb2dcIjtcbkBpbXBvcnQgXCJ2aWRlby1nYWxsZXJ5XCI7IFxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVycyAvIFBsdWdpbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0IFwidXRpbGl0eVwiO1xuQGltcG9ydCBcImFuaW1hdGVcIjtcbkBpbXBvcnQgXCJzbGlja1wiO1xuQGltcG9ydCBcImpRdWVyeS1wbHVnaW5zXCI7IC8vIGxpZ2h0Ym94IC8gc2xpZGVyIC8gcGx1Z2lucyBiYXNlIHN0eWxlc1xuXG4vLyBJRSBPTkxZXG5AaW1wb3J0IFwiaWVcIjsiLCIvKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKlxuICogYmxvY2svYmxvY2suY3NzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuI2Jsb2NrcyB0ZC5yZWdpb24geyBmb250LXdlaWdodDpib2xkOyB9XG5cbiNibG9ja3MgdHIucmVnaW9uLW1lc3NhZ2Uge1xuICBmb250LXdlaWdodDpub3JtYWw7XG4gIGNvbG9yOiM5OTk7XG4gIH1cblxuI2Jsb2NrcyB0ci5yZWdpb24tcG9wdWxhdGVkIHtcbiAgZGlzcGxheTpub25lO1xuICB9XG5cbi8qKlxuICogb3BlbmlkL29wZW5pZC5jc3MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuZGl2I2VkaXQtb3BlbmlkLWlkZW50aWZpZXItd3JhcHBlciB7IGRpc3BsYXk6YmxvY2s7IH1cblxuaHRtbC5qcyAjdXNlci1sb2dpbi1mb3JtIGRpdi5mb3JtLWl0ZW0tb3BlbmlkLWlkZW50aWZpZXIsXG5odG1sLmpzICN1c2VyLWxvZ2luIGRpdi5mb3JtLWl0ZW0tb3BlbmlkLWlkZW50aWZpZXIgeyBkaXNwbGF5Om5vbmU7IH1cblxuaHRtbC5qcyAjdXNlci1sb2dpbi1mb3JtIGxpLm9wZW5pZC1saW5rLFxuaHRtbC5qcyAjdXNlci1sb2dpbiBsaS5vcGVuaWQtbGluayB7IGRpc3BsYXk6YmxvY2s7IH1cblxuI3VzZXItbG9naW4tZm9ybSBsaS5vcGVuaWQtbGluayxcbiN1c2VyLWxvZ2luLWZvcm0gbGkudXNlci1saW5rLFxuI3VzZXItbG9naW4gbGkub3BlbmlkLWxpbmssXG4jdXNlci1sb2dpbiBsaS51c2VyLWxpbmsgeyBkaXNwbGF5Om5vbmU7IH1cblxuLyoqXG4gKiBzeXN0ZW0vc3lzdGVtLWJlaGF2aW9yLmNzcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG5cbi8qKlxuICogUGFzc3dvcmQgc3RyZW5ndGggaW5kaWNhdG9yXG4gKi9cbi5wYXNzd29yZC1zdHJlbmd0aCB7XG4gIHdpZHRoOjIwMHB4O1xuICBmbG9hdDpyaWdodDsgIC8qTFRSKi9cbiAgfVxuXG4ucGFzc3dvcmQtc3RyZW5ndGgtdGl0bGUgeyBkaXNwbGF5OmlubGluZTsgfVxuXG4ucGFzc3dvcmQtc3RyZW5ndGgtdGV4dCB7XG4gIGZsb2F0OnJpZ2h0OyAvKkxUUiovXG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gIH1cblxuLnBhc3N3b3JkLWluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6I2NjYztcbiAgaGVpZ2h0OjVweDtcbiAgd2lkdGg6MTAwJTtcbiAgfVxuXG4ucGFzc3dvcmQtaW5kaWNhdG9yIGRpdiB7XG4gIGhlaWdodDoxMDAlO1xuICB3aWR0aDowJTtcbiAgYmFja2dyb3VuZC1jb2xvcjojNGM2O1xuICB9XG5cbi8qKlxuICogUGFzc3dvcmQgY29uZmlybWF0aW9uIGNoZWNrZXJcbiAqL1xuZGl2LnBhc3N3b3JkLWNvbmZpcm0geyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmNvbnRhaW5lci1pbmxpbmUgZGl2LFxuLmNvbnRhaW5lci1pbmxpbmUgbGFiZWwgeyBkaXNwbGF5OmlubGluZTsgfVxuXG4uY29udGFpbmVyLWlubGluZSAuZmllbGRzZXQtd3JhcHBlciB7IGRpc3BsYXk6YmxvY2s7IH1cblxuLm5vd3JhcCB7IHdoaXRlLXNwYWNlOm5vd3JhcDsgfVxuXG5odG1sLmpzIC5qcy1oaWRlIHsgZGlzcGxheTpub25lOyB9XG5cbi5lbGVtZW50LWhpZGRlbiB7IGRpc3BsYXk6bm9uZTsgfVxuXG4uZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBjbGlwOnJlY3QoMXB4IDFweCAxcHggMXB4KTsgLyogSUU2LCBJRTcgKi9cbiAgY2xpcDpyZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIH1cblxuXG4vKipcbiAqIHN5c3RlbS9zeXN0ZW0uY3NzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cbmJvZHkuZHJhZyB7IGN1cnNvcjptb3ZlOyB9XG50aC5hY3RpdmUgaW1nIHsgZGlzcGxheTppbmxpbmU7IH1cblxudGQuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjojZGRkOyB9XG5cbnRkLmNoZWNrYm94LFxudGguY2hlY2tib3ggeyB0ZXh0LWFsaWduOmNlbnRlcjsgfVxuXG50aGVhZCB0aCB7IHRleHQtYWxpZ246YXV0bzsgfVxuXG4uZXJyb3IgeyBjb2xvcjojZTU1OyB9XG4ud2FybmluZyB7IGNvbG9yOiNlMDkwMTA7IH1cbi5vayB7IGNvbG9yOiMwMDgwMDA7IH1cblxuZGl2LmVycm9yIHsgYm9yZGVyOjFweCBzb2xpZCAjZDc3OyB9XG5kaXYud2FybmluZyB7IGJvcmRlcjoxcHggc29saWQgI2YwYzAyMDsgfVxuZGl2Lm9rIHsgYm9yZGVyOjFweCBzb2xpZCAjMDBhYTAwOyB9XG5cbmRpdi5lcnJvcixcbnRyLmVycm9yIHtcbiAgYmFja2dyb3VuZDojZmNjO1xuICBjb2xvcjojMjAwO1xuICB9XG5cbmRpdi53YXJuaW5nLFxudHIud2FybmluZyB7XG4gIGJhY2tncm91bmQ6I2ZmZDtcbiAgY29sb3I6IzIyMDtcbiAgfVxuXG5kaXYub2ssXG50ci5vayB7XG4gIGJhY2tncm91bmQ6I2RmZDtcbiAgY29sb3I6IzAyMDtcbiAgfVxuXG4uZm9ybS1pdGVtIGlucHV0LmVycm9yLFxuLmZvcm0taXRlbSB0ZXh0YXJlYS5lcnJvcixcbi5mb3JtLWl0ZW0gc2VsZWN0LmVycm9yIHtcbiAgYm9yZGVyLXN0eWxlOnNvbGlkO1xuICBib3JkZXItY29sb3I6cmVkO1xuICB9XG5cbi5mb3JtLWl0ZW0gbGFiZWwge1xuICBkaXNwbGF5OmJsb2NrO1xuICBmb250LXdlaWdodDpib2xkO1xuICB9XG5cbi5mb3JtLWl0ZW0gbGFiZWwub3B0aW9uIHtcbiAgZGlzcGxheTppbmxpbmU7XG4gIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbiAgfVxuXG4ubWFya2VyLFxuLmZvcm0tcmVxdWlyZWQgeyBjb2xvcjojZjAwOyB9XG5cbi5tb3JlLWxpbmssXG4ubW9yZS1oZWxwLWxpbmsgeyB0ZXh0LWFsaWduOnJpZ2h0OyB9XG5cbi5ub3dyYXAgeyB3aGl0ZS1zcGFjZTpub3dyYXA7IH1cblxuLml0ZW0tbGlzdCAucGFnZXIge1xuICBjbGVhcjpib3RoO1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgfVxuXG4uaXRlbS1saXN0IC5wYWdlciBsaSB7IGRpc3BsYXk6aW5saW5lOyB9XG5cbi5wYWdlci1jdXJyZW50IHsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxuXG5kbC5tdWx0aXNlbGVjdCBkdCxcbmRsLm11bHRpc2VsZWN0IGRkIHsgZmxvYXQ6bGVmdDsgfVxuXG5kbC5tdWx0aXNlbGVjdCBkZC5iLFxuZGwubXVsdGlzZWxlY3QgZGQuYiAuZm9ybS1pdGVtLFxuZGwubXVsdGlzZWxlY3QgZGQuYiBzZWxlY3QgeyB3aWR0aDoxNGVtOyB9XG5cbmRsLm11bHRpc2VsZWN0IGRkLmEsXG5kbC5tdWx0aXNlbGVjdCBkZC5hIC5mb3JtLWl0ZW0geyB3aWR0aDo4ZW07IH1cblxuLmNvbnRhaW5lci1pbmxpbmUgZGl2LFxuLmNvbnRhaW5lci1pbmxpbmUgbGFiZWwgeyBkaXNwbGF5OmlubGluZTsgfVxuXG4vKipcbiAqIEF1dG9jb21wbGV0ZSBzdHlsZXNcbiAqL1xuI2F1dG9jb21wbGV0ZSB7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICBib3JkZXI6MXB4IHNvbGlkO1xuICBvdmVyZmxvdzpoaWRkZW47XG4gIHotaW5kZXg6MTAwO1xuICB9XG5cbiNhdXRvY29tcGxldGUgbGkge1xuICBiYWNrZ3JvdW5kOiNmZmY7XG4gIGNvbG9yOiMwMDA7XG4gIHdoaXRlLXNwYWNlOnByZTtcbiAgY3Vyc29yOmRlZmF1bHQ7XG4gIH1cblxuI2F1dG9jb21wbGV0ZSBsaS5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6IzAwNzJiOTtcbiAgY29sb3I6I2ZmZjtcbiAgfVxuXG4vKipcbiAqIEFuaW1hdGVkIHRocm9iYmVyXG4gKi9cbmh0bWwuanMgaW5wdXQudGhyb2JiaW5nIHsgYmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoZHJ1cGFsL3Rocm9iYmVyLmdpZikgMTAwJSA1MCUgbm8tcmVwZWF0OyB9XG5cbi8qKlxuICogUmVzaXphYmxlIHRleHQgYXJlYXNcbiAqL1xuLmZvcm0tdGV4dGFyZWEtd3JhcHBlciB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuLnJlc2l6YWJsZSB0ZXh0YXJlYSB7IHJlc2l6ZTp2ZXJ0aWNhbDsgfVxuXG4vKipcbiAqIFRhYmxlIGRyYWcgYW5kIGRyb3AuXG4gKi9cbi5kcmFnZ2FibGUgYS50YWJsZWRyYWctaGFuZGxlIHtcbiAgY3Vyc29yOm1vdmU7XG4gIGZsb2F0OmxlZnQ7XG4gIG1hcmdpbi1yaWdodDoxMHB4O1xuICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgfVxuXG5hLnRhYmxlZHJhZy1oYW5kbGU6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246bm9uZTsgfVxuXG5hLnRhYmxlZHJhZy1oYW5kbGUgLmhhbmRsZSB7XG4gIGhlaWdodDoyMHB4O1xuICB3aWR0aDoyMHB4O1xuICBiYWNrZ3JvdW5kOnVybChkcnVwYWwvZHJhZ2dhYmxlLnBuZykgMHB4IDBweCBuby1yZXBlYXQ7XG4gIH1cblxuYS50YWJsZWRyYWctaGFuZGxlLWhvdmVyIC5oYW5kbGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOjBweCAtMjBweDsgfVxuXG5kaXYuaW5kZW50YXRpb24ge1xuICB3aWR0aDoyMHB4O1xuICBoZWlnaHQ6MjBweDtcbiAgZmxvYXQ6bGVmdDsgLyogTFRSICovXG4gIH1cblxuZGl2LnRyZWUtY2hpbGQgeyBiYWNrZ3JvdW5kOnVybChkcnVwYWwvdHJlZS5wbmcpIG5vLXJlcGVhdCAxMHB4IDUwJTsgfVxuZGl2LnRyZWUtY2hpbGQtbGFzdCB7IGJhY2tncm91bmQ6dXJsKGRydXBhbC90cmVlLWJvdHRvbS5wbmcpIG5vLXJlcGVhdCAxMHB4IDUwJTsgfVxuZGl2LnRyZWUtY2hpbGQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQ6dXJsKGRydXBhbC90cmVlLnBuZykgbm8tcmVwZWF0IC0xMHB4IDUwJTsgfVxuXG4vKipcbiAqIFRlYXNlciBzcGxpdHRlclxuICovXG4uam9pbmVkICsgLmdyaXBwaWUge1xuICBoZWlnaHQ6NXB4O1xuICBtYXJnaW4tYm90dG9tOi0ycHg7XG4gIH1cblxuLyogS2VlcHMgaW5uZXIgY29udGVudCBjb250YWluZWQgaW4gT3BlcmEgOS4gKi9cbi50ZWFzZXItY2hlY2tib3ggeyBwYWRkaW5nLXRvcDoxcHg7IH1cblxuZGl2LnRlYXNlci1idXR0b24td3JhcHBlciB7XG4gIGZsb2F0OnJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OjVweDtcbiAgfVxuXG4udGVhc2VyLWNoZWNrYm94IGRpdi5mb3JtLWl0ZW0ge1xuICBmbG9hdDpyaWdodDtcbiAgbWFyZ2luLXJpZ2h0OjVweDtcbiAgfVxuXG50ZXh0YXJlYS50ZWFzZXIgeyBkaXNwbGF5Om5vbmU7IH1cbmh0bWwuanMgLm5vLWpzIHsgZGlzcGxheTpub25lOyB9XG5cbi8qXG4qKiBQcm9ncmVzc2JhciBzdHlsZXNcbiovXG4ucHJvZ3Jlc3MgeyBmb250LXdlaWdodDpib2xkOyB9XG5cbi5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZDojZmZmIHVybChkcnVwYWwvcHJvZ3Jlc3MuZ2lmKTtcbiAgYm9yZGVyOjFweCBzb2xpZCAjMDM1O1xuICBoZWlnaHQ6MThweDtcbiAgfVxuXG4ucHJvZ3Jlc3MgLmZpbGxlZCB7XG4gIGJhY2tncm91bmQ6IzA3YjtcbiAgaGVpZ2h0OjE4cHg7XG4gIHdpZHRoOjAlO1xuICB9XG5cbi5wcm9ncmVzcyAucGVyY2VudGFnZSB7IGZsb2F0OnJpZ2h0OyB9XG4ucHJvZ3Jlc3MtZGlzYWJsZWQgeyBmbG9hdDpsZWZ0OyB9XG4uYWhhaC1wcm9ncmVzcyB7IGZsb2F0OmxlZnQ7IH1cblxuLmFoYWgtcHJvZ3Jlc3MgLnRocm9iYmVyIHtcbiAgd2lkdGg6MjBweDtcbiAgaGVpZ2h0OjIwcHg7XG4gIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKGRydXBhbC90aHJvYmJlci5naWYpIDUwJSA1MCUgbm8tcmVwZWF0O1xuICBmbG9hdDpsZWZ0O1xuICB9XG5cbi5haGFoLXByb2dyZXNzLWJhciB7IHdpZHRoOjE2ZW07IH1cblxuLyoqXG4gKiBGb3JtYXR0aW5nIGZvciB3ZWxjb21lIHBhZ2VcbiAqL1xuI2ZpcnN0LXRpbWUgc3Ryb25nIHsgZGlzcGxheTpibG9jazsgfVxuXG4vKipcbiAqIFRvIGJlIHVzZWQgd2l0aCB0YWJsZXNlbGVjdC5qc1xuICovXG50ci5zZWxlY3RlZCB0ZCB7IGJhY2tncm91bmQ6I2ZmYzsgfVxuXG4vKipcbiAqIEZsb2F0aW5nIGhlYWRlciBmb3IgdGFibGVoZWFkZXIuanNcbiAqL1xudGFibGUuc3RpY2t5LWhlYWRlciB7XG4gIG1hcmdpbi10b3A6MHB4O1xuICBiYWNrZ3JvdW5kOiNmZmY7XG4gIH1cblxuLyoqXG4gKiBJbnN0YWxsYXRpb24gY2xlYW4gVVJMc1xuICovXG4jY2xlYW4tdXJsLmluc3RhbGwgeyBkaXNwbGF5Om5vbmU7IH1cblxuLyoqXG4gKiBGb3IgYW55dGhpbmcgeW91IHdhbnQgdG8gaGlkZSBvbiBwYWdlIGxvYWQgd2hlbiBKUyBpcyBlbmFibGVkLCBzb1xuICogdGhhdCB5b3UgY2FuIHVzZSB0aGUgSlMgdG8gY29udHJvbCB2aXNpYmlsaXR5IGFuZCBhdm9pZCBmbGlja2VyLlxuICovXG5odG1sLmpzIC5qcy1oaWRlIHsgZGlzcGxheTpub25lOyB9XG5cbi8qKlxuICogU3R5bGVzIGZvciB0aGUgc3lzdGVtIG1vZHVsZXMgcGFnZSAoYWRtaW4vYnVpbGQvbW9kdWxlcylcbiAqL1xuI3N5c3RlbS1tb2R1bGVzIGRpdi5pbmNvbXBhdGlibGUsXG4jc3lzdGVtLXRoZW1lcy1mb3JtIGRpdi5pbmNvbXBhdGlibGUgeyBmb250LXdlaWdodDpib2xkOyB9XG5cbi8qKlxuICogTWFya3VwIGZyZWUgY2xlYXJpbmdcbiAqIERldGFpbHM6IGh0dHA6Ly9wZXJpc2hhYmxlcHJlc3MuY29tL3ByZXNzLzIwMDkvMTIvMDYvbmV3LWNsZWFyZml4LWhhY2tcbiAqL1xuLmNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCIuXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuKiBodG1sIC5jbGVhcmZpeCB7IGhlaWdodDogMSU7IH0gLyogSUU2ICovXG5cbio6Zmlyc3QtY2hpbGQgKyBodG1sIC5jbGVhcmZpeCB7IG1pbi1oZWlnaHQ6IDElOyB9IC8qIElFNyAqL1xuXG4vKipcbiAqIHVwZGF0ZS91cGRhdGUuY3NzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cbi51cGRhdGUgLnByb2plY3QsXG4udXBkYXRlIHRhYmxlLnZlcnNpb24tcmVjb21tZW5kZWQtc3Ryb25nIC52ZXJzaW9uLXRpdGxlIHsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxuXG4udXBkYXRlIC52ZXJzaW9uLXN0YXR1cyB7IGZsb2F0OnJpZ2h0OyB9XG4udXBkYXRlIC52ZXJzaW9uLXN0YXR1cyAuaWNvbiB7IHBhZGRpbmctbGVmdDoxMHB4OyB9XG4udXBkYXRlIC52ZXJzaW9uLWRhdGUgeyB3aGl0ZS1zcGFjZTpub3dyYXA7IH1cblxuLnVwZGF0ZSB0ci5lcnJvciAudmVyc2lvbi1yZWNvbW1lbmRlZCB7IGJhY2tncm91bmQ6ICNmZGQ7IH1cbi51cGRhdGUgdHIud2FybmluZyAudmVyc2lvbi1yZWNvbW1lbmRlZCB7IGJhY2tncm91bmQ6ICNmZmU7IH1cblxuLmN1cnJlbnQtdmVyc2lvbixcbi5uZXctdmVyc2lvbiB7IGRpcmVjdGlvbjogbHRyOyAvKiBOb3RlOiB2ZXJzaW9uIG51bWJlcnMgc2hvdWxkIGFsd2F5cyBiZSBMVFIuICovIH1cblxuLnVwZGF0ZSB0ci51bmtub3duIHsgYmFja2dyb3VuZDogI2RkZDsgfVxuLnVwZGF0ZSB0YWJsZS52ZXJzaW9uLXNlY3VyaXR5IC52ZXJzaW9uLXRpdGxlIHsgY29sb3I6ICM5MTA7IH1cblxuLnVwZGF0ZSAuc2VjdXJpdHktZXJyb3Ige1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM5MTA7XG4gIH1cblxuLyoqXG4gKiB1c2VyL3VzZXIuY3NzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG4jcGVybWlzc2lvbnMgdGQubW9kdWxlIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiNwZXJtaXNzaW9ucyB0ZC5wZXJtaXNzaW9uIHsgcGFkZGluZy1sZWZ0OjIwcHg7IH1cblxuLyoqXG4gKiBtaXNjL3ZlcnRpY2FsLXRhYnMuY3NzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG4udmVydGljYWwtdGFicyB7IHBhZGRpbmctbGVmdDoyMDBweDsgfVxuXG4udmVydGljYWwtdGFicyAudmVydGljYWwtdGFicy1saXN0IHtcbiAgZmxvYXQ6bGVmdDtcbiAgd2lkdGg6MjAwcHg7XG4gIG1hcmdpbi1sZWZ0Oi0yMDBweDtcbiAgfVxuXG4udmVydGljYWwtdGFicyAudmVydGljYWwtdGFicy1wYW5lcyAudmVydGljYWwtdGFicy1wYW5lIHtcbiAgbWFyZ2luOjBweDtcbiAgcGFkZGluZzowcHg7XG4gIGJvcmRlcjowcHg7XG4gIH1cblxuLnZlcnRpY2FsLXRhYnMgLnZlcnRpY2FsLXRhYnMtcGFuZXMgLnZlcnRpY2FsLXRhYnMtcGFuZSBsZWdlbmQgeyBkaXNwbGF5Om5vbmU7IH1cbi52ZXJ0aWNhbC10YWJzIC52ZXJ0aWNhbC10YWJzLWxpc3QgLnN1bW1hcnkgeyBkaXNwbGF5OmJsb2NrOyB9XG4iLCIvKipcbiAqIEJhc2Ugc3R5bGVzLlxuICogUHJvdmlkZXMgc2Vuc2libGUgZGVmYXVsdHMgZm9yIGV2ZXJ5dGhpbmcgdG8gc2F2ZSB5b3UgdGltZS4gT3ZlcnJpZGVcbiAqIHdpdGggYW4gZW1wdHkgc3R5bGVzaGVldCB0byBzdGFydCBvdmVyIGZyb20gc2NyYXRjaC5cbiAqL1xuXG4vKipcbiAqIFNraXAgbmF2aWdhdGlvbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cbiNza2lwLWxpbmsge1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgZGlzcGxheTpibG9jaztcbiAgfVxuXG4jc2tpcC1saW5rIGEsXG4jc2tpcC1saW5rIGE6bGluayxcbiNza2lwLWxpbmsgYTp2aXNpdGVkIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIGxlZnQ6LTEwMDAwcHg7XG4gIHdpZHRoOjFweDtcbiAgaGVpZ2h0OjFweDtcbiAgfVxuXG4jc2tpcC1saW5rIGE6aG92ZXIsXG4jc2tpcC1saW5rIGE6YWN0aXZlLFxuI3NraXAtbGluayBhOmZvY3VzIHtcbiAgcG9zaXRpb246c3RhdGljO1xuICB3aWR0aDphdXRvO1xuICBoZWlnaHQ6YXV0bztcbiAgfVxuXG4vKipcbiAqIFBhZ2Ugd2lkdGggbGltaXRlciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKlxuICogQ2FuIGJlIG5lc3RlZCB3aXRoaW4gbWFqb3Igc3RydWN0dXJhbCBlbGVtZW50cyB0byBhbGxvdyBmdWxsLXdpZHRoXG4gKiBibGVlZHMgY29tYmluZWQgd2l0aCBhIGZpeGVkIHBhZ2Ugd2lkdGguIFNldCBhIHdpZHRoIG9uIHRoaXMgaW4geW91clxuICogdGhlbWUgdG8gZ2V0IGEgY29uc2lzdGVudCBwYWdlIHdpZHRoIG9uIG1ham9yIGVsZW1lbnRzLlxuICovXG4ubGltaXRlciB7IG1hcmdpbjowcHggYXV0bzsgfVxuXG4vKipcbiAqIExpbmtzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKlxuICogQW55IHVsLmxpbmtzIGFyZSBnaXZlbiBhIGhvcml6b250YWwgdGFiLWxpa2UgZm9ybWF0dGluZy5cbiAqL1xudWwubGlua3MgbGksXG51bC5saW5rcyBsaSBhIHsgZmxvYXQ6bGVmdDsgfVxuXG51bC5saW5rcy5pbmxpbmUsXG51bC5saW5rcy5pbmxpbmUgbGksXG51bC5saW5rcy5pbmxpbmUgbGkgYSB7XG4gIGZsb2F0Om5vbmU7XG4gIGRpc3BsYXk6aW5saW5lO1xuICB9XG5cbi8qKlxuICogVGFibGVzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xudGFibGUge1xuICB3aWR0aDoxMDAlO1xuICBtYXJnaW46MHB4IDBweCAyMHB4O1xuICB9XG5cbnRhYmxlIHRoLFxudGFibGUgdGQgeyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7IH1cblxuLyoqXG4gKiBGb3JtcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG5cbmlucHV0LmZvcm0tc3VibWl0LFxubGFiZWwgeyBmb250LXdlaWdodDpib2xkOyB9XG5cbmlucHV0LmZvcm0tc3VibWl0IHsgY3Vyc29yOnBvaW50ZXI7IH1cblxuaW5wdXQuZm9ybS1yYWRpbyxcbmlucHV0LmZvcm0tY2hlY2tib3ggeyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7IH1cblxuLmZvcm0taXRlbSAuZGVzY3JpcHRpb24sXG4uZGVzY3JpcHRpb24ge1xuICBjb2xvcjojNjY2O1xuICBmb250LXNpemU6MTFweDtcbiAgfVxuXG5maWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGUgeyBjdXJzb3I6cG9pbnRlcjsgfVxuaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzZWQgLmZpZWxkc2V0LWNvbnRlbnQgeyBkaXNwbGF5Om5vbmU7IH1cblxuLyoqXG4gKiBWaWV3cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG50YWJsZS5ncmlkLTIgdGQgeyB3aWR0aDo1MCU7IH1cbnRhYmxlLmdyaWQtMyB0ZCB7IHdpZHRoOjMzLjMlOyB9XG50YWJsZS5ncmlkLTQgdGQgeyB3aWR0aDoyNSU7IH1cbnRhYmxlLmdyaWQtNSB0ZCB7IHdpZHRoOjIwJTsgfVxudGFibGUuZ3JpZC02IHRkIHsgd2lkdGg6MTYuNiU7IH1cbnRhYmxlLmdyaWQtNyB0ZCB7IHdpZHRoOjE0LjIlOyB9XG50YWJsZS5ncmlkLTggdGQgeyB3aWR0aDoxMi41JTsgfVxuIiwiLyogQ29sb3JzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLy8gXCJlc3NlbnRpYWxcIiBjb2xvcnMuIFRoZXNlIG1heSBjaGFuZ2UsIHdlIHdpbGwgcmV1c2UgdGhlbSBpbiBvdXIgY2xhc3NlcyBsYXRlci5cbiRibHVlOiAjM2Y0ZjhmO1xuJGRrYmx1ZTogIzE5MjU1NjtcbiRsdGJsdWU6ICNhMmFjYzg7XG4kcmVkOiAjYTkxZTIzO1xuJHJlZDI6ICNjNTMwMzU7XG5cblxuJHByaW1hcnk6ICRibHVlO1xuJHNlY29uZGFyeTogJHJlZDtcbiR0ZXJ0aWFyeTogIzY2NjtcbiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzAwMDtcbiRuZXV0cmFsOiAjY2NjO1xuXG4kdXRpbGl0eTokdGVydGlhcnk7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmFyaWFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBGb250c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiRzZXJpZjogR2VvcmdpYSxzZXJpZjtcbi8vICRzYW5zLXNlcmlmOlwiYWx3eW4tbmV3LXdlYlwiLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuJHNhbnM6IFwiYWx3eW4tbmV3LXdlYlwiLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuLy8gMTAwKGkpLCAzMDAoaSksIDUwMChpKVxuXG4vKiBMYXlvdXRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4kbWFpblBhZGRpbmc6IDAuNzE0Mjg1NzE0Mjg2ZW07IC8vIDEwLzk2MCAxMC8xNCA9XG4kY29udGFpbmVyLXdpZHRoOjk2MHB4O1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuRmxleCBzaG9ydGN1dHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kdmVydDogY29sdW1uO1xuJGhvcno6IHJvdztcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1peGluc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBAbWl4aW4gYm9yZGVyLWJveCgpIHtcbiBcdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpL0Nocm9tZSwgb3RoZXIgV2ViS2l0ICovXG4gXHQtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7ICAgIC8qIEZpcmVmb3gsIG90aGVyIEdlY2tvICovXG4gXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyAgICAgICAgIC8qIE9wZXJhL0lFIDgrICovXG4gfVxuXG4vLyBSRVNQT05TSVZFIE1JWElOUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xuICBAaWYgJHBvaW50ID09IHhzbWFsbCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7IEBjb250ZW50OyB9XG4gIH0vL3NtYWxsID0gPCA0ODBcbiAgQGlmICRwb2ludCA9PSBzbWFsbCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY2N3B4KSB7IEBjb250ZW50OyB9XG4gIH0vL3NtYWxsID0gPCA2NjdcbiAgQGVsc2UgaWYgJHBvaW50ID09IG1lZCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7IEBjb250ZW50OyB9XG4gIH0vL21lZGl1bSA9IDwgNzY4XG4gIEBlbHNlIGlmICRwb2ludCA9PSBsZyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5MHB4KSB7IEBjb250ZW50OyB9XG4gIH0vL2xhcmdlID0gPCA4OTBcbiAgQGVsc2UgaWYgJHBvaW50ID09IHhsZyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgeyBAY29udGVudDsgfVxuICB9Ly94bGFyZ2UgPSA8IDEwMjRcbiAgQGVsc2UgaWYgJHBvaW50ID09IHh4bGcge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfS8veHhsYXJnZSA9IDwgMTIwMFxuICBAZWxzZSBpZiAkcG9pbnQgPT0geHh4bGcge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDMwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfS8veHh4bGFyZ2UgPSA+IDE0MzBcbn0vL2JyZWFrcG9pbnRcbi8qIFVTQUdFXG5AaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbn0vL3hsYXJnZVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxnKSB7IC8vIExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG59Ly9sYXJnZVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZCkgeyAvLyBNRURJVU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbn0vL21lZGl1bVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbn0vL3NtYWxsXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG59Ly94c21hbGxcbiovXG5AbWl4aW4gd2lkdGgtbWF4LXdpZHRoKCR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbn1cblxuQG1peGluIGZ3Zm4oKSB7IC8vIEZVTEwgV0lEVEggRkxPQVQgTk9ORVxuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IG5vbmU7XG59Ly9md2ZuXG5cbkBtaXhpbiBwdGIoJHB0LCRwYikge1xuICBwYWRkaW5nLXRvcDogJHB0O1xuICBwYWRkaW5nLWJvdHRvbTogJHBiO1xufVxuXG5AbWl4aW4gcGxyKCRwbCwkcHIpIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGw7XG4gIHBhZGRpbmctcmlnaHQ6ICRwcjtcbn1cblxuLmRpc2FibGVkIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuJXVsLXplcm8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcblx0bGkge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0fVxufS8vJXVsLXplcm9cblxuLnVsLXplcm8geyBAZXh0ZW5kICV1bC16ZXJvOyB9XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRhcmdzLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJGFyZ3M7XG4gIC1tb3otdHJhbnNpdGlvbjogJGFyZ3M7XG4gIC1tcy10cmFuc2l0aW9uOiAkYXJncztcbiAgLW8tdHJhbnNpdGlvbjogJGFyZ3M7XG4gIHRyYW5zaXRpb246ICRhcmdzO1xufVxuXG4lZHRyYW5zIHsgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLWluLW91dCk7IH1cbiVkdHJhbnNmYXN0IHsgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7IH1cbiVkdHJhbnNzbG93IHsgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC41cyBlYXNlLWluLW91dCk7IH1cblxuJWZsdWlkLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuKiBDcmVhdGUgYSBzaW1wbGUgQ1NTIHRyaWFuZ2xlIChpZTggaW5jbHVkZWQhKVxuKiBAdG9kbywgY2xlYW51cCBsb2dpYyBhIGJpdC5cbiovXG5AbWl4aW4gdHJpYW5nbGUgKCR3aWR0aDoxMHB4LCAkZGlyZWN0aW9uOiBib3R0b20sICRjb2xvcjogYmxhY2spIHtcbiB3aWR0aDogMDtcbiBoZWlnaHQ6MDtcblxuIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkY29sb3I7XG4gfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkY29sb3I7XG4gfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICBib3JkZXItcmlnaHQ6JHdpZHRoIHNvbGlkICRjb2xvcjtcbiB9XG59XG5cbi8qKlxuKiBTZXQgd2lkdGgsIGhlaWdodCwgYW5kIGJhY2tncm91bmQgaW1hZ2Ugb2YgYSBjb21wYXNzLWltYWdlXG4qIChyZXF1aXJlcyByZWxhdGl2ZV9hc3NldHMgYmUgc2V0IHRvIHRydWUgaW4gY29uZmlnLnJiKVxuKiB1c2FnZTogc2l6ZS10by1pbWFnZSgnaW1nL2tpdHRlbi5qcGcnKVxuKi9cblxuQG1peGluIHNpemUtdG8taW1hZ2UoJGltZy1uYW1lKSB7XG4gICBiYWNrZ3JvdW5kOmltYWdlLXVybCgkaW1nLW5hbWUpIG5vLXJlcGVhdDtcbiAgIHdpZHRoOiBpbWFnZS13aWR0aCgkaW1nLW5hbWUpO1xuICAgaGVpZ2h0OmltYWdlLWhlaWdodCgkaW1nLW5hbWUpO1xufVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDA7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXHRjbGVhcjogYm90aDtcblx0aGVpZ2h0OiAwO1xufVxuXG4uY2xlYXIge1xuXHRjbGVhcjogYm90aDtcbn0iLCIvKiBHbG9iYWwgVHlwb2dyYXBoeVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbmJvZHkge1xuICBmb250LWZhbWlseTogJHNhbnM7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogJGJsYWNrO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0YSB7Y3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7fVxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG5cbi8qIEAgRm9udCBpbXBvcnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4vKiBUeXBlIENsYXNzZXMgKGZvciBlbGVtZW50cyB0aGF0IGRvIG5vdCBmaXQgaW50byBzaW1wbGUgYXJlYT5lbGVtZW50IHNlbGVjdG9ycylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi8qIEhlYWRpbmdzIChmb3IgY29udGVudCwgb3ZlcnJpZGUgUGFnZSB0aXRsZXMgZXRjIHdpdGggYSBjbGFzcylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQsIGg1LCAuaDUge1xuICBmb250LWZhbWlseTogJHNhbnM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG5cdG1hcmdpbjogMDtcbiAgLypcbiAgaWYgeW91J3JlIGdvaW5nIHRvIHVzZSB3ZWJmb250cywgYmUgc3VyZSB0byBjaGVjayB5b3VyIHdlaWdodHNcbiAgaHR0cDovL2Nzcy10cmlja3MuY29tL3dhdGNoLXlvdXItZm9udC13ZWlnaHQvXG4gICovXG5cbn1cblxuJGgxOiAzLjBlbTtcbiRoMjogMi4wZW07XG4kaDM6IDEuNzIyZW07XG4kaDQ6IDEuM2VtO1xuJGg1OiAxLjEyNWVtO1xuXG4uaDEge1xuICBmb250LXNpemU6ICRoMTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luOiAwO1xuICAmLm5vZGUtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDtcbiAgfVxufVxuXG4uZmllbGQtbmFtZS1maWVsZC1zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogJGg0O1xufS8vZmllbGQtbmFtZS1maWVsZC1zdWJ0aXRsZVxuXG4uaDIge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBmb250LXNpemU6ICRoMjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICM0NDQ7XG59XG5cbi5oMyB7XG4gIGZvbnQtc2l6ZTogJGgzO1xuICBtYXJnaW4tYm90dG9tOjAuMjVlbTtcbn1cblxuLmg0IHtcbiAgZm9udC1zaXplOiAkaDQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206LjE1ZW07XG59XG5cbi5oNSB7XG4gIGZvbnQtc2l6ZTogJGg1O1xuICBsaW5lLWhlaWdodDogMi4wOWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC5oMSB7Zm9udC1zaXplOiAkaDEgKiAwLjk1O31cblx0LmgyIHtmb250LXNpemU6ICRoMSAqIDAuOTA7fVxuXHQuaDMge2ZvbnQtc2l6ZTogJGgzICogMC45ODt9XG5cdC5oNCB7Zm9udC1zaXplOiAkaDQgKiAwLjk5O31cbn0vL3hsYXJnZVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxnKSB7IC8vIExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQuaDEge2ZvbnQtc2l6ZTogJGgxICogMC45MDt9XG5cdC5oMiB7Zm9udC1zaXplOiAkaDEgKiAwLjg1O31cblx0LmgzIHtmb250LXNpemU6ICRoMyAqIDAuOTY7fVxuXHQuaDQge2ZvbnQtc2l6ZTogJGg0ICogMC45ODt9XG59Ly9sYXJnZVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZCkgeyAvLyBNRURJVU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC5oMSB7Zm9udC1zaXplOiAkaDEgKiAwLjg1O31cblx0LmgyIHtmb250LXNpemU6ICRoMSAqIDAuODA7fVxuXHQuaDMge2ZvbnQtc2l6ZTogJGgzICogMC45NDt9XG5cdC5oNCB7Zm9udC1zaXplOiAkaDQgKiAwLjk3O31cbn0vL21lZGl1bVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC5oMSB7Zm9udC1zaXplOiAkaDEgKiAwLjgwO31cblx0LmgyIHtmb250LXNpemU6ICRoMSAqIDAuNzA7fVxuXHQuaDMge2ZvbnQtc2l6ZTogJGgzICogMC45Mjt9XG5cdC5oNCB7Zm9udC1zaXplOiAkaDQgKiAwLjk2O31cbn0vL3NtYWxsXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQuaDEge2ZvbnQtc2l6ZTogJGgxICogMC43NTt9XG5cdC5oMiB7Zm9udC1zaXplOiAkaDEgKiAwLjY1O31cblx0LmgzIHtmb250LXNpemU6ICRoMyAqIDAuOTA7fVxuXHQuaDQge2ZvbnQtc2l6ZTogJGg0ICogMC45NDt9XG59Ly94c21hbGxcblxuLy8gZm9udGF3ZXNvbWUgPT09PT09PT09PT09PT09PT09PT09PT09XG4gLmZhIHtcbiAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAmOmJlZm9yZSB7IGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnOyB9XG4gfS8vZmFcblxuLyogbGlua3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAmW2hyZWZePVwidGVsOlwiXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIDY2NyAtIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9Ly9zbWFsbFxuICB9XG59XG5cbmE6dmlzaXRlZCB7XG4gIGNvbG9yOiBub25lO1xufVxuXG4lYW5jaG9yLW5vcm1hbC1ob3ZlciB7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbi5tb3JlIHtcbiAgLy8gbm9ybWFsbHkgd2Ugd291bGQgb25seSB1c2UgLm1vcmUgZm9yIHRoZSA+PiBidXQgc2luY2UgaXQgaXMgb25seSBhcHBlYXJpbmcgd2l0aCB0aGUgc2FtZSBjb2xvcnMgaW4gdGhpcyBzaXRlLCBXZSB3aWxsIGp1c3QgdXNlIG9uZSBjbGFzZXNcbiAgY29sb3I6JHByaW1hcnk7XG4gIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgLjNzIGVhc2UpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOmxpZ2h0ZW4oJHByaW1hcnksMTAlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgIH1cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6J1xcMDBCQic7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjE1ZW07XG4gICAgbGluZS1oZWlnaHQ6MTtcbiAgICBsZXR0ZXItc3BhY2luZzotMnB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBub3JtYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcbiAgfS8vJjphZnRlclxufS8vbW9yZVxuXG4vKiBJbmxpbmVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4lYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OjUwMDtcbn1cbnN0cm9uZyB7XG4gIEBleHRlbmQgJWJvbGQ7XG59XG5cbmVtIHtcbiAgZm9udC1zdHlsZTppdGFsaWM7XG59XG5cbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTowLjllbTtcbn1cblxuc21hbGwge1xuICBAZXh0ZW5kIC5zbWFsbDtcbn1cblxuaHIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y2xlYXI6IGJvdGg7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXRvcDogNXB4IHNvbGlkIHJnYmEoIzAwMCwwLjE1KTtcblx0Ym94LXNoYWRvdzogMCAxcHggMCAjRkZGO1xuXHRtYXJnaW46IDIwcHggMDtcblx0cGFkZGluZzogMDtcblx0aGVpZ2h0OiBhdXRvO1xuXHR3aWR0aDogMTAwJTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEhlYWRsaW5lc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8vIGV4dGVuZHMgZnVsbCB3aWR0aCB3aXRoIHNlbWktdHJhbnNwYXJlbnQgYmFja2dyb3VuZDtcbiVzcGxhc2gtaGVhZGxpbmUge1xuICBjb2xvcjokbmV1dHJhbDtcbiAgZGlzcGxheTpibG9jaztcbiAgYmFja2dyb3VuZDokcHJpbWFyeTtcbiAgYmFja2dyb3VuZDpyZ2JhKCRwcmltYXJ5LC4zMCk7XG4gIG92ZXJmbG93OmF1dG87XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZ2UgQ29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gbWF5IGhhdmUgdG8gdXNlICNjb250ZW50LWFyZWEgaGVyZSwgaWYgbmVjZXNzYXJ5XG4ubWFpbiwgLmZpZWxkLW5hbWUtYm9keSwgJWJvZHktY29weSB7XG4gIC8vIGhlYWRpbmdzXG4gIGgxIHtcbiAgICBAZXh0ZW5kIC5oMTtcbiAgfVxuICBoMiB7XG4gICAgQGV4dGVuZCAuaDI7XG4gIH1cbiAgaDMge1xuICAgIEBleHRlbmQgLmgzO1xuICB9XG4gIGg0IHtcbiAgICBAZXh0ZW5kIC5oNDtcbiAgfVxuICBoNSB7XG4gICAgQGV4dGVuZCAuaDU7XG4gIH1cblxuICB1bCwgb2wge1xuICAgIG1hcmdpbjogMCAwIDEuNWVtIDNlbTtcbiAgICAmLnVsLXplcm8geyBAZXh0ZW5kICV1bC16ZXJvOyB9XG4gIH1cblxuICB1bCB7XG4gICAgQGV4dGVuZCAuYnVsbGV0LWxpc3Q7XG4gICAgJi51bC16ZXJvIHsgQGV4dGVuZCAldWwtemVybzsgfVxuICB9XG5cblxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogMS43ODU3MTQyODU3MTsgLy8yNS8xNFxuXHRcdG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOjEuMjE0Mjg1NzE0MjllbTsvLyAxLjUgLSAuMjg1NzE0Mjg1NzEgPVxuICAgIC8vIHByZXZlbnQgbG9uZyBsaW5rIHRleHQgZnJvbSBicmVha2luZyBvdXQgb2YgZ3JhcGhzXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6MTAwJTtcblx0XHR3aWR0aDogYXV0bztcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuICB9XG4gIC8qIExpbmtzXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4gIGEge1xuICAgIGNvbG9yOiR1dGlsaXR5O1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgLy8gQGV4dGVuZCAlYW5jaG9yLW5vcm1hbC1ob3ZlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgJi5idG4ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG59Ly8gLmNvbnRlbnQtYXJlYVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpc3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxpc3Qge1xuICAmLmRpdmlkZXIge1xuICAgIGxpK2xpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OlwifFwiO1xuICAgICAgcGFkZGluZzowIDAuOGVtO1xuICAgIH1cbiAgfVxuICAmLmlubGluZS1ibG9jayB7XG4gICAgbGkge1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG4gICYuaW5saW5lIHtcbiAgICBkaXNwbGF5OmlubGluZTtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OmlubGluZTtcbiAgICB9XG4gIH1cbn1cblxuLmJ1bGxldC1saXN0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMDtcblx0bWFyZ2luLWJvdHRvbToxLjIxNDI4NTcxNDI5ZW07XG5cdHBhZGRpbmc6IDA7XG5cdGxpIHtcblx0XHRkaXNwbGF5OiBsaXN0LWl0ZW07XG5cdFx0bGlzdC1zdHlsZS10eXBlOmRpc2M7XG5cdFx0bWFyZ2luOiAwIDAgMTVweCA1MHB4O1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cblxuLy8gaGVhZGluZyB3aXRoIG5vbi1idWxsZXRlZCBsaXN0IGJlbG93IGl0LlxuLy8gZm9yIHVzIGluIGNvbnRhY3QgcGFnZXMgZXRjLlxuLmluZm8tZ3JvdXAge1xuICBmb250LWZhbWlseTogJHNhbnM7XG4gIG1hcmdpbi1ib3R0b206MWVtO1xuXG4gIC5pbmZvLWdyb3VwLWhlYWRpbmcge1xuICAgIGZvbnQtZmFtaWx5OiAkc2FuczsgLy8gb3ZlcnJpZGUgaGVhZGluZyBzdHlsZXNcbiAgICBtYXJnaW4tYm90dG9tOjA7XG4gICB9XG5cbiAgLmluZm8tZ3JvdXAtbGlzdCB7XG4gICAgY29sb3I6JHByaW1hcnk7XG4gICAgbGlzdC1zdHlsZS10eXBlOm5vbmU7XG4gICAgbWFyZ2luOjA7XG4gIH1cbn1cblxuLyogRGVmaW5pdGlvbiBsaXN0cyAoVHJvdWJsZXNob290aW5nKSB8IGZyb20gaHR0cDovL2dvby5nbC9XY3RYbFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbToxZW07XG59XG5kdCB7XG4gIG1hcmdpbi1ib3R0b206MWVtO1xuICBmb250LXdlaWdodDpib2xkO1xufVxuXG5kZCArIGR0IHtcbiAgbWFyZ2luLXRvcDoxZW07XG59XG5cblxuZGwuaG9yaXpvbnRhbCB7XG4gIGR0IHtcbiAgICBAZXh0ZW5kICVob3Jpem9udGFsLWR0O1xuICB9XG5cbiAgZGQge1xuICAgIEBleHRlbmQgJWhvcml6b250YWwtZGQ7XG4gIH1cblxufVxuXG4laG9yaXpvbnRhbC1kdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjglO1xuICBjbGVhcjogbGVmdDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbiVob3Jpem9udGFsLWRkIHtcbiAgbWFyZ2luLWxlZnQ6MzAlO1xuICBtYXJnaW4tYm90dG9tOjEuNWVtO1xuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206MWVtO1xuICB9XG59XG5cbmRsLmljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0ZmxleDogMCAwIGF1dG87XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGNsZWFyOiBib3RoO1xuXHRtYXJnaW46IDAgMCAyMHB4IDA7XG5cdHBhZGRpbmc6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGR0IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogODBweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdH1cblx0ZGQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0ZHQsZGQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdGR0IHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9Ly9zbWFsbFxuXHRcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdhcm5pbmdzLyBFcm9yb3JzIC8gTWVzc2FnZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4lZXJyb3Ige1xuICBib3JkZXI6IDJweCBzb2xpZCAjRDU0MTQxO1xufVxuIiwiLmJ0biB7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrOyAvLyBkZWZhdWx0LCBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIC5ibG9ja1xuXHRwYWRkaW5nOiAxOHB4IDQwcHggMTdweCA0MHB4O1xuXHRiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcblx0Y29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXHRmb250LWZhbWlseTogJHNhbnM7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcblx0bGluZS1oZWlnaHQ6IDEuMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiAyNXB4O1xuXHRvdXRsaW5lOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0Ji5sZyB7XG5cdFx0cGFkZGluZzogMjVweCA1MHB4IDI1cHggNTBweDtcblx0XHRmb250LXNpemU6IDEuNWVtO1xuXHR9Ly9sZ1xuXHQmLm1lZCB7XG5cdFx0cGFkZGluZzogMTZweCAyNXB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDIzcHg7XG5cdH1cblx0Ji5zbSB7XG5cdFx0cGFkZGluZzogN3B4IDE1cHggNXB4O1xuXHRcdGZvbnQtc2l6ZTogMC44NWVtO1xuXHR9Ly9zbVxuXHQmOmhvdmVyIHsgYmFja2dyb3VuZDogbGlnaHRlbigkcHJpbWFyeSw3JSk7XHR9XG5cdCYucmVkIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xuXHRcdCY6aG92ZXIgeyBiYWNrZ3JvdW5kOiBsaWdodGVuKCRzZWNvbmRhcnksNCUpOyB9XG5cdH0vL3JlZFxuXHQmLndodCB7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5O1xuXHRcdCY6aG92ZXIge1x0YmFja2dyb3VuZDogI2VlZTsgfVxuXHR9Ly93aHRcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRkaXNwbGF5OiBibG9jaztcblx0ICAgcGFkZGluZzogMTdweCAzMHB4O1xuXHR9Ly94c21hbGxcbn0vLyAuYnRuXG5cblxuYnV0dG9uLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0Ym9yZGVyOjA7XG5cdEBleHRlbmQgLmJ0bjtcbn1cbiIsIi8vIHVzZXIgbG9naW5cbi5wYWdlLXVzZXIge1xuICAubWFpbiB7XG4gICAgLmlubmVyIHtcbiAgICAgIEBleHRlbmQgJWluc2lkZTtcbiAgICAgIHBhZGRpbmc6IDIlIDQlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9Ly9tYWluXG4gIHVsLnRhYnMge1xuICAgIEBleHRlbmQgJXVsLXplcm87XG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgfS8vYVxuICB9Ly91bC50YWJzXG4gIGZvcm0jdXNlci1sb2dpbiB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgLmZvcm0taXRlbSB7IG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgIGxhYmVsIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5mb3JtLXRleHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZTtcbiAgICAgICYuZXJyb3IgeyBib3JkZXItY29sb3I6IHJlZDsgfVxuICAgIH0vL2Zvcm0tdGV4dFxuICAgIC5mb3JtLXN1Ym1pdCB7IEBleHRlbmQgLmJ0bjsgfVxuICB9Ly9mb3JtI3VzZXItbG9naW5cbn0vL3BhZ2UtdXNlclxuLy8gQWRtaW4gVGFic1xuLmxvZ2dlZC1pbiB7XG4gIHBhZGRpbmc6IDAgMCA2NHB4ICFpbXBvcnRhbnQ7XG5cbiAgI3RhYnMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDgwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgei1pbmRleDogMzAwMDtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4ICNjY2M7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHByaW1hcnksNyUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHsgLy8gU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBib3R0b206IDA7XG4gICAgICB1bCB7bWFyZ2luOiAwOyB9XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYSB7XG4gICAgICAgICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9Ly9zbWFsbFxuICB9IC8vI3RhYnNcbn1cblxuI3Rvb2xiYXIge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH0vL3NtYWxsXG59Ly90b29sYmFyXG4iLCJAbWl4aW4gaW5wdXQtZGVmYXVsdCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nOiAxNXB4IDE1cHggMTNweCAxNXB4O1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYjViNWI1O1xuXHRmb250LWZhbWlseTogc2Fucy1zZXJpZjtcblx0Y29sb3I6ICRibGFjaztcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IDAuODc1ZW07XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5mb3JtLXNlbGVjdCxcbi5mb3JtLXRleHRhcmVhLFxuLmZvcm0tdGV4dCB7XG5cdEBpbmNsdWRlIGlucHV0LWRlZmF1bHQ7XG5cdCYuZXJyb3Ige2JvcmRlci1jb2xvcjogI2MwMDt9XG59XG5cbi5mb3JtLXRleHRhcmVhIHtcblx0aGVpZ2h0OiAxNTBweDtcblx0bGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLmZvcm0tc2VsZWN0IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Zvcm0tc2VsZWN0LWJrZy5wbmcpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuLmZvcm0taXRlbSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjbGVhcjogYm90aDtcblx0QGV4dGVuZCAuY2xlYXJmaXg7XG5cdG1hcmdpbjogMCAwIDIwcHggMDtcblx0cGFkZGluZzogMDtcblx0bGFiZWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdG1hcmdpbjogMCAwIDJweCAwO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0LmZvcm0tcmVxdWlyZWQge2NvbG9yOiAjYzAwO31cblx0fVxufVxuXG4uZXJyb3ItbXNnIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNsZWFyOiBib3RoO1xuXHRiYWNrZ3JvdW5kOiAjYzAwO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogMC44NzVlbTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0LmZvcm0tcmVxdWlyZWQge2Rpc3BsYXk6IG5vbmU7fVxufVxuXG4uZy1tYXAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y2xlYXI6IGJvdGg7XHRcbn1cblxuXG5mb3JtIHtcbiAgKiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gQ09OVEFDVCBVUyBPTkxZXG4ucGFnZS1ub2RlLTYge1xuXHQud2ViZm9ybS1jbGllbnQtZm9ybSB7XG5cdFx0ZGl2IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdC5mb3JtLWl0ZW0ge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDk4JTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDElO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDElO1xuXHRcdFx0XHQmLmhhbGYtY29sIHtcblx0XHRcdFx0XHR3aWR0aDogNDglO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYudGhpcmQtY29sIHtcblx0XHRcdFx0XHR3aWR0aDogMzEuMzMlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxnKSB7IC8vIFhMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRcdGRpdiB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdC5mb3JtLWl0ZW0uaGFsZi1jb2wsXG5cdFx0XHRcdC5mb3JtLWl0ZW0udGhpcmQtY29sLFxuXHRcdFx0XHQuZm9ybS1pdGVtIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9Ly94bGFyZ2VcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHsgLy8gTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0XHR9Ly9sYXJnZVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWQpIHsgLy8gTUVESVVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cdFx0fS8vbWVkaXVtXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0XHR9Ly9zbWFsbFxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwpIHsgLy8gWFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0XHR9Ly94c21hbGxcblx0XHRcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdsb2JhbCAocGFnZSBiYWNrZ3JvdW5kcyBldGMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4laW5zaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMiU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBwYWRkaW5nOiAwIDQlO1xuICB9Ly9tZWRpdW1cbn0vL2luc2lkZVxuXG4uaW5zaWRlIHtcbiAgQGV4dGVuZCAlaW5zaWRlO1xufS8vaW5zaWRlXG5cbiNjb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAwO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuJGhlYWRlci1oZWlnaHQ6IDEwMHB4O1xuJGhlYWRlci1oZWlnaHQtbWVkOiA3MHB4O1xuJGhlYWRlci1oZWlnaHQtc206IDYwcHg7XG5cbi5maWVsZC1uYW1lLWZpZWxkLXRvcC1iZy1pbWcgeyBkaXNwbGF5OiBub25lOyB9XG5cbi5tYWluIHtcbiAgcGFkZGluZy10b3A6ICRoZWFkZXItaGVpZ2h0O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgfS8veGxhcmdlXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBwYWRkaW5nLXRvcDogJGhlYWRlci1oZWlnaHQtbWVkO1xuICB9Ly9sYXJnZVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICB9Ly9tZWRpdW1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgcGFkZGluZy10b3A6ICRoZWFkZXItaGVpZ2h0LXNtO1xuICB9Ly9zbWFsbFxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIH0vL3hzbWFsbFxufS8vbWFpblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBQQUdFUlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG51bC5wYWdlciB7XG4gIEBleHRlbmQgJXVsLXplcm87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNsZWFyOiBib3RoO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgYSB7IGNvbG9yOiAkcHJpbWFyeTsgfVxuICAgICYucGFnZXItY3VycmVudCB7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgfS8vcGFnZXItY3VycmVudFxuICB9Ly9saVxufS8vdWwucGFnZXJcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgTU9CSUxFIE5BVlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4ubW9iaWxlLW5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDQ3MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gIHRvcDogJGhlYWRlci1oZWlnaHQ7XG4gIHJpZ2h0OiAtNDcwcHg7XG4gIC8vIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZWFlYWVhO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNlYWVhZWE7XG4gIHotaW5kZXg6IDcwMDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBAZXh0ZW5kICVkdHJhbnNmYXN0O1xuICAmLnZpcyB7IHJpZ2h0OiAwOyB9XG4gIHVsLm1lbnUsXG4gIHVsLnV0aWwtbmF2IHtcbiAgICBAZXh0ZW5kICV1bC16ZXJvO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGxpIHtcbiAgICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgIGNvbG9yOiAkZGtibHVlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2VhZWFlYTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfS8vYmVmb3JlXG4gICAgICAgICYub3JkZXI6YmVmb3JlIHsgY29udGVudDogdXJsKC4uL2ltZy9pY29uLXV0aWwtb3JkZXItMDEucG5nKTsgfVxuICAgICAgICAmLnNwZWNzOmJlZm9yZSB7IGNvbnRlbnQ6IHVybCguLi9pbWcvaWNvbi11dGlsLXNwZWNzLTAxLnBuZyk7IH1cbiAgICAgICAgJi5jYWxjOmJlZm9yZSB7IGNvbnRlbnQ6IHVybCguLi9pbWcvaWNvbi11dGlsLWNhbGMtMDEucG5nKTsgfVxuICAgICAgICAmLnBob25lIHsgY29sb3I6ICRzZWNvbmRhcnk7IH1cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICYuYWN0aXZlLXRyYWlsIHsgYmFja2dyb3VuZDogJHdoaXRlOyB9XG4gICAgICB9XG4gICAgfS8vbGlcbiAgfS8vdWwudXRpbC1uYXZcbiAgdWwudXRpbC1uYXYge1xuICAgIGxpIHtcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICB9Ly9hXG4gICAgfS8vbGlcbiAgfS8vdWwudXRpbC1uYXZcbiAgdWwuc24tbGlua3Mge1xuICAgIHBhZGRpbmc6IDI0cHggMzBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2VhZWFlYTtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogNCU7XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRsdGJsdWU7IH1cbiAgICAgIH0vL2FcbiAgICB9Ly9saVxuICB9Ly91bC5zbi1saW5rc1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHsgLy8gODkwIC0gTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgdG9wOiAkaGVhZGVyLWhlaWdodC1tZWQ7XG4gIH0vL2xhcmdlXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyA2NjcgLSBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIHRvcDogJGhlYWRlci1oZWlnaHQtc207XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIHJpZ2h0OiAtMzAwcHg7XG4gICAgdWwubWVudSxcbiAgICB1bC51dGlsLW5hdiB7XG4gICAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMGVtO1xuICAgICAgICB9XG4gICAgICB9Ly9saVxuICAgIH0vL3VsLm1lbnVcbiAgICB1bC51dGlsLW5hdiB7XG4gICAgICBsaSB7XG4gICAgICAgIGEgeyBmb250LXNpemU6IDAuODVlbTsgfVxuICAgICAgfS8vbGlcbiAgICB9Ly91bC51dGlsLW5hdlxuICAgIHVsLnNuLWxpbmtzIHsgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gIH0vL3NtYWxsXG59Ly9tb2JpbGUtbmF2XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIE9WRVJMQVlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogJGRrYmx1ZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogNTAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgQGV4dGVuZCAlZHRyYW5zZmFzdDtcbiAgJi5vcGFxdWUgeyBvcGFjaXR5OiAwLjk7IH1cbn0vL292ZXJsYXlcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIC5pbnNpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgcHRiKDE1cHgsMTVweCk7XG4gIH0vL2luc2lkZVxuICAuaGVhZGVyLWxlZnQgeyB3aWR0aDogMzAlOyB9XG4gIGEubG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAmLm5vdGFnIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH0vL2ltZ1xuICB9XG4gIC5oZWFkZXItcmlnaHQge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgJi51dGlsaXR5IHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIH0vL2xpXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogM3B4IDAgM3B4IDMwcHg7XG4gICAgICAgIGNvbG9yOiAkZGtibHVlO1xuICAgICAgICAmLm9yZGVyIHsgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29uLXV0aWwtb3JkZXItMDEucG5nKSBuby1yZXBlYXQgMCA1MCU7IH1cbiAgICAgICAgJi5zcGVjcyB7IGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi11dGlsLXNwZWNzLTAxLnBuZykgbm8tcmVwZWF0IDAgNTAlOyB9XG4gICAgICAgICYuY2FsYyB7IGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi11dGlsLWNhbGMtMDEucG5nKSBuby1yZXBlYXQgMCA1MCU7IH1cbiAgICAgICAgJi5waG9uZSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICB9Ly9waG9uZVxuICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIH0vL2FcbiAgICB9Ly91dGlsaXR5XG4gICAgJi5tb2JpbGUtZWxlbWVudHMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAuY29udCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE3cHg7XG4gICAgICAgICYucGhvbmUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgICAgICAgfS8vYmVmb3JlXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH0vL3NwYW5cbiAgICAgICAgICB9Ly9hXG4gICAgICAgIH0vL3Bob25lXG4gICAgICAgICYubW9iaWxlLXRyaWdnZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi1tdHJpZ2dlci1idXJnZXItMDEucG5nKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgICAgICAgICAmLm9wZW4geyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb24tbXRyaWdnZXItY2xvc2UtMDEucG5nKSBuby1yZXBlYXQgNTAlIDUwJTsgfVxuICAgICAgICB9Ly9tb2JpbGUtdHJpZ2dlclxuICAgICAgfS8vY29udFxuICAgIH0vL21vYmlsZS1lbGVtZW50c1xuICB9Ly9oZWFkZXItcmlnaHRcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7IC8vIDg5MCAtIExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC5pbnNpZGUgeyBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LW1lZDsgfVxuICAgIC5oZWFkZXItbGVmdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICB9Ly9oZWFkZXItbGVmdFxuICAgIGEubG9nbyB7XG4gICAgICBpbWcge1xuICAgICAgICAmLnRhZyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgJi5ub3RhZyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICB9Ly9pbWdcbiAgICB9XG4gICAgLmhlYWRlci1yaWdodCB7XG4gICAgICAvLyB3aWR0aDogNDUlO1xuICAgICAgJi51dGlsaXR5IHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgJi5tb2JpbGUtZWxlbWVudHMgeyBkaXNwbGF5OiBmbGV4OyB9XG4gICAgfS8vaGVhZGVyLXJpZ2h0XG4gIH0vL2xhcmdlXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWQpIHsgLy8gNzY4IC0gTUVESVVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIH0vL21lZGl1bVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHsgLy8gNjY3IC0gU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAuaW5zaWRlIHsgaGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1zbTsgfVxuICAgIC5oZWFkZXItbGVmdCB7IHdpZHRoOiA3MCU7IH1cbiAgICAuaGVhZGVyLXJpZ2h0IHtcbiAgICAgIC8vIHdpZHRoOiA0MCU7XG4gICAgICAmLm1vYmlsZS1lbGVtZW50cyB7XG4gICAgICAgIC5jb250IHtcbiAgICAgICAgICAmLnBob25lIHtcbiAgICAgICAgICAgIGEgc3BhbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0vL21vYmlsZS1lbGVtZW50c1xuICAgIH0vL2hlYWRlci1yaWdodFxuICB9Ly9zbWFsbFxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIDQ4MCAtIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIH0vL3hzbWFsbFxufS8vaGVhZGVyXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFNFQVJDSCAtIERJU0FCTEVEXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5zaXRlLXNlYXJjaCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAkaGVhZGVyLWhlaWdodDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDMlIDA7XG4gIGJhY2tncm91bmQ6ICM5OTk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDMwMDtcbiAgLmNsb3NlIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIGZvbnQtc2l6ZTogMi4wZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH0vL2ltZ1xuICAgICY6aG92ZXIgeyBvcGFjaXR5OiAwLjg7IH1cbiAgfS8vY2xvc2VcbiAgZm9ybSB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBmb250LXNpemU6IDEuMGVtO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB9Ly9pbnB1dFt0eXBlPXRleHRdXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICB3aWR0aDogMTAlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6IDEuMGVtO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiBsaWdodGVuKCRwcmltYXJ5LDEwJSk7IH1cbiAgICAgIH0vL2lucHV0W3R5cGU9c3VibWl0XVxuICAgIH0vLyNlZGl0LWFjdGlvbnNcbiAgfS8vZm9ybVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgfS8veGxhcmdlXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBmb3JtIHtcbiAgICAgIGlucHV0W3R5cGU9dGV4dF0geyB3aWR0aDogODUlOyB9XG4gICAgICAuZm9ybS1hY3Rpb25zIHsgd2lkdGg6IDE1JTsgfVxuICAgIH0vL2Zvcm1cbiAgfS8vbGFyZ2VcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZCkgeyAvLyBNRURJVU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgdG9wOiAkaGVhZGVyLWhlaWdodC1tZWQ7XG4gICAgLmNsb3NlIHsgd2lkdGg6IDEwJTsgfVxuICAgIGZvcm0ge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIGlucHV0W3R5cGU9dGV4dF0geyB3aWR0aDogODAlOyB9XG4gICAgICAuZm9ybS1hY3Rpb25zIHsgd2lkdGg6IDIwJTsgfVxuICAgIH0vL2Zvcm1cbiAgfS8vbWVkaXVtXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGZvcm0ge1xuICAgICAgaW5wdXRbdHlwZT10ZXh0XSB7IHdpZHRoOiA3MCU7IH1cbiAgICAgIC5mb3JtLWFjdGlvbnMgeyB3aWR0aDogMzAlOyB9XG4gICAgfS8vZm9ybVxuICB9Ly9zbWFsbFxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGZvcm0ge1xuICAgICAgd2lkdGg6IDg1JTtcbiAgICAgIC5mb3JtLWFjdGlvbnMgeyBmb250LXNpemU6IDAuOWVtOyB9XG4gICAgfS8vZm9ybVxuICB9Ly94c21hbGxcbn0vL3NpdGUtc2VhcmNoXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlZWU7XG4gIGZvbnQtc2l6ZTogMC45NWVtO1xuICAuaW5zaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBAaW5jbHVkZSBwdGIoNSUsMiUpO1xuICB9Ly9pbnNpZGVcbiAgLmZvb3QtbGVmdCB7XG4gICAgYS5uZXdzbGV0dGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogOCUgMDtcbiAgICAgIHBhZGRpbmctbGVmdDogNDJweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi1tYWlsLTAxLnBuZykgbm8tcmVwZWF0IDAgNTAlO1xuICAgICAgZm9udC1zaXplOiAxLjE1ZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICRka2JsdWU7XG4gICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICB9Ly9hLm5ld3NsZXR0ZXJcbiAgICB1bC5sZWdhbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3JTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICYuaG9tZS1vbmx5IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIC5mcm9udCAmIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICY6aG92ZXIgeyBib3JkZXItY29sb3I6ICNlN2U3ZTc7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0vL3VsLmxlZ2FsXG4gIH0vL2Zvb3QtbGVmdFxuICAuZm9vdC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgYS5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDglO1xuICAgIH0vL2EubG9nb1xuICAgIGEucGhvbmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiA4JSAwO1xuICAgIH0vL2EucGhvbmVcbiAgICB1bC5zbi1saW5rcyB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRsdGJsdWU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGx0Ymx1ZSwyMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfS8vYVxuICAgICAgfS8vbGlcbiAgICB9Ly91bC5zbi1saW5rc1xuICB9Ly9mb290LXJpZ2h0XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWQpIHsgLy8gNzY4IC0gTUVESVVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC5pbnNpZGUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9Ly9pbnNpZGVcbiAgICAuc2VjIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpdixcbiAgICAgIHVsLFxuICAgICAgYSB7IG1hcmdpbjogMCAwIDE1cHggIWltcG9ydGFudDsgfVxuICAgIH0vL3NlY1xuICAgIC5mb290LWxlZnQgeyBvcmRlcjogMTsgfVxuICB9Ly9tZWRpdW1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIDY2NyAtIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgfS8vc21hbGxcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyA0ODAgLSBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICB9Ly94c21hbGxcbn0vL2Zvb3RlclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgVE9QIFJJR0hUIEJPVFRPTSBMQVlPVVRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnRvcC1yaWdodC1idG0tbGF5b3V0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNsZWFyOiBib3RoO1xuXHQuY29udGVudC10b3Age1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG5cdC5jb250ZW50IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNjBweDtcblx0XHRwYWRkaW5nLXRvcDogNjBweDtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Jhc2ljLWJvZHktYXJlYS1ia2cuanBnKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjREREO1xuXHRcdC5pbnNpZGUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdH1cblx0XHQuY29udGVudC1hcmVhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDU1JTtcblx0XHR9XG5cdFx0LnJpZ2h0IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDQwJTtcblx0XHRcdG1hcmdpbi1sZWZ0OiA1JTtcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdHBhZGRpbmc6IDMwcHg7XG5cdFx0fVxuXHR9XG5cdFxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxnKSB7IC8vIFhMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRcdC5jb250ZW50IHtwYWRkaW5nLWJvdHRvbTogNXZ3OyBwYWRkaW5nLXRvcDogNXZ3O31cblx0XHR9Ly94bGFyZ2VcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHsgLy8gTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0fS8vbGFyZ2VcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0Lmluc2lkZSB7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjt9XG5cdFx0XHRcdC5jb250ZW50LWFyZWEge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0XHRcdG9yZGVyOiAyO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5yaWdodCB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0XHRvcmRlcjogMTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9Ly9tZWRpdW1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHsgLy8gU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXHRcdH0vL3NtYWxsXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXHRcdH0vL3hzbWFsbFxuXHRcbn0vL3RvcC1yaWdodC1idG0tbGF5b3V0IiwiLmxheW91dC1zZWN0aW9uLWxhbmRpbmcge1xuXHRcblx0LmNvbnRlbnQtdG9wLFxuXHQuc3VidG9wLFxuXHQuY29udGVudC0wMSxcblx0LmNvbnRlbnQtMDIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cdFxuICAuY29udGVudC10b3Age1xuXHRcdEBleHRlbmQgLmNsZWFyZml4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxYTI4NTc7XG5cdFx0Lmluc2lkZSB7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH0vL2luc2lkZVxuICB9Ly9jb250ZW50LXRvcFxuXHRcbiAgLnN1YnRvcCB7XG5cdFx0QGV4dGVuZCAuY2xlYXJmaXg7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdHBhZGRpbmctYm90dG9tOiAxMDBweDtcblx0XHRwYWRkaW5nLXRvcDogMTAwcHg7XG5cdFx0cDpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOiAwO31cblx0XHQudmlldy1pZC1pbnRlcmlvcl9tZW51IC5pdGVtLWxpc3QgdWwsXG5cdFx0dWwubWVudSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246ICRob3J6O1xuXHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdG1hcmdpbjogMCAwIC0zMHB4IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0bGkge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDQ4JTtcblx0XHRcdFx0bWFyZ2luOiAwIDAgMzBweCA0JTtcblx0XHRcdFx0cGFkZGluZzogMCAwIDAgNzBweDtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdGNsZWFyOiBub25lO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDUwcHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS42NjdlbTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDEwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdCY6bnRoLWNoaWxkKDJuKzEpIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0fVxuXHRcdFx0XHQudmlld3MtZmllbGQtZmllbGQtdG9wLWJnLWltZyxcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6IDUwcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQudmlld3MtZmllbGQtZmllbGQtdG9wLWJnLWltZyB7XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDQ4cHg7XG5cdFx0XHRcdFx0XHRtYXgtaGVpZ2h0OiA0OHB4O1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAxMDA7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDhweDtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogOHB4O1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTVlNWU1O1xuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHJlZDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG4gIH0vL3N1YnRvcFxuXHRcblx0LmNvbnRlbnQtMDIsXG4gIC5jb250ZW50LTAxIHtcblx0XHRAZXh0ZW5kIC5jbGVhcmZpeDtcblx0XHRwYWRkaW5nLXRvcDogMTAwcHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDEwMHB4O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmFzaWMtYm9keS1hcmVhLWJrZy5qcGcpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXHRcdGgzIHtjb2xvcjogJHJlZDt9XG5cdFx0LmZpZWxkLW5hbWUtYm9keSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRcdFx0cDpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOiAwO31cblx0XHR9XG4gIH0vL2NvbnRlbnQtMDFcblx0XG5cdC5jb250ZW50LTAyIHtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdH1cblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsZykgeyAvLyBYWExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdC5zdWJ0b3AsXG5cdFx0LmNvbnRlbnQtMDIsXG5cdFx0LmNvbnRlbnQtMDEge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDZ2dztcblx0XHRcdHBhZGRpbmctdG9wOiA2dnc7XG5cdFx0fVxuXHR9Ly94eGxnXG5cdFxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0LnN1YnRvcCB7XG5cdFx0XHQudmlldy1pZC1pbnRlcmlvcl9tZW51IC5pdGVtLWxpc3QgdWwsXG5cdFx0XHR1bC5tZW51IHtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246ICR2ZXJ0O1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9Ly94bGdcblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHQuc3VidG9wIHtcblx0XHRcdC52aWV3LWlkLWludGVyaW9yX21lbnUgLml0ZW0tbGlzdCB1bCxcblx0XHRcdHVsLm1lbnUge1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjIyMmVtO1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiA2MHB4O1xuXHRcdFx0XHRcdC52aWV3cy1maWVsZC1maWVsZC10b3AtYmctaW1nLFxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fS8vbWVkaXVtXG5cdFxufS8vbm9kZS10eXBlLXNlY3Rpb24tbGFuZGluZ1xuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgTUFJTiBNRU5VIC0gSEVBREVSXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5oZWFkZXIge1xuICAubWVudS1uYW1lLW1haW4tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMiU7XG4gICAgdWwubWVudSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgQGV4dGVuZCAldWwtemVybztcbiAgICB9Ly91bC5tZW51XG4gICAgLy8gYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjE1ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgfS8vYVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICYgPiB1bCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICB9Ly9ob3ZlclxuICAgICAgJiA+IHVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2RlZGVkZTtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGVkZWRlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAkZGtibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9Ly9hXG4gICAgICAgIH0vL2xpXG4gICAgICB9Ly8mID4gdWxcbiAgICB9Ly9saVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHsgLy8gTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH0vL2xhcmdlXG4gIH0vL21lbnUtbmFtZS1tYWluLW1lbnVcbn0vL2hlYWRlclxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBSSUdIVCBTSURFQkFSIE1FTlVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnJpZ2h0IHtcbiAgdWwubWVudSB7XG4gICAgQGV4dGVuZCAldWwtemVybztcbiAgICBsaSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogMCAwIDFweCAwO1xuXHRcdFx0cGFkZGluZzogMDtcbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjODg4O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuYWN0aXZlIHsgYmFja2dyb3VuZDogI2FhYTsgfVxuICAgICAgfS8vYVxuICAgIH0vL2xpXG4gIH0vL3VsLm1lbnVcbn0vL3JpZ2h0XG5cbiIsIi8vIEJMT0cgVklFVyBTVFlMRVMgQVJFIElOIFRIRSBcImJsb2dcIiBQQVJUSUFMXG5cbiV2aWV3LWxpc3QtZGVmYXVsdCB7XG4gIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnZpZXdzLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgICYudmlld3Mtcm93LWZpcnN0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH0vL3ZpZXdzLXJvdy1maXJzdFxuICB9Ly92aWV3cy1yb3dcbn0vLyV2aWV3LWxpc3QtZGVmYXVsdFxuXG4ldGl0bGUtZGVmYXVsdCB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGEge1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgfVxufS8vJXRpdGxlXG5cbiVzdWJ0aXRsZS1kZWZhdWx0IHtcbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIGNvbG9yOiAjOTk5O1xufS8vJXN1YnRpdGxlLWRlZmF1bHRcblxuJXNuaXBwZXQtZGVmYXVsdCB7XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgfVxufS8vJXNuaXBwZXQtZGVmYXVsdFxuXG4vLyBUdXJuaW5nIG9mZiBhbm5veW5pbmcgZGVmYXVsdCBzdHlsZXNcbi52aWV3cy1leHBvc2VkLWZvcm0gLnZpZXdzLWV4cG9zZWQtd2lkZ2V0IHsgZmxvYXQ6IG5vbmU7IHBhZGRpbmc6IDA7IH1cbi52aWV3cy1leHBvc2VkLWZvcm0gLnZpZXdzLWV4cG9zZWQtd2lkZ2V0IC5mb3JtLXN1Ym1pdCB7IG1hcmdpbjogMDsgfVxuLnZpZXdzLWV4cG9zZWQtZm9ybSAuZm9ybS1pdGVtLCAudmlld3MtZXhwb3NlZC1mb3JtIC5mb3JtLXN1Ym1pdCB7IG1hcmdpbjogMDsgfVxuLnZpZXdzLWV4cG9zZWQtd2lkZ2V0cyB7IG1hcmdpbjogMDsgfVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBWSURFTyBHQUxMRVJZXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi52aWV3LXZpZGVvLWdhbGxlcnkge1xuICAudmlld3Mtcm93IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMjclO1xuICAgIG1hcmdpbjogMCAyJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaW1nIHsgQGV4dGVuZCAlZmx1aWQtaW1nOyB9XG4gIH0vL3ZpZXdzLXJvd1xufS8vdmlldy12aWRlby1nYWxsZXJ5XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0VDVElPTiBMQU5ESU5HIEhFUk9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnZpZXctaWQtc2VjdGlvbl9sYW5kaW5nX2hlcm8ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y2xlYXI6IGJvdGg7XG5cdGJhY2tncm91bmQtY29sb3I6ICMxOTI0NGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvdmlldy1zZWN0aW9uLWxhbmRpbmctYmtnLmpwZyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LnZpZXctY29udGVudCB7XG5cdFx0QGV4dGVuZCAlaW5zaWRlO1xuXHRcdHBhZGRpbmctYm90dG9tOiAxMDBweDtcblx0XHRwYWRkaW5nLXRvcDogMTAwcHg7XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHQudmlld3Mtcm93IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogJGhvcno7XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHQudmlld3MtZmllbGQge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogJHZlcnQ7XG5cdFx0XHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdFx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR6LWluZGV4OiA1O1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0XHRtYXJnaW46IGF1dG8gMDtcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9Ly9maWVsZC1jb250ZW50XG5cdFx0XHR9Ly92aWV3cy1maWVsZFxuXHRcdFx0LnZpZXdzLWZpZWxkLWZpZWxkLXRvcC1iZy1pbWcge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcblx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdGltZyB7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O31cblx0XHRcdH0vL3RvcC1iZy1pbWdcblx0XHRcdC52aWV3cy1maWVsZC10aXRsZSB7XG5cdFx0XHRcdGgxIHtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdH1cblx0XHRcdFx0aDIge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRmb250LXNpemU6IDEuMzg5ZW07XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdFx0fVxuXHRcdFx0fS8vdmlld3MtZmllbGQtdGl0bGVcblx0XHRcdC52aWV3cy1maWVsZC10aXRsZS0xIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNTA2MWE1O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDMwcHggMjRweCAyOHB4IDI0cHg7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNDBweDtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjM4OWVtO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcblx0XHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRib3gtc2hhZG93OiAwcHggNnB4IDZweCAycHggcmdiYSgjMDAwLDAuMik7XG5cdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7fVxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDY4cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHR3aWR0aDogNDhweDtcblx0XHRcdFx0XHRcdGhlaWdodDogNDhweDtcblx0XHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0bGVmdDogMHB4O1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0XHRcdH1cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9Ly9pXG5cdFx0XHRcdH0vL2Fcblx0XHRcdH0vL3ZpZXdzLWZpZWxkLXRpdGxlLTFcblx0XHR9Ly92aWV3cy1yb3dcblx0fS8vdmlldy1jb250ZW50XG5cdFxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0LnZpZXctY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMTB2dztcblx0XHRcdHBhZGRpbmctdG9wOiAxMHZ3O1xuXHRcdH1cblx0fS8veGxhcmdlXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3ZpZXctc2VjdGlvbi1sYW5kaW5nLWJrZy1tb2IuanBnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcblx0XHQudmlldy1jb250ZW50IHtcblx0XHRcdC52aWV3cy1yb3cge1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogJHZlcnQ7XG5cdFx0XHRcdC52aWV3cy1maWVsZCB7XG5cdFx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC52aWV3cy1maWVsZC1maWVsZC10b3AtYmctaW1nIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O31cblx0XHRcdFx0LnZpZXdzLWZpZWxkLXRpdGxlIHsgXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQudmlld3MtZmllbGQtdGl0bGUtMSB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAyNHB4IDI0cHggMjJweCAyNHB4O1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwcHg7XG5cdFx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRcdFx0bGVmdDogLTVweDtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDM1cHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMzVweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHNwYW4ge3BhZGRpbmctbGVmdDogNTBweDt9XG5cdFx0XHRcdFx0fS8vYVxuXHRcdFx0XHR9Ly90aXRsZS0xXG5cdFx0XHR9Ly92aWV3cy1yb3dcblx0XHR9Ly92aWV3LWNvbnRlbnRcblx0fS8vbGFyZ2VcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZCkgeyAvLyBNRURJVU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFxuXHR9Ly9tZWRpdW1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0LnZpZXctY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzVweDtcblx0XHRcdHBhZGRpbmctdG9wOiAzNXB4O1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7bWFyZ2luLWJvdHRvbTogMDt9XG5cdFx0XHRcdC52aWV3cy1maWVsZC10aXRsZSB7IFxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRcdFx0aDIge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjIyMmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQudmlld3MtZmllbGQtdGl0bGUtMSB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAyNXB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMThweDtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxNnB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjIyMmVtO1xuXHRcdFx0XHRcdFx0aSB7bGVmdDogLTEwcHg7fVxuXHRcdFx0XHRcdFx0c3BhbiB7cGFkZGluZy1sZWZ0OiA0MHB4O31cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0vL3NtYWxsXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwpIHsgLy8gWFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0LnZpZXctY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMjVweDtcblx0XHRcdHBhZGRpbmctdG9wOiAyNXB4O1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRcdC52aWV3cy1maWVsZC10aXRsZS0xIHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4wNTZlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0vL3hzbWFsbFxuXHRcbn0vL3NlY3Rpb24tbGFuZGluZy1oZXJvXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0VDVElPTiBMQU5ESU5HIFNVQkNPTlRFTlQgVE9QXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi52aWV3LXNlY3Rpb24tbGFuZGluZy1zdWJ0b3Age1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y2xlYXI6IGJvdGg7XG5cdG1hcmdpbjogMCAwIDYwcHggMDtcblx0cGFkZGluZzogNjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHQudmlldy1jb250ZW50IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHRtYXJnaW46IDA7XG5cdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246ICRob3J6O1xuXHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdC52aWV3cy1maWVsZCB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogJHZlcnQ7XG5cdFx0XHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiBhdXRvIDA7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYudmlld3MtZmllbGQtZmllbGQtc3VidG9wLWltYWdlIHtcblx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvd2F2ZXMtYmctZ3JleS1zaWRlLTAxLW9wdC5wbmcpO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMzVweDtcblx0XHRcdFx0XHRcdGhlaWdodDogNzRweDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0bGVmdDogLTYwcHg7XG5cdFx0XHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3dhdmVzLWJnLWdyZXktc2lkZS0wMS1vcHQucG5nKTtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTM1cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDc0cHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdHJpZ2h0OiAtNjBweDtcblx0XHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCl0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0XHR6LWluZGV4OiA1O1xuXHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1zdWJ0b3AtY29udGVudCB7XG5cdFx0XHRcdFx0LmZpZWxkLWNvbnRlbnQge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMDBweDtcblx0XHRcdFx0XHRcdHA6bGFzdC1jaGlsZCB7bWFyZ2luLWJvdHRvbTogMDt9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGcpIHsgLy8gWFhMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRtYXJnaW4tYm90dG9tOiA1dnc7XG5cdFx0cGFkZGluZzogNDBweDtcblx0fS8veGxhcmdlXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRwYWRkaW5nOiAzNXB4O1xuXHRcdC52aWV3LWNvbnRlbnQge1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiAkdmVydDtcblx0XHRcdFx0LnZpZXdzLWZpZWxkIHtcblx0XHRcdFx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1zdWJ0b3AtaW1hZ2Uge1xuXHRcdFx0XHRcdFx0JjpiZWZvcmUge2Rpc3BsYXk6IG5vbmU7fVxuXHRcdFx0XHRcdFx0JjphZnRlciB7ZGlzcGxheTogbm9uZTt9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtZmllbGQtc3VidG9wLWNvbnRlbnQge1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cdFx0XHRcdFx0XHQuZmllbGQtY29udGVudCB7cGFkZGluZy1sZWZ0OiAwO31cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0vL2xhcmdlXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWQpIHsgLy8gTUVESVVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdHBhZGRpbmc6IDMwcHg7XG5cdH0vL21lZGl1bVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHsgLy8gU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRwYWRkaW5nOiAyNXB4O1xuXHR9Ly9zbWFsbFxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdH0vL3hzbWFsbFxuXHRcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCQVNJQyBQQUdFIEhFUk9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnZpZXctaWQtYmFzaWNfcGFnZV9oZXJvIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNsZWFyOiBib3RoO1xuXHRtYXJnaW46IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICMxYTI4NTc7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmFzaWMtaGVyby1hcmVhLWJrZy5qcGcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDUwJTtcblx0XHRiYWNrZ3JvdW5kOiAjMTMxZjQ3O1xuXHRcdG9wYWNpdHk6IDAuNDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cdC52aWV3LWNvbnRlbnQge1xuXHRcdEBleHRlbmQgJWluc2lkZTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cdFx0cGFkZGluZy10b3A6IDEwMHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiA1O1xuXHRcdC52aWV3cy1yb3cge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiAkaG9yejtcblx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdC52aWV3cy1maWVsZCB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiAkdmVydDtcblx0XHRcdFx0ZmxleDogMCAwIDUwJTtcblx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0bWF4LXdpZHRoOiA1MCU7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW46IGF1dG8gMDtcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYudmlld3MtZmllbGQtZmllbGQtdG9wLWJnLWltZyB7XG5cdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC4xOTtcblx0XHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246ICRob3J6O1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdFx0XHRcdFx0ZGl2LmxlZnQsXG5cdFx0XHRcdFx0XHRkaXYucmlnaHQge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogJHZlcnQ7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdFx0XHRcdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdC5ib3gge1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogYXV0byAwO1xuXHRcdFx0XHRcdFx0XHR9Ly9ib3hcblx0XHRcdFx0XHRcdH0vL2xlZnQscmlnaHRcblx0XHRcdFx0XHRcdGRpdi5sZWZ0IHtcblx0XHRcdFx0XHRcdFx0LmJveCB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZGl2LnJpZ2h0IHtcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCYudmlld3MtZmllbGQtdGl0bGUge1xuXHRcdFx0XHRcdGgxIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRoMiB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4zODllbTtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9Ly92aWV3cy1maWVsZC10aXRsZVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxnKSB7IC8vIFhYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0LnZpZXctY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNnZ3O1xuXHRcdFx0cGFkZGluZy10b3A6IDZ2dztcblx0XHR9XG5cdH1cblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxnKSB7IC8vIFhMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHQudmlldy1jb250ZW50IHtcblx0XHRcdC52aWV3cy1yb3cge1xuXHRcdFx0XHQudmlld3MtZmllbGQge1xuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtZmllbGQtdG9wLWJnLWltZyB7XG5cdFx0XHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiAkdmVydDtcblx0XHRcdFx0XHRcdFx0ZGl2LmxlZnQge2Rpc3BsYXk6IG5vbmU7fVxuXHRcdFx0XHRcdFx0XHRkaXYucmlnaHQge1xuXHRcdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0LmJveCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9Ly94bGFyZ2VcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7IC8vIExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cdH0vL2xhcmdlXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWQpIHsgLy8gTUVESVVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdCY6YmVmb3JlIHtkaXNwbGF5OiBub25lO31cblx0XHQudmlldy1jb250ZW50IHtcblx0XHRcdC52aWV3cy1yb3cge1xuXHRcdFx0XHQudmlld3MtZmllbGQge1xuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtdGl0bGUge1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIDc1JTtcblx0XHRcdFx0XHRcdHdpZHRoOiA3NSU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDc1JTtcblx0XHRcdFx0XHRcdGgyIHtmb250LXNpemU6IDEuMjIyZW07fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLWZpZWxkLXRvcC1iZy1pbWcge1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIDI1JTtcblx0XHRcdFx0XHRcdHdpZHRoOiAyNSU7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDI1JTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0fS8vbWVkaXVtXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cdH0vL3NtYWxsXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwpIHsgLy8gWFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0fS8veHNtYWxsXG5cdFxufS8vYmFzaWMtcGFnZS1oZXJvXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUFJPSkVDVCBCUklFRlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4udmlldy1pZC1wcm9qZWN0X2JyaWVmc19iYXNpY19wYWdlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNsZWFyOiBib3RoO1xuXHQudmlldy1jb250ZW50IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHQudmlld3Mtcm93IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogJGhvcno7XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0bWFyZ2luOiAwIDAgNjBweCAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdCY6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOiAwO31cblx0XHRcdC52aWV3cy1maWVsZCB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogJHZlcnQ7XG5cdFx0XHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiBhdXRvIDA7XG5cdFx0XHRcdFx0cGFkZGluZzogNjBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLnZpZXdzLWZpZWxkLXRpdGxlIHtcblx0XHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHJlZDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI1O1xuXHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIge3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LmJvZHkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0XHRcdFx0cDpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOiAwO31cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LmJ0biB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDEwcHggMnB4IDAgMnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRwLmxhc3Qge21hcmdpbi1ib3R0b206IDA7fVxuXHRcdFx0XHR9Ly9maWVsZC10aXRsZVxuXHRcdFx0XHQmLnZpZXdzLWZpZWxkLWZpZWxkLWltYWdlIHtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0LmZpZWxkLWNvbnRlbnQge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9Ly9maWVsZC1pbWFnZVxuXHRcdFx0fS8vdmlld3MtZmllbGRcblx0XHRcdCYudmlld3Mtcm93LWV2ZW4ge1xuXHRcdFx0XHQudmlld3MtZmllbGQge1xuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtdGl0bGUge1xuXHRcdFx0XHRcdFx0b3JkZXI6IDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtZmllbGQtaW1hZ2Uge1xuXHRcdFx0XHRcdFx0b3JkZXI6IDI7XG5cdFx0XHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDYwcHg7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0vL3ZpZXdzLXJvdy1ldmVuXG5cdFx0fS8vdmlld3Mtcm93XG5cdH0vL3ZpZXctY29udGVudFxuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxnKSB7IC8vIFhYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0LnZpZXctY29udGVudCB7XG5cdFx0XHQudmlld3Mtcm93IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNnZ3O1xuXHRcdFx0XHQmOmxhc3QtY2hpbGQge21hcmdpbi1ib3R0b206IDA7fVxuXHRcdFx0XHQudmlld3MtZmllbGQge1xuXHRcdFx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDV2dztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1pbWFnZSB7XG5cdFx0XHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0LnZpZXctY29udGVudCB7XG5cdFx0XHQudmlld3Mtcm93IHtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246ICR2ZXJ0O1xuXHRcdFx0XHQudmlld3MtZmllbGQge1xuXHRcdFx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLXRpdGxlIHtcblx0XHRcdFx0XHRcdG9yZGVyOiAxICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtZmllbGQtaW1hZ2Uge1xuXHRcdFx0XHRcdFx0b3JkZXI6IDIgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogNXZ3ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9Ly94bGFyZ2VcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7IC8vIExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdC52aWV3LWNvbnRuZXQge1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHR9XG5cdFx0fVxuXHR9Ly9sYXJnZVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHQudmlldy1jb250ZW50IHtcblx0XHRcdC52aWV3cy1yb3cge1xuXHRcdFx0fVxuXHRcdH1cblx0fS8vbWVkaXVtXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdC52aWV3LWNvbnRlbnQge1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHR9XG5cdFx0fVxuXHR9Ly9zbWFsbFxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdC52aWV3LWNvbnRlbnQge1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHR9XG5cdFx0fVxuXHR9Ly94c21hbGxcblx0XG59Ly9wcm9qZWN0LWJyaWVmXG5cbmJvZHkucGFnZS1ub2RlLTUxIC52aWV3LWlkLXByb2plY3RfYnJpZWZzX2Jhc2ljX3BhZ2Uge21hcmdpbi10b3A6IDQwcHg7fVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBST0pFQ1QgQlJJRUYgQlVUVE9OIC0gTEFORElORyBQQUdFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi52aWV3LWlkLXByb2plY3RfYnJpZWZfZG93bmxvYWRfYnV0dG9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNsZWFyOiBib3RoO1xuXHRtYXJnaW46IDIwcHggMCAwIDA7XG5cdC52aWV3LWNvbnRlbnQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdG1heC13aWR0aDogODAwcHg7XG5cdH1cbn0gLy9wcm9qZWN0LWJyaWVmcy1idXR0b25cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTUEVDSUZJQ0FUSU9OIENBVEFMT0dcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnZpZXctaWQtX3NwZWNpZmljYXRpb25fZG9jdW1lbnQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y2xlYXI6IGJvdGg7XG5cdC52aWV3LWdyb3VwaW5nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDAgMCA0MHB4IDA7XG5cdFx0JjpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOiAwO31cblx0XHQudmlldy1ncm91cGluZy1oZWFkZXIge1xuXHRcdFx0Zm9udC1zaXplOiAkaDI7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdFx0LnZpZXctZ3JvdXBpbmctY29udGVudCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0cGFkZGluZzogMzBweCAzMHB4IDFweCAzMHB4O1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0bWFyZ2luOiAwIDAgMTRweCAwO1xuXHRcdFx0XHQmLnZpZXdzLXJvdy1sYXN0IHttYXJnaW4tYm90dG9tOiAzMHB4O31cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkaDU7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiA0cHg7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlNWU1ZTU7XG5cdFx0XHRcdFx0Jjpob3ZlciB7Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHJlZDt9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0aDMge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xuXHRcdFx0cGFkZGluZzogMTBweDtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRmb250LXNpemU6ICRoNDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkZGtibHVlO1xuXHRcdH1cblx0fVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVWRU5UUyBMQU5ESU5HIFBBR0UgTElTVFxuLy8gV0VCSU5BUiBMQU5ESU5HIFBBR0UgTElTVFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4ud2ViaW5hci12aWV3LXRvcC1ldmVudHMge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLXRvcDogNDBweDtcbn1cblxuLnZpZXctaWQtZXZlbnRzLFxuLnZpZXctaWQtd2ViaW5hcl9saXN0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNsZWFyOiBib3RoO1xuXHQudmlldy1jb250ZW50IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHQudmlld3Mtcm93IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiA2MHB4O1xuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0bWFyZ2luOiA0MHB4IDAgMCAwO1xuXHRcdFx0LnZpZXdzLWZpZWxkIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW46IGF1dG8gMDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLnZpZXdzLWZpZWxkLWZpZWxkLWltYWdlLXdlYmluYXIge1xuXHRcdFx0XHRcdGZsZXg6IDAgMCA0OCU7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA0OCU7XG5cdFx0XHRcdFx0d2lkdGg6IDQ4JTtcblx0XHRcdFx0XHRvcmRlcjogMTtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0XHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmLnZpZXdzLWZpZWxkLW5vdGhpbmcge1xuXHRcdFx0XHRcdGZsZXg6IDAgMCA1MiU7XG5cdFx0XHRcdFx0d2lkdGg6IDUyJTtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDUyJTtcblx0XHRcdFx0XHRvcmRlcjogMjtcblx0XHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDUlO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogNSU7XG5cdFx0XHRcdFx0XHQucm93IHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0XHRcdFx0XHQmLnRpdGxlIHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyIHt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGgzIHttYXJnaW46IDA7IGNvbG9yOiAkcmVkOyBmb250LXdlaWdodDogNzAwOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGxpbmUtaGVpZ2h0OiAxLjE7fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdCYuc3VidGl0bGUge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQmLmxvY2F0aW9uLFxuXHRcdFx0XHRcdFx0XHQmLnByZXZpZXcge21hcmdpbi1ib3R0b206IDIwcHg7IGZvbnQtc2l6ZTogMC44ODllbTt9XG5cdFx0XHRcdFx0XHRcdCYuZGF0ZSB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAwLjk1MHJlbTtcblx0XHRcdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDZweCA4cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZTVlNWU1O1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICM2NjY7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge21hcmdpbi1yaWdodDogOHB4OyBmb250LXdlaWdodDogbm9ybWFsO31cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0LmJ0biB7bWFyZ2luOiAxMHB4IDE1cHggMCAwO31cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0vL25vdGhpbmdcblx0XHRcdH0vL3ZpZXdzLWZpZWxkXG5cdFx0XHQmLnZpZXdzLXJvdy1ldmVuIHtcblx0XHRcdFx0LnZpZXdzLWZpZWxkIHtcblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLWZpZWxkLWltYWdlLXdlYmluYXIge29yZGVyOiAyO31cblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLW5vdGhpbmcge29yZGVyOiAxO31cblx0XHRcdFx0fVxuXHRcdFx0fS8vdmlld3Mtcm93LWV2ZW5cblx0XHR9Ly92aWV3cy1yb3dcblx0fS8vdmlldy1jb250ZW50XG5cdFxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdH0vL3hsYXJnZVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHsgLy8gTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0LnZpZXctY29udGVudCB7XG5cdFx0XHQudmlld3Mtcm93IHtwYWRkaW5nOiAzMHB4OyBtYXJnaW4tdG9wOiAzMHB4O31cblx0XHR9XG5cdH0vL2xhcmdlXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWQpIHsgLy8gTUVESVVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdC52aWV3LWNvbnRlbnQge1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0XHRcdCYudmlld3Mtcm93LWV2ZW4ge1xuXHRcdFx0XHRcdC52aWV3cy1maWVsZCB7XG5cdFx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLWZpZWxkLWltYWdlLXdlYmluYXIge29yZGVyOiAxO31cblx0XHRcdFx0XHRcdCYudmlld3MtZmllbGQtbm90aGluZyB7b3JkZXI6IDI7fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fS8vdmlld3Mtcm93LWV2ZW5cblx0XHRcdFx0LnZpZXdzLWZpZWxkIHtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtZmllbGQtaW1hZ2Utd2ViaW5hcixcblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLW5vdGhpbmcge1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1pbWFnZS13ZWJpbmFyIHttYXJnaW4tYm90dG9tOiAyMHB4O31cblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLW5vdGhpbmcge1xuXHRcdFx0XHRcdFx0LmZpZWxkLWNvbnRlbnQge3BhZGRpbmc6IDA7fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fS8vbWVkaXVtXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdC52aWV3LWNvbnRlbnQge1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRcdHBhZGRpbmc6IDE1cHg7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHRcdC52aWV3cy1maWVsZCB7XG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1pbWFnZS13ZWJpbmFyIHttYXJnaW4tYm90dG9tOiAxMHB4O31cblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLW5vdGhpbmcge1xuXHRcdFx0XHRcdFx0LmZpZWxkLWNvbnRlbnQge1xuXHRcdFx0XHRcdFx0XHQucm93LmRhdGUge21hcmdpbi1ib3R0b206IDEwcHg7fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fS8vc21hbGxcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0fS8veHNtYWxsXG5cdFxufS8vd2ViaW5hciBsYW5kaW5nIHBhZ2UgbGlzdCBlbmRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBORVdTIExBTkRJTkcgUEFHRVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4udmlldy1pZC1uZXdzX2xhbmRpbmdfcGFnZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjbGVhcjogYm90aDtcblx0LnZpZXctY29udGVudCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0ZmxleDogMCAwIDQ4JTtcblx0XHRcdHdpZHRoOiA0OCU7XG5cdFx0XHRtYXgtd2lkdGg6IDQ4JTtcblx0XHRcdG1hcmdpbjogNDBweCAwIDAgMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHQmOm50aC1jaGlsZCgybisxKSB7bWFyZ2luLXJpZ2h0OiA0JTt9XG5cdFx0XHQudmlld3MtZmllbGQge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luOiBhdXRvIDA7XG5cdFx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXJnaW46IGF1dG8gMDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLnZpZXdzLWZpZWxkLWZpZWxkLWltYWdlIHtcblx0XHRcdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji52aWV3cy1maWVsZC1ub3RoaW5nIHtcblx0XHRcdFx0XHR3aWR0aDogNjAlO1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDMwcHg7XG5cdFx0XHRcdFx0XHQucm93IHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0XHRcdFx0XHQmLnRpdGxlIHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJHJlZDtcblx0XHRcdFx0XHRcdFx0XHRcdCY6aG92ZXIge3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0aDQge1xuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lOyBcblx0XHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7IFxuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0fS8veGxhcmdlXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXHR9Ly9sYXJnZVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHQudmlldy1jb250ZW50IHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHQudmlld3Mtcm93IHtcblx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fS8vbWVkaXVtXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdC52aWV3LWNvbnRlbnQge1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdC52aWV3cy1maWVsZCB7XG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1pbWFnZSxcblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLW5vdGhpbmcge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtZmllbGQtaW1hZ2Uge1xuXHRcdFx0XHRcdFx0LmZpZWxkLWNvbnRlbnQge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAzMHB4O1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0vL3NtYWxsXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwpIHsgLy8gWFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0fS8veHNtYWxsXG59Ly9uZXdzLWxhbmRpbmctcGFnZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENBUkVFUlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnBhbmUtbm9kZS1maWVsZC1kYXRlLWNhcmVlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRtYXJnaW46IDAgYXV0byAyMHB4IGF1dG87XG5cdGZvbnQtc2l6ZTogJGg1O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHQqIHtkaXNwbGF5OiBpbmxpbmU7fVxufVxuXG4uY2FyZWVyLWFwcGx5LWN0YSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjbGVhcjogYm90aDtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0bWFyZ2luOiAyMHB4IGF1dG8gMCBhdXRvO1xufVxuXG4udmlldy1pZC1jYXJlZXJzX2xpc3Qge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y2xlYXI6IGJvdGg7XG5cdHBhZGRpbmc6IDAgMiU7XG5cdC52aWV3LWNvbnRlbnQge1xuXHRcdG1heC13aWR0aDogODAwcHg7XG5cdFx0bWFyZ2luOiAxMHB4IGF1dG8gMCBhdXRvO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRwYWRkaW5nOiAzMHB4O1xuXHRcdC52aWV3cy1yb3cge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdG1hcmdpbjogMCAwIDEwcHggMDtcblx0XHRcdCY6bGFzdC1jaGlsZCB7bWFyZ2luLWJvdHRvbTogMDt9XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHRcdFx0Zm9udC1zaXplOiAkaDQ7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDRweDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlNWU1ZTU7XG5cdFx0XHRcdCY6aG92ZXIge2JvcmRlci1ib3R0b20tY29sb3I6ICRyZWQ7fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRFQU0gTUVNQkVSIExJU1Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnZpZXctaWQtdGVhbSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjbGVhcjogYm90aDtcblx0LnZpZXctY29udGVudCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0ZmxleDogMCAwIDQ4JTtcblx0XHRcdHdpZHRoOiA0OCU7XG5cdFx0XHRtYXgtd2lkdGg6IDQ4JTtcblx0XHRcdG1hcmdpbjogNDBweCAwIDAgMDtcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdCY6bnRoLWNoaWxkKDJuKzEpIHttYXJnaW4tcmlnaHQ6IDQlO31cblx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdG1hcmdpbjogYXV0byAwO1xuXHRcdFx0XHQucm93IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0XHQmLm5hbWUge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdFx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7IFxuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4xOyBcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDsgXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYudGl0bGUge1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogJGg1O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICM2NjY7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudmlld3MtZmllbGQge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luOiBhdXRvIDA7XG5cdFx0XHRcdCYudmlld3MtZmllbGQtZmllbGQtaGVhZHNob3Qge1xuXHRcdFx0XHRcdHdpZHRoOiA0MCU7XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCYudmlld3MtZmllbGQtbm90aGluZyB7XG5cdFx0XHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAzMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0fS8veGxhcmdlXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHQudmlldy1jb250ZW50IHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHQudmlld3Mtcm93IHtcblx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fS8vbGFyZ2VcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZCkgeyAvLyBNRURJVU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0fS8vbWVkaXVtXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdC52aWV3LWNvbnRlbnQge1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdC52aWV3cy1maWVsZCB7XG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1oZWFkc2hvdCxcblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLW5vdGhpbmcge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtbm90aGluZyB7XG5cdFx0XHRcdFx0XHQuZmllbGQtY29udGVudCB7cGFkZGluZzogMjBweDt9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9Ly9zbWFsbFxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cdH0vL3hzbWFsbFxufS8vdGVhbS1tZW1iZXItbGlzdFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5FV1MgTk9ERVxuLy8gVEVBTSBNRU1CRVIgTk9ERVxuLy8gV0VCSU5BUiBOT0RFXG4vLyBQUk9KRUNUIEJSSUVGIE5PREVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnZpZXctaWQtcHJvamVjdF9icmllZl9ub2RlLFxuLnZpZXctaWQtbmV3c19ub2RlLFxuLnZpZXctaWQtd2ViaW5hcl9ub2RlLFxuLnZpZXctaWQtdGVhbV9tZW1iZXJfbm9kZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjbGVhcjogYm90aDtcblx0YmFja2dyb3VuZC1jb2xvcjogIzE5MjQ0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iYXNpYy1oZXJvLWFyZWEtYmtnLmpwZyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdC52aWV3LWNvbnRlbnQge1xuXHRcdEBleHRlbmQgJWluc2lkZTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZy1ib3R0b206IDEwMHB4O1xuXHRcdHBhZGRpbmctdG9wOiAxMDBweDtcblx0XHQudmlld3Mtcm93IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0LnZpZXdzLWZpZWxkIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0LmZpZWxkLWNvbnRlbnQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdG1hcmdpbjogYXV0byAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYudmlld3MtZmllbGQtbm90aGluZyB7XG5cdFx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzNTBweCk7XG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAzMHB4O1xuXHRcdFx0XHRcdFx0LnJvdyB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0XHRcdFx0aDEge2NvbG9yOiAkYmx1ZTt9XG5cdFx0XHRcdFx0XHRcdCYubGFzdCB7bWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O31cblx0XHRcdFx0XHRcdFx0Ji50aXRsZSB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHQmLmpvYi10aXRsZSB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6ICRoNDtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzY2Njtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdCYuZGF0ZSxcblx0XHRcdFx0XHRcdFx0Ji5waG9uZSB7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJHJlZDtcblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0XHRcdFx0XHRcdHNwYW4uZmEge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7Zm9udC13ZWlnaHQ6IG5vcm1hbDsgbWFyZ2luLXJpZ2h0OiA1cHg7fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQmLmRhdGUge1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjNjY2O1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogJGg1O1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0Ji5wZGYge21hcmdpbi10b3A6IDIwcHg7fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fS8vY3VzdG9tLXRleHRcblx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1pbWFnZSxcblx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1pbWFnZS13ZWJpbmFyLFxuXHRcdFx0XHQmLnZpZXdzLWZpZWxkLWZpZWxkLWhlYWRzaG90IHtcblx0XHRcdFx0XHRmbGV4OiAwIDAgMzUwcHg7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAzNTBweDtcblx0XHRcdFx0XHR3aWR0aDogMzUwcHg7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDAgMCBhdXRvO1xuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9Ly9oZWFkc2hvdFxuXHRcdFx0fS8vdmlld3MtZmllbGRcblx0XHR9Ly92aWV3cy1yb3dcblx0fS8vdmlldy1jb250ZW50XG5cdFxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0LnZpZXctY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMTB2dztcblx0XHRcdHBhZGRpbmctdG9wOiAxMHZ3O1xuXHRcdH1cblx0fS8veGxhcmdlXG5cdFxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7IC8vIExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdC52aWV3LWNvbnRlbnQge1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRcdC52aWV3cy1maWVsZCB7XG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1pbWFnZSxcblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLWZpZWxkLWltYWdlLXdlYmluYXIsXG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1oZWFkc2hvdCB7XG5cdFx0XHRcdFx0XHRmbGV4OiAwIDAgNDAlO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDQwJTtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogNDAlO1xuXHRcdFx0XHRcdH0vL2hlYWRzaG90XG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1ub3RoaW5nIHtcblx0XHRcdFx0XHRcdGZsZXg6IDAgMCA2MCU7XG5cdFx0XHRcdFx0XHR3aWR0aDogNjAlO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA2MCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9Ly92aWV3cy1maWVsZFxuXHRcdFx0fS8vdmlld3Mtcm93XG5cdFx0fS8vdmlldy1jb250ZW50XG5cdH0vL2xhcmdlXG5cdFxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0LnZpZXctY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0XHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdC52aWV3cy1maWVsZCB7XG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1pbWFnZSxcblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLWZpZWxkLWltYWdlLXdlYmluYXIsXG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1maWVsZC1oZWFkc2hvdCxcblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLW5vdGhpbmcge1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji52aWV3cy1maWVsZC1ub3RoaW5nIHtcblx0XHRcdFx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdGgxIHtmb250LXNpemU6ICRoMSAqIDAuNTU7fVxuXHRcdFx0XHRcdFx0XHQucm93LnRpdGxlIHttYXJnaW4tYm90dG9tOiAxMHB4O31cblx0XHRcdFx0XHRcdFx0LnJvdy5kYXRlIHtmb250LXNpemU6IDFlbTt9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9Ly9zbWFsbFxuXHRcbn0vL3RlYW0tbWVtYmVyLW5vZGVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJTlRFUkFDVElWRSBNQVBTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5sYXlvdXQtbWFwcyB7XG5cdFxuXHQuZmllbGQtbmFtZS1ib2R5IHttYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7IG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O31cblx0XG5cdC5zZXJ2aWNlU2VsZWN0IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cdFxuXHQuZm9ybS1pdGVtIHttYXJnaW46IDA7fVxuXHRcblx0LmZvcm0tc2VsZWN0IHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRoZWlnaHQ6IDQ4cHg7XG5cdH1cblx0XG5cdC52aWV3LWlkLXNhbGVzX21hcF8yLFxuXHQudmlldy1pZC1zZXJ2aWNlX21hcF8yICB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDM0MHB4KTtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LnZpZXctZmlsdGVycyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IC0zNDBweDtcblx0XHRcdHdpZHRoOiAzMDBweDtcblx0XHRcdGxhYmVsIHtkaXNwbGF5OiBub25lO31cblx0XHR9Ly92aWV3LWZpbHRlcnNcblx0XHQubGVhZmxldC1jb250YWluZXIge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0aGVpZ2h0OiA2MDBweCAhaW1wb3J0YW50O1xuXHRcdH0vL2xlYWZsZXQtY29udGFpbmVyXG5cdH0vL3ZpZXctaWQtc2VydmljZS1tYXBcblx0XG5cdCNzbi1tYXBwaW5nLW1vYmlsZS1kcm9wIHtkaXNwbGF5OiBub25lO31cblx0XG5cdC5zZXJ2aWNlX2Jsb2NrX3JldHVybiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdHdpZHRoOiAzMDBweDtcblx0XHRtYXJnaW4tdG9wOiA2OHB4O1xuXHRcdCNtZXNzYWdlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRtYXJnaW46IDAgMCAyMHB4IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI0RERDtcblx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0XHRAZXh0ZW5kIC5jbGVhcmZpeDtcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDEwcHggMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOiAwO31cblx0XHRcdFx0Ji50aXRsZSB7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDZweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLm5hbWUsXG5cdFx0XHRcdCYuY29udGFjdCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkaDM7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTJweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLm5hbWUge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5waG9uZSwgJi5lbWFpbCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAwLjg4OWVtO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGxpc3QtaXRlbTtcblx0XHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0XHRcdFx0XHRjb2xvcjogIzY2Njtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLmltYWdlIHtcblx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9Ly9zZXJ2aWNlLWJsb2ctcmV0dXJuXG5cdFxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0fS8veGxhcmdlXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXHR9Ly9sYXJnZVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHQudmlldy1pZC1zYWxlc19tYXBfMiwgXG5cdFx0LnZpZXctaWQtc2VydmljZV9tYXBfMiB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHQudmlldy1maWx0ZXJzIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0XHRyaWdodDogYXV0bztcblx0XHRcdFx0dG9wOiBhdXRvO1xuXHRcdFx0fVxuXHRcdFx0LmxlYWZsZXQtY29udGFpbmVyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnNlcnZpY2VTZWxlY3Qge1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHRcblx0XHQuZm9ybS1pdGVtLWZpZWxkLWVnaW9uLWNvdW50cnktdmFsdWUge2Rpc3BsYXk6IG5vbmU7fVxuXHRcdFxuXHRcdCNzbi1tYXBwaW5nLW1vYmlsZS1kcm9wIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHR9XG5cdFx0LnNlcnZpY2VfYmxvY2tfcmV0dXJuIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdCNtZXNzYWdlIHttYXJnaW46IDIwcHggMCAwIDB9XG5cdFx0fVxuXHRcdFxuXHR9Ly9tZWRpdW1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0fS8vc21hbGxcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXHR9Ly94c21hbGxcblx0XG59Ly9sYXlvdXQtbWFwc1xuXG4vLyBKb2IgdGl0bGUsIHNhbGVzIHJlcCBvbmx5XG4ucGFnZS1ub2RlLTUyLmxheW91dC1tYXBzIC5zZXJ2aWNlX2Jsb2NrX3JldHVybiAjbWVzc2FnZSBzcGFuLnRpdGxlIHttYXJnaW4tYm90dG9tOiAxMnB4O31cblxuLy8gVEVTVElNT05JQUwgTEFORElORyBQQUdFXG4udmlldy1pZC10ZXN0aW1vbmlhbF9sYW5kaW5nX3BhZ2Uge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y2xlYXI6IGJvdGg7XG5cdC52aWV3LWNvbnRlbnQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdC52aWV3cy1yb3cge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0bWFyZ2luOiAwIDAgMjVweCAwO1xuXHRcdFx0cGFkZGluZzogMzBweDtcblx0XHRcdHAge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdFx0XHQmOmxhc3QtY2hpbGQge21hcmdpbi1ib3R0b206IDA7fVxuXHRcdFx0XHQmLmltYWdlIHtsaW5lLWhlaWdodDogMDt9XG5cdFx0XHR9XG5cdFx0XHQudmlld3MtZmllbGQtdGl0bGUge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDcwJTtcblx0XHRcdH1cblx0XHRcdC52aWV3cy1maWVsZC1maWVsZC10ZXN0aW1vbmlhbC1pbWFnZSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMjUlO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDUlO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0LnZpZXctY29udGVudCB7XG5cdFx0XHQudmlld3Mtcm93IHtcblx0XHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0LnZpZXdzLWZpZWxkLWZpZWxkLXRlc3RpbW9uaWFsLWltYWdlIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDIwMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQudmlld3MtZmllbGQtdGl0bGUge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9Ly9zbWFsbFxuXHRcbn0vL3Rlc3RpbW9uaWFsLWxhbmRpbmctcGFnZVxuXG4vLyBDUkVEIExPR09TXG4udmlldy1pZC1jcmVkYWJpbGl0eV9sb2dvcyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjbGVhcjogYm90aDtcblx0LnZpZXdzLWZpZWxkLWZpZWxkLWNyZWRpYmlsaXR5LWxvZ29zIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHQuaXRlbS1saXN0IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDBweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMHB4O1xuXHRcdFx0XHRcdG1hcmdpbjogMTBweCAxNXB4IDAgMTVweDtcblx0XHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0XHRcdG1heC13aWR0aDogMTAwcHg7XG5cdFx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAxMDBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG59IC8vY3JlZGFiaWxpdHktbG9nb3NcblxuLy8gTUlOSU1BTCBIRVJPXG4udmlldy1pZC1taW5pbWFsX2hlcm8ge1xuXHRjbGVhcjogYm90aDtcblx0LnZpZXctY29udGVudCB7XG5cdFx0bWF4LXdpZHRoOiA4MDBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxufVxuXG5cblxuXG5cbi8vIEVORCBWSUVXUyIsIi5mcm9udCB7XG4gIC5tYWluIHtcbiAgICBwLFxuICAgIHVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xuICAgICAgY29sb3I6ICM0NDQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIDc2OCAtIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgZm9udC1zaXplOiAxLjA1ZW07XG4gICAgICB9Ly9tZWRpdW1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyA2NjcgLSBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICBmb250LXNpemU6IDEuMGVtO1xuICAgICAgfS8vc21hbGxcbiAgICB9Ly9wXG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcbiAgICB9Ly91bFxuICB9Ly9tYWluXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDMuMGVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyA4OTAgLSBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIGZvbnQtc2l6ZTogMi44ZW07XG4gICAgfS8vbGFyZ2VcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIDc2OCAtIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIGZvbnQtc2l6ZTogMi40ZW07XG4gICAgfS8vbWVkaXVtXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIDY2NyAtIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICBmb250LXNpemU6IDIuMGVtO1xuICAgIH0vL3NtYWxsXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyA0ODAgLSBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gICAgfS8veHNtYWxsXG4gIH0vL2gyXG4gIGg0IHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIDQ4MCAtIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICB9Ly94c21hbGxcbiAgfS8vaDRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vICBIRVJPXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAuaGVybyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeSB1cmwoLi4vaW1nL2hvbWUtaGVyby1iZy0wMi5qcGcpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ly8gU0xJQ0sgRE9UU1xuXHRcdHVsLnNsaWNrLWRvdHMge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAxMHB4O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0ei1pbmRleDogOTk7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0bWFyZ2luOiAwIDEwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdGNsZWFyOiBub25lO1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0Ji5zbGljay1hY3RpdmUge1xuXHRcdFx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI0NDQztcblx0XHRcdFx0XHR0ZXh0LWluZGVudDogLTk5OTlweDtcblx0XHRcdFx0XHR3aWR0aDogMTVweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDE1cHg7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRwYWRkaW5nOjA7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0vL2J1dHRvblxuXHRcdFx0fS8vbGlcblx0XHR9Ly9zbGljay1kb3RzXG4gICAgLnZpZXdzLXJvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQudmlld3MtZmllbGQtZmllbGQtY3RhIHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHNlY29uZGFyeSw0JSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG4gICAgfS8vdmlld3Mtcm93XG5cdFx0LnZpZXdzLWZpZWxkLWZpZWxkLWN0YS0xIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0ei1pbmRleDogNTtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cblx0XHRcdH1cblx0XHR9XG4gICAgLnZpZXdzLWZpZWxkLWZpZWxkLWN0YSB7IC8vIFRFWFRcbiAgICAgIGZsZXg6IDAgMCAzMCU7XG4gICAgICBwYWRkaW5nOiAxMiUgMDtcbiAgICB9Ly8udmlld3MtZmllbGQtZmllbGQtY3RhXG4gICAgLnZpZXdzLWZpZWxkLWZpZWxkLWhoLWltYWdlIHtcbiAgICAgIGZsZXg6IDAgMCA2NSU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH0vL2ltZ1xuICAgIH0vL3ZpZXdzLWZpZWxkLWZpZWxkLWhoLWltYWdlXG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgZm9udC1zaXplOiAzLjJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgLnNtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjQyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9Ly9zbVxuICB9Ly9zcGFuIC8vcHJldmlvdXNseSBoMVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxnKSB7IC8vIDEyMDAgLSBYWExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgLnZpZXdzLWZpZWxkLWZpZWxkLWN0YSB7IGZsZXg6IDAgMCA0MCU7IH1cbiAgICAgIC52aWV3cy1maWVsZC1maWVsZC1oaC1pbWFnZSB7IGZsZXg6IDAgMCA2MCU7IH1cbiAgICB9Ly94eGxhcmdlXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyAxMDI0IC0gWExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgLnZpZXdzLWZpZWxkLWZpZWxkLWN0YSB7IGZsZXg6IDAgMCA0NSU7IH1cbiAgICAgIC52aWV3cy1maWVsZC1maWVsZC1oaC1pbWFnZSB7IGZsZXg6IDAgMCA1NSU7IH1cbiAgICB9Ly94bGFyZ2VcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHsgLy8gODkwIC0gTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAudmlld3Mtcm93IHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC52aWV3cy1maWVsZC1maWVsZC1jdGEge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH0vLy52aWV3cy1maWVsZC1maWVsZC1jdGFcbiAgICAgIC52aWV3cy1maWVsZC1maWVsZC1oaC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH0vL3ZpZXdzLWZpZWxkLWZpZWxkLWhoLWltYWdlXG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42ZW07XG4gICAgICAgIC5zbSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNWVtO1xuICAgICAgICB9Ly9zbVxuICAgICAgfS8vaDFcbiAgICB9Ly9sYXJnZVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWQpIHsgLy8gNzY4IC0gTUVESVVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDIuMmVtO1xuICAgICAgICAuc20ge1xuICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjU1ZW07XG4gICAgICAgIH0vL3NtXG4gICAgICB9Ly9oMVxuICAgIH0vL21lZGl1bVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyA2NjcgLSBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDIuMGVtO1xuICAgICAgICAuc20ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC42ZW07XG4gICAgICAgIH0vL3NtXG4gICAgICB9Ly9oMVxuICAgIH0vL3NtYWxsXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyA0ODAgLSBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC52aWV3cy1maWVsZC1maWVsZC1jdGEgeyBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgICAuc20geyB3aWR0aDogODAlOyB9XG4gICAgICB9Ly9oMVxuICAgIH0vL3hzbWFsbFxuICB9Ly9oZXJvXG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vICBTVUJIRVJPXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAuc3ViaGVybyB7XG4gICAgYmFja2dyb3VuZDogI2VlZSB1cmwoLi4vaW1nL2hvbWUtc3ViaGVyby1iZy0wMS5qcGcpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgLmluc2lkZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBwdGIoOCUsOCUpO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9ob21lLXN1Ymhlcm8tYXJyb3ctMDIucG5nKSBuby1yZXBlYXQgMTUlIDA7XG4gICAgfS8vaW5zaWRlXG4gICAgLmZpZWxkLW5hbWUtZmllbGQtaG9tZS1zdWJoZXJvIHtcbiAgICAgIC5maWVsZC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfS8vZmllbGQtaXRlbVxuICAgIH0vL2ZpZWxkLW5hbWUtZmllbGQtaG9tZS1zdWJoZXJvXG4gICAgLnRleHQge1xuICAgICAgZmxleDogMCAwIDUyJTtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH0vL3RleHRcbiAgICAubWFwIHtcbiAgICAgIGZsZXg6IDAgMCA0MiU7XG5cbiAgICB9Ly9tYXBcbiAgICB1bCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgY29sdW1uLWdhcDogNDBweDtcbiAgICAgIGxpIHtcblx0XHRcdFx0cGFkZGluZzogNXB4IDA7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA0MHB4O1xuXHRcdFx0XHRkaXNwbGF5OiBsaXN0LWl0ZW07XG5cdFx0XHR9XG4gICAgfS8vdWxcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsZykgeyAvLyAxMjAwIC0gWFhMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIHVsIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAxO1xuICAgICAgICBjb2x1bW4tZ2FwOiAwO1xuICAgICAgfS8vdWxcbiAgICB9Ly94eGxhcmdlXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyAxMDI0IC0gWExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgfS8veGxhcmdlXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7IC8vIDg5MCAtIExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgfS8vbGFyZ2VcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIDc2OCAtIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC5maWVsZC1uYW1lLWZpZWxkLWhvbWUtc3ViaGVybyB7XG4gICAgICAgIC5maWVsZC1pdGVtIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9Ly9maWVsZC1pdGVtXG4gICAgICB9Ly9maWVsZC1uYW1lLWZpZWxkLWhvbWUtc3ViaGVyb1xuICAgICAgLnRleHQgeyBtYXJnaW4tYm90dG9tOiA2JTsgfVxuICAgIH0vL21lZGl1bVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyA2NjcgLSBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIH0vL3NtYWxsXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyA0ODAgLSBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIH0vL3hzbWFsbFxuICB9Ly9zdWJoZXJvXG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vICBDT05URU5UIDAxXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAuY29udGVudC0wMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDglIDA7XG4gICAgLnRvcCB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNSU7XG4gICAgfS8vdG9wXG4gICAgLmJvdHRvbSB7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH0vL2JvdHRvbVxuICAgIC5pbWFnZSB7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTIyJTtcbiAgICAgIGltZyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgfS8vaW1hZ2VcbiAgICBoMiB7XG4gICAgICAuc20ge1xuICAgICAgICBmb250LXNpemU6IDAuNDVlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMDtcbiAgICAgIH0vL3NtXG4gICAgfS8vaDJcbiAgICB1bCB7XG4gICAgICB3aWR0aDogNDUlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgJjpob3ZlciBzcGFuIHsgYm9yZGVyLWNvbG9yOiAkd2hpdGU7IH1cbiAgICAgICAgICAqIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RkZDtcbiAgICAgICAgICB9XG4gICAgICAgIH0vL2FcbiAgICAgIH0vL2xpXG4gICAgfS8vdWxcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsZykgeyAvLyAxMjAwIC0gWFhMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC5ib3R0b20ge1xuICAgICAgICB1bCB7IHdpZHRoOiA2MCU7IH1cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC00JTtcbiAgICAgICAgfS8vaW1hZ2VcbiAgICAgIH0vL2JvdHRvbVxuICAgIH0vL3h4bGFyZ2VcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxnKSB7IC8vIDEwMjQgLSBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAudG9wIHsgd2lkdGg6IDkwJTsgfVxuICAgICAgLmJvdHRvbSB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0vL2FcbiAgICAgICAgICB9Ly9saVxuICAgICAgICB9Ly91bFxuICAgICAgfS8vYm90dG9tXG4gICAgfS8veGxhcmdlXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7IC8vIDg5MCAtIExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgLnRvcCB7IHdpZHRoOiAxMDAlOyB9XG4gICAgICAuYm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLmltYWdlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgfS8vYm90dG9tXG4gICAgfS8vbGFyZ2VcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIDc2OCAtIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIGgyIHtcbiAgICAgICAgLnNtIHsgZm9udC1zaXplOiAwLjVlbTsgfVxuICAgICAgfS8vaDJcbiAgICAgIC5ib3R0b20ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdWwgeyB3aWR0aDogNjUlOyB9XG4gICAgICAgIC5pbWFnZSB7IHdpZHRoOiAyNSU7IH1cbiAgICAgIH0vL2JvdHRvbVxuICAgIH0vL21lZGl1bVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyA2NjcgLSBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgaDIge1xuICAgICAgICAuc20geyBmb250LXNpemU6IDAuNmVtOyB9XG4gICAgICB9Ly9oMlxuICAgIH0vL3NtYWxsXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyA0ODAgLSBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC5ib3R0b20ge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOCU7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH0vL3VsXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH0vL2ltYWdlXG4gICAgICB9Ly9ib3R0b21cbiAgICB9Ly94c21hbGxcbiAgfS8vY29udGVudC0wMVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyAgQ09OVEVOVCAwMlxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLmNvbnRlbnQtMDIge1xuICAgIHBhZGRpbmc6IDEyJSAwIDYlO1xuICAgIGJhY2tncm91bmQ6ICNlYmViZWIgdXJsKC4uL2ltZy9ob21lLWNvbnQtMDItYmctMDEuanBnKSBuby1yZXBlYXQgNTAlIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBoMiB7IHdpZHRoOiA2MCU7IH1cbiAgICB1bC53aHktbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBwYWRkaW5nOiA1JSAwO1xuICAgICAgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMzAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgaW1nIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgfS8vaW1hZ2VcbiAgICAgICAgLnRleHQgeyBwYWRkaW5nOiA4JSAxMCUgMTAlOyB9XG4gICAgICB9Ly9saVxuICAgIH0vL3VsLndoeS1saXN0XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGcpIHsgLy8gMTIwMCAtIFhYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICB9Ly94eGxhcmdlXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyAxMDI0IC0gWExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgfS8veGxhcmdlXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7IC8vIDg5MCAtIExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgfS8vbGFyZ2VcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIDc2OCAtIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIGgyIHsgd2lkdGg6IDgwJTsgfVxuICAgICAgdWwud2h5LWxpc3Qge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNDclO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUuNXZ3O1xuICAgICAgICAgIC50ZXh0IHsgcGFkZGluZy1ib3R0b206IDQlOyB9XG4gICAgICAgIH0vL2xpXG4gICAgICB9Ly91bC53aHktbGlzdFxuICAgIH0vL21lZGl1bVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyA2NjcgLSBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgaDIgeyB3aWR0aDogMTAwJTsgfVxuICAgIH0vL3NtYWxsXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyA0ODAgLSBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIHVsLndoeS1saXN0IHtcbiAgICAgICAgbGkgeyBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgfS8vdWwud2h5LWxpc3RcbiAgICB9Ly94c21hbGxcbiAgfS8vY29udGVudC0wMlxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyAgQ09OVEVOVCAwM1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLmNvbnRlbnQtMDMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH0vL2JlZm9yZVxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWhvbWUtY29udGVudC0wMyB7XG4gICAgICAuZmllbGQtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICB9Ly9maWVsZC1pdGVtXG4gICAgfS8vZmllbGQtbmFtZS1maWVsZC1ob21lLWNvbnRlbnQtMDNcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDIuNGVtO1xuICAgICAgKiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNlYyB7XG4gICAgICBmbGV4OiAwIDAgNDMlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiA1dncgMDtcbiAgICAgIGEuYnRuIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIH0vL2EuYnRuXG4gICAgfS8vc2VjXG4gICAgLnZpZXcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3Z3O1xuICAgICAgLnZpZXdzLXJvdyB7XG4gICAgICAgIHBhZGRpbmc6IDQlIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWVlO1xuICAgICAgfS8vdmlld3Mtcm93XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICB9Ly9hXG4gICAgfS8vdmlld1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxnKSB7IC8vIDEyMDAgLSBYWExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgaDIgeyBmb250LXNpemU6IDIuMGVtOyB9XG4gICAgfS8veHhsYXJnZVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGcpIHsgLy8gMTAyNCAtIFhMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIGgyIHsgZm9udC1zaXplOiAxLjdlbTsgfVxuICAgIH0vL3hsYXJnZVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyA4OTAgLSBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIGgyIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfS8vbGFyZ2VcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIDc2OCAtIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIHBhZGRpbmc6IDYlIDA7XG4gICAgICAmOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5maWVsZC1uYW1lLWZpZWxkLWhvbWUtY29udGVudC0wMyB7XG4gICAgICAgIC5maWVsZC1pdGVtIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfS8vZmllbGQtaXRlbVxuICAgICAgfS8vZmllbGQtbmFtZS1maWVsZC1ob21lLWNvbnRlbnQtMDNcbiAgICAgIGgyIHsgZm9udC1zaXplOiAyLjBlbTsgfVxuICAgICAgLnNlYyB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC52aWV3IHsgbWFyZ2luLWJvdHRvbTogNXZ3OyB9XG4gICAgfS8vbWVkaXVtXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIDY2NyAtIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICB9Ly9zbWFsbFxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwpIHsgLy8gNDgwIC0gWFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICBoMiB7IGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgICAgIC5zZWMge1xuICAgICAgICBhLmJ0biB7IGFsaWduLXNlbGY6IGF1dG87IH1cbiAgICAgIH0vL3NlY1xuICAgIH0vL3hzbWFsbFxuICB9Ly9jb250ZW50LTAzXG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vICBDT05URU5UIDA0XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAuY29udGVudC0wNCB7XG4gICAgcGFkZGluZzogOCUgMDtcbiAgICBiYWNrZ3JvdW5kOiAjZWJlYmViIHVybCguLi9pbWcvaG9tZS1jb250LTA0LWJnLTAxLmpwZykgbm8tcmVwZWF0IDUwJSAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuXHRcdC5zbGljay1kb3RzIHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7fVxuICAgIHAgeyBtYXJnaW46IDAgMCAyMHB4OyB9XG4gICAgLmNlbnRlcmVkIHsgbWFyZ2luOiBhdXRvOyB9XG4gICAgLnctNzAgeyB3aWR0aDogNzAlOyB9XG4gICAgLm1pZGRsZSB7XG4gICAgICBwYWRkaW5nOiA3JSAwIDUlO1xuICAgICAgLnNlYyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgIGZsZXg6IDAgMCA0NyU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAmW2RhdGEtb3JkZXI9XCIxXCJdIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIH0vL1tkYXRhLW9yZGVyPTFdXG4gICAgICAgIH0vL2l0ZW1cbiAgICAgICAgJi5zZWMtMDEge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZ2dztcbiAgICAgICAgfS8vJi5zZWMtMDFcbiAgICAgIH0vL3NlY1xuICAgIH0vL21pZGRsZVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWQpIHsgLy8gNzY4IC0gTUVESVVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgLnctNzAgeyB3aWR0aDogOTAlOyB9XG4gICAgICAubWlkZGxlIHtcbiAgICAgICAgLnNlYyB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgLmltYWdlIHsgZmxleDogMCAwIDMwJTsgfVxuICAgICAgICAgIC50ZXh0IHsgZmxleDogMCAwIDY1JTsgfVxuICAgICAgICB9Ly9zZWNcbiAgICAgIH0vL21pZGRsZVxuICAgIH0vL21lZGl1bVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyA2NjcgLSBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgLm1pZGRsZSB7XG4gICAgICAgIC5zZWMge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH0vL3NlY1xuICAgICAgfS8vbWlkZGxlXG4gICAgfS8vc21hbGxcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIDQ4MCAtIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgLnctNzAgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgLm1pZGRsZSB7XG4gICAgICAgIC5zZWMge1xuICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH0vL3NlY1xuICAgICAgfS8vbWlkZGxlXG4gICAgfS8veHNtYWxsXG4gIH0vL2NvbnRlbnQtMDRcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gIENSRURcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC5jcmVkIHtcbiAgICBwYWRkaW5nOiA4JSAwIDQlO1xuICAgIGJhY2tncm91bmQ6ICNlMWUxZTEgdXJsKC4uL2ltZy9ob21lLWNyZWQtYmctMDEucG5nKSBuby1yZXBlYXQgNTAlIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgLmZpZWxkLWl0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfS8vZmllbGQtaXRlbVxuICAgIC50ZXh0IHtcbiAgICAgIGZsZXg6IDAgMCAzNSU7XG4gICAgICBmb250LXNpemU6IDEuN2VtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIC8vIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH0vL3RleHRcbiAgICB1bC5jcmVkLWxvZ29zIHtcbiAgICAgIGZsZXg6IDAgMCA2MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAzJTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDE3JTtcblx0XHRcdFx0LmJveCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiBhdXRvIDA7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHR9XG4gICAgICB9XG4gICAgfS8vdWwuY3JlZC1sb2dvc1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyA4OTAgLSBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC5maWVsZC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9Ly9maWVsZC1pdGVtXG4gICAgICAudGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH0vL3RleHRcbiAgICAgIHVsLmNyZWQtbG9nb3Mge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaSB7XG5cdFx0XHRcdFx0ZmxleDogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHR3aWR0aDogMzAlO1xuICAgICAgICAgIG1heC13aWR0aDogMzAlO1xuICAgICAgICAgIG1hcmdpbjogMjBweCAxJSAwIDElO1xuICAgICAgICB9XG4gICAgICB9Ly91bC5jcmVkLWxvZ29zXG4gICAgfS8vbGFyZ2VcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIDc2OCAtIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIH0vL21lZGl1bVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyA2NjcgLSBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgfS8vc21hbGxcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIDQ4MCAtIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdFx0dWwuY3JlZC1sb2dvcyB7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHR3aWR0aDogNDYlO1xuXHRcdFx0XHRcdG1heC13aWR0aDogNDYlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG4gICAgICAudGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICB9Ly90ZXh0XG4gICAgfS8veHNtYWxsXG4gIH0vL2NyZWRcbn0vL2Zyb250XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBURUFNIE1FTUJFUiBERVRBSUxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLm5vZGUtdHlwZS10ZWFtLW1lbWJlciB7XG4gIC5maWVsZC1uYW1lLWZpZWxkLWhlYWRzaG90IHtcbiAgICB3aWR0aDogMzQlO1xuICAgIG1hcmdpbjogMCA0JSAyJSAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGltZyB7IEBleHRlbmQgJWZsdWlkLWltZzsgfVxuICB9Ly9maWVsZC1uYW1lLWZpZWxkLWhlYWRzaG90XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAuZmllbGQtbmFtZS1maWVsZC1oZWFkc2hvdCB7IHdpZHRoOiA0NiU7IH1cbiAgfS8vbGFyZ2VcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAuZmllbGQtbmFtZS1maWVsZC1oZWFkc2hvdCB7XG4gICAgICBAaW5jbHVkZSBmd2ZuKCk7XG4gICAgICBtYXJnaW46IDAgMCA0JTtcbiAgICB9Ly9maWVsZC1uYW1lLWZpZWxkLWhlYWRzaG90XG4gIH0vL3hzbWFsbFxufS8vbm9kZS10eXBlLXRlYW0tbWVtYmVyXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0VDVElPTiBMQU5ESU5HXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5ub2RlLXR5cGUtc2VjdGlvbi1sYW5kaW5nIHtcbn0vL25vZGUtdHlwZS1zZWN0aW9uLWxhbmRpbmdcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGaW5hbmNpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnBhZ2Utbm9kZS01MCAudmlldy1pZC1zZWN0aW9uX2xhbmRpbmdfaGVybyAudmlldy1jb250ZW50IC52aWV3cy1yb3cgLnZpZXdzLWZpZWxkLWZpZWxkLXRvcC1iZy1pbWcge2JhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDt9IiwiLmxheW91dC1wcm9kdWN0IHtcblxuXHRcblx0LmNvbnRlbnQtMDEge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0Lm91dGVyLXdyYXBwZXIge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdC5pbm5lciB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0Lmluc2lkZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Ly8gUFJPRFVDVCBTRUNUSU9OIExBTkRJTkdcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCYubGF5b3V0LXNlY3Rpb24tbGFuZGluZyB7XG5cdFx0LmNvbnRlbnQtdG9wIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3Byb2R1Y3QtaGVyby1ia2cuanBnKTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0XHRcdHBhZGRpbmctdG9wOiA4MHB4O1xuXHRcdFx0LmlubmVyIHtcblx0XHRcdFx0QGV4dGVuZCAlaW5zaWRlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGcpIHsgLy8gWFhMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRcdC5jb250ZW50LXRvcCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiA2MHB4O1xuXHRcdFx0fVxuXHRcdH0vL3h4bGdcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0XHQuY29udGVudC10b3Age1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHRcdFx0cGFkZGluZy10b3A6IDMwcHg7XG5cdFx0XHR9XG5cdFx0fS8vc21hbGxcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhzbWFsbCkgeyAvLyBYU01BTEwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRcdC5jb250ZW50LXRvcCB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMjBweDtcblx0XHRcdH1cblx0XHR9Ly94c21hbGxcblx0XHRcblx0fS8vbGF5b3V0LXNlY3Rpb24tbGFuZGluZ1xuXHRcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC8vIFBST0RVQ1QgUEFHRSBIRVJPXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQudmlldy1pZC1wcm9kdWN0X3BhZ2VfaGVybyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwIGF1dG8gNTBweCBhdXRvO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcHJvZHVjdC1oZXJvLWluc2lkZS5wbmcpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdHBhZGRpbmc6IDgwcHggNjBweDtcblx0XHQudmlldy1jb250ZW50IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0LnZpZXdzLXJvdyB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246ICRob3J6O1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHQudmlld3MtZmllbGQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246ICR2ZXJ0O1xuXHRcdFx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdFx0XHQuZmllbGQtY29udGVudCB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdG1hcmdpbjogYXV0byAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLXRpdGxlIHtcblx0XHRcdFx0XHRcdC5maWVsZC1jb250ZW50IHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogNSU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRoMSB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlO1x0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMi40NDRlbTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGgyIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXJ0aWFyeTtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjM4OWVtO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0cCB7bWFyZ2luLWJvdHRvbTogMDt9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtZmllbGQtcHJvZHVjdC1pbWFnZXMge1xuXHRcdFx0XHRcdFx0Lml0ZW0tbGlzdCB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH0vL2xpXG5cdFx0XHRcdFx0XHRcdH0vL3VsXG5cdFx0XHRcdFx0XHRcdC8vIFNMSUNLIERPVFNcblx0XHRcdFx0XHRcdFx0dWwuc2xpY2stZG90cyB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTBweCAwIDAgMDtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwIDEwcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0Y2xlYXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHRcdCYuc2xpY2stYWN0aXZlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI0NDQztcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxNXB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDE1cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fS8vYnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0fS8vbGlcblx0XHRcdFx0XHRcdFx0fS8vc2xpY2stZG90c1xuXHRcdFx0XHRcdFx0fS8vaXRlbS1saXN0XG5cdFx0XHRcdFx0fS8vZmllbGQtYmFja2dyb3VuZC1pbWFnZVxuXHRcdFx0XHR9Ly92aWV3cy1maWVsZFxuXHRcdFx0fS8vdmlld3Mtcm93XG5cdFx0fS8vdmlldy1jb250ZW50XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGcpIHsgLy8gWExBUkdFID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdHBhZGRpbmc6IDYwcHg7XG5cdH0vL3hsYXJnZVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGcpIHsgLy8gTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0cGFkZGluZzogNTBweDtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHQudmlldy1jb250ZW50IHtcblx0XHRcdC52aWV3cy1yb3cge1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogJHZlcnQ7XG5cdFx0XHRcdC52aWV3cy1maWVsZCB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtdGl0bGUge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHRcdFx0XHRcdGgxIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyLjQ0NGVtICogMC45O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmLnZpZXdzLWZpZWxkLWZpZWxkLXByb2R1Y3QtaW1hZ2VzIHtcblx0XHRcdFx0XHRcdC5pdGVtLWxpc3Qge1xuXHRcdFx0XHRcdFx0XHR1bC5zbGljay1kb3RzIHtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRidXR0b24ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fS8vbGFyZ2VcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZCkgeyAvLyBNRURJVU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0cGFkZGluZzogNDBweDtcblx0XHQudmlldy1jb250ZW50IHtcblx0XHRcdC52aWV3cy1yb3cge1xuXHRcdFx0XHQudmlld3MtZmllbGQge1xuXHRcdFx0XHRcdCYudmlld3MtZmllbGQtdGl0bGUge1xuXHRcdFx0XHRcdFx0aDEge1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDIuNDQ0ZW0gKiAwLjg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9Ly9tZWRpdW1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0cGFkZGluZzogMzVweDtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9Ly9zbWFsbFxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHNtYWxsKSB7IC8vIFhTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdHBhZGRpbmc6IDMwcHg7XG5cdH0vL3hzbWFsbFxuXHRcdFxuXHR9Ly9wcm9kdWN0IHBhZ2UgaGVyb1xuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQvLyBXUkFQIEZPUiBWSURFTyBBTkQgRkFRIFRBQlNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC5wYW5lLW5vZGUtYm9keSxcblx0LnZpZGVvLXdyYXAsXG5cdC5wZGYtd3JhcCxcblx0LmZhcS13cmFwIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xuXHRcdHBhZGRpbmc6IDEwMHB4IDIlO1xuXHRcdC5maWVsZC1uYW1lLWJvZHksXG5cdFx0LmJveCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdEBleHRlbmQgLmNsZWFyZml4O1xuXHRcdFx0bWF4LXdpZHRoOiA4MDBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxnKSB7IC8vIFhYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0XHRwYWRkaW5nOiA2dncgMTVweDtcblx0XHR9XG5cdH0vL3dyYXAgZm9yIHZpZGVvLGZhcVxuXHRcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC8vIFZJRVcgRk9SIENVU1RPTSBURVhUIFRBQlNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC52aWV3LWlkLXByb2R1Y3RfcGFnZV90YWJzIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHQudmlldy1oZWFkZXIge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdG1hcmdpbjogMCAwIDIwcHggMDtcblx0XHRcdGgzIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQudGFiLWNvbnRlbnQge1xuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xuXHRcdFx0cGFkZGluZzogMTAwcHggMiU7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdC5ib3gge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdG1heC13aWR0aDogODAwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdEBleHRlbmQgLmNsZWFyZml4O1xuXG5cdFx0XHR9Ly9ib3hcblx0XHR9Ly90YWItY29udGVudFxuXHRcdHVsLnRhYnMge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdGZvbnQtc2l6ZTogMS4xMTFlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0QGV4dGVuZCAuY2xlYXJmaXg7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0Y2xlYXI6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogMTBweCAxMHB4IDAgMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0Y2xlYXI6IG5vbmU7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdCY6ZW1wdHkge2Rpc3BsYXk6IG5vbmUgIWltcG9ydGFudDt9XG5cdFx0XHRcdC50YWItbGluayB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cGFkZGluZzogMjRweCA0MHB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzU2MGEwZCwwLjcpO1xuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0Ji5jdXJyZW50IHtiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTt9XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7Y2xlYXI6IGxlZnQ7fVxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge21hcmdpbi1yaWdodDogMDt9XG5cdFx0XHR9Ly9saVxuXHRcdH0vL3VsLnRhYnNcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGcpIHsgLy8gWFhMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRcdC50YWItY29udGVudCB7XG5cdFx0XHRcdHBhZGRpbmc6IDZ2dyAyNXB4O1xuXHRcdFx0fVxuXHRcdFx0dWwudGFicyB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0LnRhYi1saW5rIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDI0cHggMjBweCAyMnB4IDIwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fS8veHhsXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkgeyAvLyBTTUFMTCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRcdFx0dWwudGFicyB7ZGlzcGxheTogbm9uZTt9XG5cdFx0XHQudGFiLWNvbnRlbnQge1xuXHRcdFx0fVxuXHRcdH0vL3NtYWxsXG5cdH0vL3Byb2R1Y3QtcGFnZS10YWJzXG5cdFxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Ly8gVklFVyBGT1IgRkFRIFRBQlxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0LnZpZXctaWQtcHJvZHVjdF9wYWdlX3RhYnMuZmFxIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHQuaXRlbS1saXN0IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdHVsIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDMwcHggMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7bWFyZ2luLWJvdHRvbTogMDt9XG5cdFx0XHRcdFx0LnZpZXdzLWZpZWxkIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEuNTU2cmVtO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQudmlld3MtZmllbGQtZmllbGQtZmFxLXF1ZXN0aW9uIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkMjtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4zZW07XG5cdFx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogMTAwO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJROlwiO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHRlcnRpYXJ5O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LmZpZWxkLWNvbnRlbnQge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTVlNWU1O1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNDBweDtcblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7Ym9yZGVyLWNvbG9yOiAkcmVkMjt9XG5cdFx0XHRcdFx0XHR9Ly9maWVsZC1pdGVtXG5cdFx0XHRcdFx0fS8vZmFxLXF1ZXN0aW9uXG5cdFx0XHRcdFx0LnZpZXdzLWZpZWxkLWZpZWxkLWZhcS1hbnN3ZXIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDMwcHggMzBweCAzMHB4IDcwcHg7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDIwcHggMCAwIDA7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiQTpcIjtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRka2JsdWU7XG5cdFx0XHRcdFx0XHRcdHRvcDogMjZweDtcblx0XHRcdFx0XHRcdFx0bGVmdDogMzBweDtcblx0XHRcdFx0XHRcdH0vL2JlZm9yZVxuXHRcdFx0XHRcdFx0cDpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOiAwO31cblx0XHRcdFx0XHR9Ly9hbnN3ZXJcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsZykgeyAvLyBYTEFSR0UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0XHQuaXRlbS1saXN0IHtcblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdC52aWV3cy1maWVsZC1maWVsZC1mYXEtcXVlc3Rpb24ge1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0vL3hsYXJnZVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykgeyAvLyBMQVJHRSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRcdC5pdGVtLWxpc3Qge1xuXHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0LnZpZXdzLWZpZWxkLWZpZWxkLWZhcS1xdWVzdGlvbiB7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fS8vbGFyZ2VcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkKSB7IC8vIE1FRElVTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0XHRcdC5pdGVtLWxpc3Qge1xuXHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0LnZpZXdzLWZpZWxkLWZpZWxkLWZhcS1xdWVzdGlvbiB7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fS8vbWVkaXVtXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0XHR9Ly9zbWFsbFxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4c21hbGwpIHsgLy8gWFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblx0XHR9Ly94c21hbGxcblx0XHRcblx0fS8vdmlldyBmYXFcblx0XG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQvLyBWSUVXIEZPUiBWSURFTyBUQUJcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC52aWV3LWlkLXByb2R1Y3RfcGFnZV90YWJzLnZpZGVvIHtcblx0XHQudmlldy1jb250ZW50IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246ICRob3J6O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogLTMwcHg7XG5cdFx0XHQudmlld3Mtcm93IHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiA0OCU7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDMwcHggNCU7XG5cdFx0XHRcdCY6bnRoLWNoaWxkKDJuKzEpIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0fVxuXHRcdFx0XHQudmlld3MtZmllbGQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0ei1pbmRleDogMTtcblx0XHRcdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICNGRkY7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc3ZnL3BsYXkuc3ZnKTtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiA2MnB4IDYycHg7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA2MHB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdFx0XHRcdFx0ei1pbmRleDogNTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkcmVkMjtcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdFx0XHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkcmVkMjtcblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAxNTBweCByZ2JhKCNmZmYsMC44KTtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuMztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0XHQudmlldy1jb250ZW50IHtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246ICR2ZXJ0O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHQudmlld3Mtcm93IHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7bWFyZ2luLWJvdHRvbTogMDt9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0vL3ZpZXcgdmlkZW9cblx0XG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQvLyBWSUVXIEZPUiBQREYgVEFCXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQudmlldy1pZC1wcm9kdWN0X3BhZ2VfdGFicy5wZGYge1xuXHRcdC52aWV3LWNvbnRlbnQge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdC52aWV3cy1yb3cge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDI1cHggMDtcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOiAwO31cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4zZW07XG5cdFx0XHRcdFx0Y29sb3I6ICRyZWQyO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgI2U1ZTVlNTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogMTAwO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiA1cHg7XG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHJlZDI7XG5cdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRyZWQyO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC8vIFRBQiBTSE9XIC8gSElERSBTVFlMRVNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC50YWItY29udGVudCB7XHRcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdCYuY3VycmVudCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7IC8vIFNNQUxMID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdH1cblx0fS8vdGFiLWNvbnRlbnRcblx0XG5cdFxufS8vbGF5b3V0LXByb2R1Y3QiLCIiLCIvKiBWaWRlbyBHbG9iYWwgKi9cbi52aWRlby1wYWdlLWdsb2JhbHtcblx0LnBhbmUtcGFuZS1tZXNzYWdlcyB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHQgICAgYm90dG9tOiA0MHB4O1xuXHQgICAgei1pbmRleDogOTk5O1xuXHQgICAgdWwge1xuXHQgICAgXHRsaSB7XG5cdCAgICBcdFx0bWFyZ2luOjA7XG5cdCAgICBcdH1cblx0ICAgIH1cblx0fVxuXHQuY29udGVudC10b3Age1xuXHRcdGRpc3BsYXk6bm9uZTtcblx0fVxuXHQuY29udGVudC10b3AsXG5cdC5zdWJ0b3AsXG5cdC5jb250ZW50LTAxe1xuXHRcdHBhZGRpbmctYm90dG9tOiAxNTBweDtcblx0XHQuYmFjay10by12aWRlb3Mge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjpub25lO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnBhbmUtbm9kZS1maWVsZC15b3V0dWJlLWxpbmsge1xuXHRcdFx0I3lvdXR1YmUtZmllbGQtcGxheWVyIHtcblx0XHRcdFx0bWFyZ2luOjAgYXV0byA0MHB4O1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQjdmlkZW8tc2luZ2xlLXRpdGxlIHtcblx0XHRcdG1heC13aWR0aDoxMjgwcHg7XG5cdFx0XHRtYXJnaW46NDBweCBhdXRvIDA7XG5cdFx0XHRoMyN2aWRlby1zaW5nbGUtdGl0bGUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjEwcHg7XG5cdFx0XHR9XG5cdFx0XHQucGFuZS10aXRsZSB7XG5cdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmZpZWxkLW5hbWUtYm9keSB7XG5cdFx0XHRtYXgtd2lkdGg6MTI4MHB4O1xuXHRcdH1cblx0XHQudmlldy12aWRlb3Mge1xuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6ODkwcHgpIHtcblx0XHRcdFx0cGFkZGluZzogMCAyMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQudmlld3Mtcm93IHtcblx0XHRcdG1hcmdpbi10b3A6IDYwcHg7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2E5YTlhOTtcblx0XHRcdHBhZGRpbmctdG9wOiA2MHB4O1xuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOjA7XG5cdFx0XHRcdGJvcmRlci10b3A6bm9uZTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOjg5MXB4KSB7XG5cdFx0XHRcdGRpc3BsYXk6ZmxleDtcblx0XHRcdFx0bWF4LXdpZHRoOjEwMCU7XG5cdFx0XHRcdGZsZXgtYmFzaXM6YXV0bzsgXG5cdFx0XHR9XG5cdFx0XHQudmlld3MtZmllbGQtZmllbGQtdmlkZW8tdGh1bWIsXG5cdFx0XHQudmlld3MtZmllbGQtbm90aGluZyB7XG5cdFx0XHRcdEBtZWRpYSAobWluLXdpZHRoOjg5MXB4KSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ICAgIGZsZXg6IDAgMSBhdXRvO1xuXHRcdFx0XHQgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0ICAgIGZsZXgtd3JhcDogd3JhcDsgXG5cdFx0XHRcdCAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudmlld3MtZmllbGQtZmllbGQtdmlkZW8tdGh1bWIge1xuXHRcdFx0XHRcblx0XHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ODkxcHgpIHtcblx0XHRcdFx0XHR3aWR0aDoyMCU7XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6ODkwcHgpIHtcblx0XHRcdFx0XHRtYXJnaW46MjBweCBhdXRvIDMwcHg7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XG5cdFx0XHR9XG5cdFx0XHQudmlld3MtZmllbGQtbm90aGluZyB7XG5cdFx0XHRcdEBtZWRpYSAobWluLXdpZHRoOjg5MXB4KSB7XG5cdFx0XHRcdFx0d2lkdGg6IDcwJTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNDBweDtcblx0XHRcdFx0fVx0XHRcdFx0XG5cdFx0XHQgICAgLnRlYXNlciB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRcdH1cblx0XHRcdCAgICB9XG5cdFx0XHR9XHRcdFx0XG5cdFx0fVxuXHR9XG59XG4vKiBWaWRlbyBMYW5kaW5nIFBhZ2UgKi9cbiN2aWRlby1sYW5kaW5nLXBhZ2Uge1xuXHRcbn1cbi8qIFZpZGVvIFNpbmdsZSBQYWdlICovXG4jdmlkZW8tc2luZ2xlLXBhZ2Uge1xuXHRcbn1cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVyIGNsYXNzZXMgKHN0b2xlbiBhbG1vc3QgZW50aXJlbHkgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9jc3MvbWFpbi5jc3MgKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gaGVscGVyIGNsYXNzIGZvciBzbGlkZXJzLCBqcyBiYXNlZCBkaXNwbGF5IGVsZW1lbnRzIGV0Yy5cbi5sb2FkaW5nIHtcbiAgQGV4dGVuZCAlaW52aXNpYmxlO1xuICBvdmVyZmxvdzpoaWRkZW47XG4gIC8vIGFzc3VtZXMgd2UgYXJlIHVzaW5nIGEgdmlldyBmb3Igb3VyIGNvbnRlbnRcbiAgLnZpZXdzLXJvdyB7XG4gICAgZGlzcGxheTpub25lO1xuICB9XG4gIC52aWV3cy1yb3cudmlld3Mtcm93LWZpcnN0IHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICB9XG59XG5cbi5mbG9hdGwge1xuICBmbG9hdDpsZWZ0O1xufVxuXG4uZmxvYXRyIHtcbiAgZmxvYXQ6cmlnaHQ7XG59XG5cbi5jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmJsb2NrIHtcblx0ZGlzcGxheTpibG9jaztcbn1cbi5pbmxpbmUge1xuXHRkaXNwbGF5OmlubGluZTtcbn1cbi5pbmxpbmUtYmxvY2sge1xuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcbn1cblxuJWNsZWFyZml4IHtcbiAgb3ZlcmZsb3c6YXV0bztcbn1cblxuLypcbiAqIEltYWdlIHJlcGxhY2VtZW50XG4gKi9cblxuJWlyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiBJRSA2LzcgZmFsbGJhY2sgKi9cbiAgICAqdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbiVpcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxNTAlO1xufVxuXG4vKlxuICogSGlkZSBmcm9tIGJvdGggc2NyZWVucmVhZGVycyBhbmQgYnJvd3NlcnM6IGg1YnAlY29tL3VcbiAqL1xuXG4laGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbnJlYWRlcnM6IGg1YnAlY29tL3ZcbiAqL1xuXG4ldmlzdWFsbHloaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG59XG5cbi8qXG4gKiBFeHRlbmRzIHRoZSAldmlzdWFsbHloaWRkZW4gY2xhc3MgdG8gYWxsb3cgdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNhYmxlXG4gKiB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkOiBoNWJwJWNvbS9wXG4gKi9cblxuJXZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTphY3RpdmUsXG4ldmlzdWFsbHloaWRkZW4uZm9jdXNhYmxlOmZvY3VzIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLypcbiAqIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVucmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICovXG5cbiVpbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLyohXG4gKiBhbmltYXRlLmNzcyAtaHR0cDovL2RhbmVkZW4ubWUvYW5pbWF0ZVxuICogVmVyc2lvbiAtIDMuNS4yXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDE3IERhbmllbCBFZGVuXG4gKi9cblxuLmFuaW1hdGVkIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5hbmltYXRlZC5oaW5nZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG59XG5cbi5hbmltYXRlZC5mbGlwT3V0WCxcbi5hbmltYXRlZC5mbGlwT3V0WSxcbi5hbmltYXRlZC5ib3VuY2VJbixcbi5hbmltYXRlZC5ib3VuY2VPdXQge1xuICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cblxuLmJvdW5jZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbkBrZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLCA1MCUsIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLCA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsYXNoIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucHVsc2Uge1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG59XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucnViYmVyQmFuZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSwgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5oZWFkU2hha2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbn1cblxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuXG4uc3dpbmcge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7XG59XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSwgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0MCUsIDYwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4udGFkYSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi53b2JibGUge1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSwgMTEuMSUsIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG5cbi5qZWxsbyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLmJvdW5jZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmJvdW5jZUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG5cbi5ib3VuY2VPdXQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmFkZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkRvd25CaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0TGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0TGVmdEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbn1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG5cbi5hbmltYXRlZC5mbGlwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBhbmltYXRpb24tbmFtZTogZmxpcDtcbn1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG4uZmxpcEluWSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZEluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZE91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbn1cblxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDIwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDQwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmhpbmdlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xufVxuXG5Aa2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi5qYWNrSW5UaGVCb3gge1xuICBhbmltYXRpb24tbmFtZTogamFja0luVGhlQm94O1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5yb2xsSW4ge1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi56b29tSW4ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5MZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uem9vbU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21PdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIiLCIvLyBJRSBPTkxZIFNUWUxFU1xuXG5ib2R5LmllIHtcblx0LmZvcm0tc2VsZWN0IHtiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDt9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztnRkFFZ0Y7QUFDaEY7bUNBQ21DO0FBRW5DO21DQUNtQztBQU1uQyxPQUFPLENBQUMs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 */
