File: D:/HostingSpaces/SBogers10/demo.komma.pro/wwwroot/css/style.css
@charset "UTF-8";
/* 1 - SETTINGS
* Global variables, site-wide settings,
* config switches etc.
*
* The order in which these Sass files
* are loaded is critical!
* So please be careful when editing
=========================================================== */
/* ==========================================================================
Config settings
========================================================================== */
/* ============================================
Define breakpoints for given formats
============================================ */
/* =========================================================
Organize color variables in a Sass Map.
This way, the colors can be iterated, are more organized,
and are more intuitive to reference.
========================================================= */
/** =====================================================================================
* Defines the typographic baseline.
* We define every size in pixels, the underlying system converts the
* respective units to the responsive REM value.
===================================================================================== */
/**
* Our base font-size and line-height
*/
/**
* Here we assign short names for the font families
*/
/* 2 - TOOLS
* Site wide mixins and functions
=========================================================== */
/* ==========================================================================
Functions used in grid calculation
========================================================================== */
/**
* Return percentage based on amount of columns
* Use parent column size to adjust the origin
*/
/**
* Default function for columns
* Return as percentage
*/
/**
* Return as viewport width
*/
/* ==========================================================================
* Font related functions
* ========================================================================== */
/**
* Mixin for setting font-size in REM through a Sass Map with all available sizes
USAGE:
.myClass {
@include font-size(xl);
}
*/
/**
* Mixin for setting font-weight through a Sass Map with all available weights
USAGE:
.myClass {
@include font-weight(semi-bold);
}
.myClass {
@include font-weight(700);
}
*/
/**
* A simple function for accessing the font families from our mapping
USAGE:
span {
@include font-family(primary);
}
*/
/* Media query mixin for writing Mobile First
* ========================================== */
/** =====================================================================================
* Toolbox functions
===================================================================================== */
/**
* Maths helpers.
* Halve and double numbers, returning rounded integers.
USAGE:
.foo {
padding: halve(30px);
}
*/
/**
* Remove the unit of a length
* @param {Number} $number - Number to remove unit from
* @return {Number} - Unitless number
*/
/* Check if value is number */
/* Value to Em */
/* Value to Rem */
/**
* A simple function for accessing the colors from our mapping
* To access colors in our palette, we use a very simple custom Sass function
USAGE:
a {
color: palette(primary);
&:hover {
color: palette(primary, 400);
}
}
*/
/*
* Set vertical spacing only for mobile viewport
USAGE:
.example {
@include vspacing-s(
'margin-top' 1
);
}
*/
/*
* Set vertical spacing for viewport larger than mobile
* In flexible units (vw) and on max viewport in a fixed amount (px)
USAGE:
.example {
@include vspacing-m-up(
'padding-top' 0.33,
'margin-bottom' 0.5
);
}
*/
/*
* From values given return the correct v-spacing for each breakpoint
*/
/**
* A simple function for setting a consistent box-shadow
USAGE:
.card {
@include box-shadow;
}
.card--alt {
@include box-shadow(low);
}
*/
/**
* A simple function for setting a consistent border-radius
USAGE:
.card {
@include border-radius;
}
.card--alt {
@include border-radius(l);
}
*/
/**
* Lobotomized Owl Selector mixin:
* - Set spacing for consecutive items with margin-top on all but the first item
USAGE:
.box {
@include owl-children;
}
.card__item {
@include owl;
}
*/
/**
* Show hyphens for every browser supporting it
* and will break lines in every other browser
*/
/*
* Restrict an element to a max-width for creating gutters on the side
*/
/** =================================================================================================
* The 'z-index-map' is used for managing the elements stacking order in the 'root' stacking context
* This way we have a overview of all the z-index values that are used across the project.
==================================================================================================== */
/**
USAGE:
@include z(z-modal);
*/
/* 3 - ELEMENTS
* Plain old simple HTML elements without a class (type selectors)
=========================================================== */
/* ==========================================================================
* Basic elements (no class selectors allowed)
* ========================================================================== */
/**
* Set up the html
*
* 1. Makes sure that some fonts are better rendered
* 2. Set font to lining figures
*/
html {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
-webkit-font-feature-settings: "lnum";
font-feature-settings: "lnum";
box-sizing: border-box;
}
body {
position: relative;
font-size: 1rem;
line-height: 1.5;
font-family: "Roboto", sans-serif;
margin: 0;
color: #384a66;
}
/**
* [1] Make sure elements like input and textarea inherit some base properties
* https://www.smashingmagazine.com/2016/11/css-inheritance-cascade-global-scope-new-old-worst-best-friends/
*
* [2] Setting box-sizing the best way per:
* https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
*/
* {
font-family: inherit;
line-height: inherit;
color: inherit;
}
*, *:before, *:after {
box-sizing: inherit;
}
/**
* [1] Turn off text-shadow when selecting text for better readability
*/
::-moz-selection {
background: #bde1ff;
color: white;
text-shadow: none;
/* [1] */
}
::selection {
background: #bde1ff;
color: white;
text-shadow: none;
/* [1] */
}
/* Remove default margin around figure
*/
figure {
margin: 0;
}
/**
* [1] Setting 'vertical-align' removes the whitespace that appears under 'img'
* elements when they are dropped into a page as-is. Safer alternative to
* using 'display: block;'.
* [2] Remove border / especially on older browsers
*/
img, svg {
vertical-align: middle;
/*[1]*/
border: none;
/*[2]*/
max-width: 100%;
}
/**
* Still add display block to svg and picture to prevent unwanted spacing or collapsing
*/
svg, picture {
display: block;
}
/**
* Needed for iOS to prevent input zooming
* https://uxcellence.com/2014/01/15/quick-fix-increase-font-size-to-16px-to-fix-input-zoom
*/
input,
select,
textarea {
font-size: 16px;
}
a {
color: #328dfc;
-webkit-text-decoration-skip: ink;
text-decoration-skip-ink: auto;
}
a:not([class]):hover {
color: #036dee;
}
h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dd,
p, figure,
pre, table, fieldset, hr {
margin-top: 0;
margin-bottom: 0;
}
h1 {
font-size: 3.5rem;
line-height: 1;
font-weight: 700;
}
h2 {
font-size: 2.5rem;
line-height: 1;
font-weight: 400;
}
h3 {
font-size: 1.5rem;
line-height: 1.3333333333;
font-weight: 400;
}
h4 {
font-size: 1.25rem;
line-height: 1.6;
font-weight: 600;
}
h5, h6 {
font-size: 0.875rem;
line-height: 1.1428571429;
font-weight: 600;
text-transform: uppercase;
}
/** =====================================================================================
* Lists
===================================================================================== */
/**
* Default indentation value for lists
*/
ul,
ol {
padding: 0;
margin: 0;
margin-left: 1.125em;
}
dd {
margin-left: 0;
}
/**
* Remove extra vertical spacing when nesting lists.
*/
li > ul,
li > ol {
margin-bottom: 0;
}
/* 4 - Layout elements
* Design patterns (e.g. grids or media object)
=========================================================== */
/*==========================================================================
* Contains
* ========================================================================== */
.l-contain {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.l-contain {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.l-contain {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
/*==========================================================================
* Restrict
*
* When a block shouldn't take up the whole width of the container
* we can restrict the maximum width
* ========================================================================== */
@media screen and (min-width: 840px) {
.l-restrict-narrow {
margin-left: auto;
margin-right: auto;
width: 75%;
max-width: 38em;
}
}
@media screen and (min-width: 1152px) {
.l-restrict-narrow {
width: 50%;
}
}
@media screen and (min-width: 840px) {
.l-restrict-wide {
margin-left: auto;
margin-right: auto;
width: 87.5%;
}
}
@media screen and (min-width: 1152px) {
.l-restrict-wide {
width: 66.6666666667%;
}
}
/* 5 - COMPONENTS
* Discrete complete chunks of UI.
* Designed components
=========================================================== */
/** ==========================================================================
* Components
* =========================================================================*/
/* ==========================================================================
* Default button
* ========================================================================== */
/* 1. Color gets inherited and used for nested elements with 'currentColor' property */
.c-button {
display: inline-flex;
align-items: center;
border-radius: 4px;
padding: 16px 0;
background-color: #328dfc;
border: none;
color: white;
/* 1 */
font-size: 0.9375rem;
line-height: 1.6;
font-weight: 500;
letter-spacing: 1.5px;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
transition-property: background-color;
transition-duration: 0.3s;
}
.c-button:hover:not(:disabled) {
background-color: #036dee;
}
.c-button:active:not(:disabled) {
transform: translateY(1px);
}
.c-button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-button__text {
padding: 0 24px;
text-align: center;
}
.c-button--icon .c-button__text {
padding-right: 16px;
}
.c-button__icon {
display: none;
position: relative;
top: -1px;
left: -4px;
margin-right: 15px;
transition: transform 0.3s;
}
.c-button:hover:not(:disabled) .c-button__icon {
transform: translateX(4px);
}
.c-button__icon:first-child {
margin-right: 0;
margin-left: 15px;
}
.c-button--icon .c-button__icon {
display: block;
}
.c-button--on-dark {
color: white;
}
.c-button--on-dark:hover:not(:disabled) {
color: rgba(255, 255, 255, 0.75);
}
.c-card {
display: block;
width: 100%;
box-shadow: 0 20px 30px -10px rgba(0, 0, 0, 0.2);
background-color: white;
border-radius: 0 0 8px 8px;
text-decoration: none;
}
.c-card__image img {
width: 100%;
}
.c-card__body {
padding: 30px;
}
.c-card__title {
margin-bottom: 30px;
}
.c-card__content {
color: #384a66;
}
.c-card__action {
margin: 30px 0 35px;
}
.c-card--center {
text-align: center;
}
.c-card--unbox {
border-radius: 0;
box-shadow: none;
}
.c-card--unbox .c-card__image {
border-radius: 10px;
overflow: hidden;
}
.c-card--unbox .c-card__body {
padding: 30px 0 0;
}
.c-card--unbox .c-card__title {
font-size: 1.25rem;
line-height: 1.6;
}
.c-card--unbox .c-card__content {
display: none;
}
.c-close {
position: relative;
display: flex;
justify-content: center;
align-items: center;
align-self: center;
width: 40px;
height: 40px;
padding: 0;
background: none;
border: none;
outline: none;
cursor: pointer;
transition: transform 180ms ease-out;
}
.c-close:focus {
box-shadow: 0 0 3px 2px white;
}
.c-close:after, .c-close:before {
content: "";
position: absolute;
top: 20px;
right: 20%;
left: 20%;
height: 3px;
margin-top: -2px;
pointer-events: none;
background: white;
border-radius: 3px;
}
.c-close:before {
transform: rotate(45deg);
}
.c-close:after {
transform: rotate(-45deg);
}
.c-close:hover {
transform: scale(1.2);
}
.c-cookie-overlay {
position: fixed;
z-index: 9999;
top: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.6);
opacity: 1;
transition: opacity 0.5s;
}
.c-cookie-overlay.is-accepted {
display: none;
}
.c-cookie-overlay.fade-out {
opacity: 0;
}
.c-cookie-overlay__modal {
display: block;
width: 92%;
max-width: 960px;
padding: 60px 120px;
margin: auto;
background-color: white;
}
.c-cookie-overlay__container.is-hidden {
display: none;
}
.c-cookie-overlay__title {
font-size: 24px;
line-height: 1;
font-weight: 500;
margin: 0 0 5px;
color: #384a66;
}
.c-cookie-overlay__text {
font-size: 16px;
line-height: 1.2;
margin: 0;
color: #6b7c93;
}
.c-cookie-overlay__link {
text-decoration: underline;
color: #328dfc;
cursor: pointer;
transition: color 0.3s;
}
.c-cookie-overlay__link:hover {
color: rgba(50, 141, 252, 0.75);
}
.c-cookie-overlay__button {
display: inline-block;
margin-top: 35px;
padding: 13px 25px;
border-radius: 4px;
background-color: #328dfc;
transition: background-color 0.4s;
font-size: 16px;
line-height: 1.2;
font-weight: 500;
color: white;
cursor: pointer;
outline: none;
border: none;
}
.c-cookie-overlay__button:hover {
background-color: #0a77fb;
}
.c-cookie-overlay__types, .c-cookie-overlay__settings {
margin: 30px 0;
}
.c-cookie-overlay__types > * + *, .c-cookie-overlay__settings > * + * {
margin-top: 25px;
}
.c-cookie-overlay__settings {
margin-bottom: 0;
}
.c-cookie-switch__title {
font-size: 24px;
line-height: 1;
font-weight: 500;
margin: 0 0 5px;
color: #384a66;
}
.c-cookie-switch__text {
font-size: 16px;
line-height: 1.2;
margin: 0;
color: #6b7c93;
}
.c-cookie-switch__settings {
margin: 30px 0 0;
}
.c-cookie-switch__settings > * + * {
margin-top: 25px;
}
.c-cookie-switch__button {
display: inline-block;
margin-top: 35px;
padding: 13px 25px;
border-radius: 4px;
background-color: #328dfc;
transition: background-color 0.4s;
font-size: 16px;
line-height: 1.2;
font-weight: 500;
color: white;
cursor: pointer;
outline: none;
border: none;
}
.c-cookie-switch__button:hover {
background-color: #0a77fb;
}
.c-cookie-type {
display: flex;
justify-content: space-between;
align-items: flex-start;
width: 100%;
}
.c-cookie-type--static {
pointer-events: none;
}
.c-cookie-type__icon {
display: block;
margin: 0;
width: 26px;
height: 26px;
}
.c-cookie-type__icon svg {
width: 100%;
max-height: 26px;
}
.c-cookie-type--static .c-cookie-type__input {
opacity: 0.3;
}
.c-cookie-type__text {
margin: 0;
width: calc(100% - 55px);
font-size: 14px;
line-height: 1.2;
color: #6b7c93;
}
.c-cookie-type__title {
display: block;
margin: 0 0 5px;
font-size: 18px;
font-weight: 600;
color: #384a66;
}
.c-flash-message-container {
position: relative;
}
.c-flash-message {
border-radius: 8px;
position: absolute;
bottom: -80%;
left: 50%;
display: inline-block;
white-space: nowrap;
padding: 5px 15px;
background-color: #328dfc;
font-size: 0.6rem;
line-height: 1;
font-weight: 700;
text-transform: uppercase;
color: white;
opacity: 0;
transform: translate3d(-50%, -5px, 0);
transition-property: opacity, transform;
transition-duration: 0.3s;
}
.c-flash-message::after {
content: "";
position: absolute;
top: -8px;
left: calc(50% - 7.5px);
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 0 7.5px 8px 7.5px;
border-color: transparent transparent #328dfc transparent;
}
.c-flash-message.clicked {
opacity: 1;
transform: translate3d(-50%, 0, 0);
}
.c-form-element--honey {
position: fixed;
top: -100px;
height: 20px;
width: 100%;
}
.c-form-element__error {
border-radius: 4px;
font-size: 0.875rem;
line-height: 1.1428571429;
margin-top: 5px;
padding: 2px 8px;
color: rgba(207, 62, 62, 0.9);
}
.c-form-element__error:not(:empty) {
display: block;
}
.c-form-element__label {
font-size: 0.9375rem;
line-height: 1.6;
font-weight: 700;
order: 1;
padding-left: 15px;
padding-bottom: 5px;
}
.has-error .c-form-element__label {
color: #da9b0c;
}
.c-form-feedback {
margin: 0 0 8px;
padding: 24px 32px;
background-color: #fef5e1;
border: 1px solid #fef5e1;
border-radius: 4px;
font-size: 0.9375rem;
line-height: 1.6;
color: #d4c5f4;
}
.c-form-feedback:not(:empty) {
display: block;
}
.c-form-feedback:before {
content: attr(data-feedback);
display: inline-block;
margin-left: -16px;
margin-bottom: 8px;
font-weight: 700;
color: #da9b0c;
}
.c-form-feedback li::first-letter {
text-transform: uppercase;
}
.c-ghost-button {
display: inline-flex;
justify-content: center;
border-radius: 8px;
font-size: 0.875rem;
line-height: 1.1428571429;
color: #267de8;
background: transparent;
text-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
border: 1px solid currentColor;
padding: 16px 0;
text-transform: uppercase;
position: relative;
cursor: pointer;
text-decoration: none;
}
.c-ghost-button:focus {
outline: none;
box-shadow: 0 0 4px 2px rgba(189, 225, 255, 0.5);
}
.c-ghost-button:active:not(:disabled) {
outline: none;
box-shadow: none !important;
}
.c-ghost-button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-ghost-button::after {
border-radius: 8px;
border: 1px solid transparent;
background: rgba(0, 0, 0, 0.07);
background-clip: content-box;
content: "";
position: absolute;
top: -1px;
bottom: -1px;
right: -1px;
left: -1px;
transform: scaleX(0);
opacity: 0;
pointer-events: none;
transition-duration: 0.5s;
}
.c-ghost-button:hover:not(:disabled)::after {
transform: scaleX(1);
opacity: 1;
transition-property: opacity, transform;
transition-duration: 0.35s;
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-ghost-button__text {
position: relative;
z-index: 2;
padding: 0 24px;
text-align: center;
}
.c-button--icon .c-ghost-button__text {
padding-right: 16px;
}
.c-ghost-button__icon {
display: none;
position: relative;
z-index: 2;
top: -1px;
margin-right: 15px;
transition: transform 0.3s;
}
.c-ghost-button:hover:not(:disabled) .c-ghost-button__icon {
transform: translateX(3px);
}
.c-ghost-button--icon .c-ghost-button__icon {
display: block;
width: 16px;
}
.c-ghost-button__icon:first-child {
margin-right: 0;
margin-left: 15px;
}
.c-google-maps {
position: relative;
width: 100%;
height: 0;
padding-bottom: 50%;
}
.c-google-maps__map {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.c-hamburger {
display: flex;
justify-content: center;
align-self: center;
position: relative;
width: 40px;
height: 40px;
padding: 0;
color: black;
background: none;
border: none;
outline: none;
cursor: pointer;
}
.c-hamburger:focus {
box-shadow: 0 0 3px 2px #328dfc;
}
.c-hamburger.is-light {
color: white;
}
.c-hamburger > span {
position: absolute;
top: 20px;
right: 20%;
left: 20%;
height: 3px;
margin-top: -2px;
pointer-events: none;
background: currentColor;
border-radius: 3px;
transform-origin: right;
transition-property: transform;
transition-duration: 150ms;
transition-timing-function: ease-out;
transition-delay: 100ms;
}
.c-hamburger > span:nth-child(1) {
top: 12px;
transform: scaleX(0.8);
}
.c-hamburger > span:nth-child(3) {
top: 28px;
transform: scaleX(0.5);
}
.c-hamburger:hover > span {
transform: scaleX(0.8);
}
.c-hamburger:hover > span:nth-child(1), .c-hamburger:hover > span:nth-child(3) {
transform: scaleX(1);
}
.is-overlay-menu-active .c-hamburger > span {
transform: scaleX(1) !important;
}
.is-overlay-menu-active .c-hamburger > span:nth-child(1) {
transform: translateY(3px) scaleX(1) !important;
transition-delay: 0s;
}
.is-overlay-menu-active .c-hamburger > span:nth-child(3) {
transform: translateY(-3px) scaleX(1) !important;
transition-delay: 0s;
}
.c-icon-button {
display: inline-flex;
align-items: center;
width: 40px;
height: 40px;
color: #328dfc;
border: 1px solid rgba(50, 141, 252, 0.3);
border-radius: 100%;
transition-property: color, background-color, border, box-shadow;
transition-duration: 0.25s;
outline: none;
}
.c-icon-button:hover {
color: white;
background-color: #328dfc;
border-color: transparent;
cursor: pointer;
}
.c-icon-button:active {
background-color: #0360d0;
color: white;
}
.c-icon-button:focus {
box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.2);
}
.c-icon-button[data-icon-direction=reverse] {
transform: rotate(0.5turn);
}
.c-input {
font-size: 0.9375rem;
line-height: 1.6;
width: 100%;
padding: 8px-1px 16px;
border: 1px solid #6b7c93;
outline: none;
}
.has-error .c-input {
box-shadow: 0 0 7px -3px #328dfc;
border-color: #328dfc;
}
.c-input:focus {
box-shadow: 0 0 7px -3px rgba(50, 141, 252, 0.75);
border-color: #328dfc;
}
textarea.c-input {
display: block;
padding: 16px;
min-height: 158px;
line-height: 24px;
resize: vertical;
}
.c-image {
display: block;
}
.c-image > img {
display: block;
position: relative;
width: 100%;
min-height: 130px;
text-align: center;
}
.c-image > img:before {
border-radius: 4px;
font-size: 0.9375rem;
line-height: 1.6;
content: "We're sorry, this image is broken :(";
display: block;
position: absolute;
top: -10px;
left: 0;
height: calc(100% + 20px);
width: 100%;
padding: 15px;
background-color: #f7f9fb;
background-image: url(/img/kms/dynamic/image.svg);
background-repeat: no-repeat;
background-position: bottom 20px center;
background-size: 130px;
border: 2px solid #e9ebf5;
}
.c-image__placeholder {
display: block;
width: 100%;
height: 0;
padding-bottom: 66.67%;
background-color: #f7f9fb;
background-image: url("/img/kms/dynamic/image.svg");
background-repeat: no-repeat;
background-position: center;
background-size: 200px auto;
border: 1px solid rgba(133, 146, 166, 0.3);
border-radius: 16px;
}
.c-image__placeholder--video {
padding-bottom: calc(100% / 16 * 9);
background-image: url("/img/kms/dynamic/video-block.svg");
}
.c-language {
position: relative;
}
.c-language__current {
position: relative;
z-index: 2;
display: block;
width: 100%;
padding: 5px 30px;
color: white;
font-size: 0.9375rem;
line-height: 1.6;
text-align: left;
border: 1px solid transparent;
border-radius: 4px;
background-color: #bde1ff;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
transition: background-color 0.15s, box-shadow 0.15s;
}
.c-language__current:focus, .c-language__current:hover {
outline: none;
background-color: #d7edff;
}
.c-language:hover .c-language__current {
box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.15);
}
.c-language__dropdown {
position: absolute;
left: 0;
bottom: calc(100% - 5px);
border-radius: 4px 4px 0 0;
background-color: #a4d5ff;
list-style: none;
width: 100%;
padding: 0 0 5px;
margin: 0;
box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.15);
opacity: 0;
transform: translate3d(0, 5px, 0);
transition: opacity 0.3s, transform 0.3s;
}
.c-language:hover .c-language__dropdown {
opacity: 1;
transform: translate3d(0, 0, 0);
}
.c-language__item:nth-child(even) {
background-color: #aedaff;
}
.c-language__link {
display: block;
padding: 5px 15px 5px 30px;
text-decoration: none;
color: rgba(255, 255, 255, 0.7);
background-color: transparent;
transition: background-color 0.3s;
}
.c-language__link:first-child {
border-radius: 4px 4px 0 0;
}
.c-language__link:hover {
color: white;
background-color: #d7edff;
}
.c-language__arrow {
position: absolute;
z-index: 3;
right: 12px;
top: 16px;
color: white;
pointer-events: none;
}
.c-nav {
display: flex;
justify-content: flex-start;
align-items: center;
}
.c-nav__list {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
padding: 0;
list-style: none;
margin: 0 auto;
}
.c-nav__item {
display: flex;
justify-content: center;
align-items: center;
flex: 1 0 auto;
margin-top: 0;
}
.c-nav__item + .c-nav__item {
margin-left: 30px;
}
.c-nav__link {
display: inline-block;
padding: 20px 0;
color: rgba(255, 255, 255, 0.6);
line-height: 24px;
text-decoration: none;
}
.is-active .c-nav__link {
color: white;
}
.c-nav__icon {
margin-left: 7px;
color: #328dfc;
}
.c-nav__actions {
display: flex;
justify-content: center;
align-items: center;
list-style: none;
margin: 0;
}
/**
* -----------------------------------------------------------------------------
* Extra MQ for tweaking some spacing when enough room is available
* -----------------------------------------------------------------------------
*/
@media screen and (min-width: 1032px) {
.c-nav__list {
margin-left: 100px;
}
.c-nav__actions {
margin-left: auto;
}
}
.c-options-menu {
list-style: none;
margin-left: 0;
}
@media screen and (max-width: 839px) {
.c-options-menu {
display: flex;
justify-content: space-between;
}
}
@media screen and (min-width: 840px) {
.c-options-menu__segment + .c-options-menu__segment {
margin-top: 50px;
}
}
.c-options-menu__label {
font-size: 0.9375rem;
line-height: 1.6;
font-weight: 500;
margin-bottom: 10px;
color: #acb4bf;
}
@media screen and (max-width: 839px) {
.c-options-menu__segment:last-child .c-options-menu__label {
text-align: right;
}
}
.c-pagination {
display: flex;
justify-content: center;
align-items: center;
list-style: none;
margin-left: 0;
}
.c-pagination__item {
display: flex;
justify-content: center;
align-items: center;
font-size: 0.875rem;
line-height: 1.1428571429;
font-weight: 500;
color: rgba(185, 198, 216, 0.5);
}
.c-pagination__link {
border-radius: 4px;
padding: 8px;
color: rgba(71, 94, 128, 0.5);
text-decoration: none;
transition: color 0.2s, background-color 0.2s;
}
.c-pagination__link:link:hover {
color: #384a66;
background: #f7f9fb;
}
.c-pagination__link.is-active {
font-weight: bold;
color: #328dfc;
cursor: default;
}
.c-pagination__prev,
.c-pagination__next {
display: flex;
justify-content: center;
margin-left: 16px;
padding: 8px;
transition: color 0.2s;
}
.c-pagination__prev {
transform: rotate(0.5turn);
margin-left: 0;
margin-right: 16px;
}
.c-projector {
position: relative;
height: 100%;
}
.c-projector__figure {
display: -ms-grid;
display: grid;
-ms-grid-rows: 1fr;
grid-template-rows: 1fr;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
height: 100%;
}
.c-projector__picture {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: end;
align-self: end;
height: 100%;
display: block;
background-color: #f7f9fb;
opacity: 0;
transition: opacity 0.5s;
}
.c-projector__picture.is-active {
opacity: 1;
}
.c-projector__img {
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
}
@media screen and (max-width: 839px) {
.c-projector__img {
max-height: 78vh;
}
}
.c-projector__control {
position: relative;
z-index: 2;
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
align-self: end;
margin-bottom: 8px;
margin-right: 8px;
display: flex;
justify-content: center;
align-items: center;
}
.c-projector__button {
display: flex;
justify-content: center;
align-items: center;
margin: 5px;
padding: 10px;
color: #328dfc;
background: white;
border: 1px solid #e9ebf5;
border-radius: 100%;
cursor: pointer;
transition-property: background-color, border, box-shadow;
transition-duration: 0.25s;
outline: none;
}
.c-projector__button:hover {
color: white;
background-color: #328dfc;
border-color: transparent;
cursor: pointer;
}
.c-projector__button:active {
background-color: #0360d0;
color: white;
}
.c-projector__button:focus {
box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.2);
}
.c-projector__button.previous {
transform: rotate(0.5turn);
}
.c-projector__arrow {
display: flex;
justify-content: center;
align-items: center;
height: 16px;
font-size: 0;
line-height: 0;
}
.c-rating {
box-shadow: 0 20px 30px -10px rgba(0, 0, 0, 0.2);
border-radius: 16px;
position: relative;
margin: 0 auto;
max-width: 555px;
overflow: hidden;
background-color: white;
}
.c-rating__link {
padding: 30px 20px;
text-decoration: none;
color: #8592a6;
}
.c-rating__stars {
display: flex;
justify-content: center;
align-items: center;
padding: 0 20px;
height: 60px;
transform: translateY(-2px);
}
.c-servicepoint {
display: inline-flex;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
text-align: left;
margin-top: -16px;
}
.c-servicepoint__image {
margin-top: 16px;
margin-right: 16px;
border-radius: 100%;
max-width: 176px;
}
@media screen and (max-width: 539px) {
.c-servicepoint__image {
width: 96px;
}
}
.c-servicepoint__content {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
display: -ms-grid;
display: grid;
-ms-grid-rows: 1fr auto 1fr;
grid-template-rows: 1fr auto 1fr;
flex-grow: 9999;
min-width: 180px;
margin-top: 16px;
}
.c-servicepoint__header {
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: end;
align-self: end;
}
.c-servicepoint__body {
-ms-grid-row: 2;
grid-row: 2;
margin: 8px 0;
}
.c-servicepoint__footer {
-ms-grid-row: 3;
grid-row: 3;
}
.c-servicepoint__heading {
font-size: 1rem;
line-height: 1.5;
color: #384a66;
border-radius: 100%;
}
.c-servicepoint__subheading {
font-size: 0.9375rem;
line-height: 1.6;
color: #384a66;
}
.c-share__list {
display: inline-flex;
flex-direction: column;
list-style: none;
margin: 0;
}
@media screen and (max-width: 839px) {
.c-share__list {
display: flex;
}
}
@media screen and (max-width: 839px) {
.c-share__item + .c-share__item {
margin-left: 4vw;
}
}
@media screen and (min-width: 840px) {
.c-share__item + .c-share__item {
margin-top: 15px;
}
}
.c-slide-indicator {
display: flex;
justify-content: flex-end;
align-items: center;
}
.c-slide-indicator__button {
position: relative;
display: inline-block;
width: 30px;
height: 30px;
background-color: transparent;
border: none;
cursor: pointer;
transition-property: background-color, opacity;
transition-duration: 250ms;
}
.c-slide-indicator__button:focus {
outline: none;
}
.c-slide-indicator__button:hover:not(.is-active), .c-slide-indicator__button:focus:not(.is-active) {
opacity: 0.5;
}
.c-slide-indicator__button:before, .c-slide-indicator__button:after {
content: "";
position: absolute;
background-clip: content-box;
transition-property: transform, background-color, opacity;
transition-duration: 0.3s;
transition-timing-function: ease-in-out;
border-radius: 100%;
}
.c-slide-indicator__button:before {
top: calc((30px - 8px) / 2);
right: calc((30px - 8px) / 2);
bottom: calc((30px - 8px) / 2);
left: calc((30px - 8px) / 2);
background-color: white;
}
.c-slide-indicator__button:after {
top: calc((30px - 12px) / 2);
right: calc((30px - 12px) / 2);
bottom: calc((30px - 12px) / 2);
left: calc((30px - 12px) / 2);
border: 1px solid white;
transform: scale(1.4);
opacity: 0;
}
.c-slide-indicator__button.is-active:before {
background-color: #267de8;
border-color: rgba(255, 255, 255, 0.9);
transform: scale(0.75);
}
.c-slide-indicator__button.is-active:after {
opacity: 0.9;
transform: scale(1);
}
.c-slide-indicator__button:focus {
opacity: 1 !important;
}
.c-slide-indicator__button:focus:before {
box-shadow: 0 0 0 2px #267de8, 0 0 10px 1px white;
}
.c-slide-indicator__button:focus:after {
box-shadow: 0 0 0 2px #267de8, 0 0 10px 1px white;
}
.c-star {
padding: 0 2px;
color: #e9ebf5;
line-height: 0;
}
.c-star--full {
color: #bde1ff;
}
.c-star--half {
color: #e9ebf5;
}
.c-star--half .half-star {
fill: #bde1ff;
}
/**
* When we need an animation we can use the following as a basis
*/
.c-switch {
position: relative;
}
.c-switch__input {
position: absolute;
top: 0;
left: 0;
opacity: 0;
}
.c-switch__label {
border-radius: 4px;
font-size: 0.875rem;
line-height: 1.1428571429;
font-weight: 500;
display: -ms-inline-grid;
display: inline-grid;
-ms-grid-columns: 1fr 1fr;
grid-template-columns: 1fr 1fr;
position: relative;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
color: white;
background: #e9ebf5;
box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2);
overflow: hidden;
transition: background-color 0.3s cubic-bezier(0, 1, 0.5, 1);
}
.c-switch__label::before, .c-switch__label::after {
position: relative;
z-index: 1;
padding: 9px;
line-height: 1.3;
text-align: center;
text-transform: uppercase;
white-space: nowrap;
transition: color 0.2s;
}
.c-switch__label::before {
-ms-grid-column: 1;
grid-column: 1;
content: attr(data-checked);
}
.c-switch__input:checked ~ .c-switch__label::before {
color: rgba(56, 74, 102, 0.4);
}
.c-switch__label::after {
-ms-grid-column: 2;
grid-column: 2;
content: attr(data-unchecked);
color: rgba(255, 255, 255, 0.3);
}
.c-switch__input:checked ~ .c-switch__label::after {
color: inherit;
}
.c-switch__indicator {
position: absolute;
z-index: 0;
left: 0;
top: 0;
height: 100%;
width: 50%;
background: linear-gradient(to bottom, #328dfc, #00a7f9);
transition: transform 0.35s cubic-bezier(0.23, 0.18, 0.3, 1);
}
.c-switch__indicator:after {
content: "";
position: absolute;
left: 0;
top: 0;
display: block;
width: 100%;
height: 100%;
background-image: linear-gradient(270deg, #a02d09 10%, #DE4313 100%);
opacity: 0;
transition: opacity 0.35s cubic-bezier(0.23, 0.18, 0.3, 1);
}
.c-switch__input:checked ~ .c-switch__label .c-switch__indicator {
transform: translateX(101%);
}
.c-switch__input:checked ~ .c-switch__label .c-switch__indicator:after {
opacity: 1;
}
/* ==========================================================================
* Text button
* ========================================================================== */
/**
* 1. Color gets inherited and used for nested elements with 'currentColor' property
* 2. Reset default button styling
*/
.c-text-button {
display: inline-flex;
align-items: center;
color: #328dfc;
padding: 0;
/* 2 */
background-color: transparent;
/* 2 */
border: none;
/* 2 */
cursor: pointer;
text-decoration: none;
transition: color 0.3s;
}
.c-text-button:hover:not(:disabled) {
color: #0352b3;
}
.c-text-button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-text-button__text {
font-size: 0.9375rem;
line-height: 1.6;
font-weight: 500;
letter-spacing: 1.5px;
text-transform: uppercase;
}
.c-text-button__icon {
display: none;
position: relative;
top: -2px;
margin-left: 8px;
transition: transform 0.3s;
}
.c-text-button:hover:not(:disabled) .c-text-button__icon {
transform: translateX(4px);
}
.c-text-button--icon .c-text-button__icon {
display: block;
}
.c-text-button--small .c-text-button__text {
font-size: 0.875rem;
line-height: 1.1428571429;
font-weight: 500;
}
.c-text-button--small .c-text-button__icon svg {
transform: scale(0.67);
}
.c-thumbnail__link {
display: block;
text-decoration: none;
width: 100%;
}
.c-thumbnail__frame {
position: relative;
width: 100%;
padding-bottom: 66.67%;
height: 0;
overflow: hidden;
}
.c-thumbnail__frame.has-hover-effect {
position: relative;
}
.c-thumbnail__frame.has-hover-effect::after {
content: "";
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: radial-gradient(rgba(50, 141, 252, 0.2), rgba(50, 141, 252, 0.6));
opacity: 0;
transition-property: opacity;
transition-duration: 0.4s;
}
.c-thumbnail__link:hover .c-thumbnail__frame.has-hover-effect::after {
opacity: 1;
}
.c-thumbnail__image {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #e9ebf5;
background-size: cover;
background-repeat: no-repeat;
background-position: 50%;
}
.c-thumbnail__frame.has-hover-effect .c-thumbnail__image {
transform: scale(1);
transition-property: transform, -webkit-filter;
transition-property: transform, filter;
transition-property: transform, filter, -webkit-filter;
transition-duration: 0.4s;
}
.c-thumbnail__link.has-hover:hover .c-thumbnail__image {
transform: scale(1.06);
-webkit-filter: saturate(0%);
filter: saturate(0%);
}
.c-thumbnail__content {
margin-top: 20px;
}
.c-thumbnail__caption {
font-size: 1.25rem;
line-height: 1.6;
font-weight: 500;
color: #384a66;
transition: color 0.25s;
}
.c-thumbnail__button {
margin-top: 30px;
}
/**
* Modifier of the thumbnail where the figure gets a little extra styling
*/
.c-thumbnail--pop .c-thumbnail__frame {
border-radius: 16px;
box-shadow: 0 20px 30px -10px rgba(0, 0, 0, 0.2);
overflow: hidden;
}
.c-thumbnail--pop .c-thumbnail__content {
margin-top: 30px;
}
.c-thumbnail__link[href]:hover .c-thumbnail__caption {
color: #328dfc;
}
.c-trademark {
display: inline-flex;
align-items: center;
font-size: 0.875rem;
line-height: 1.1428571429;
color: #66bdff;
text-decoration: none;
transition: color 0.15s ease-in-out;
}
.c-trademark:hover {
color: #bde1ff;
}
.c-trademark:hover .komma-emblem {
transform-origin: 12px 12px;
-webkit-animation: logo-spin 1.8s linear infinite;
animation: logo-spin 1.8s linear infinite;
}
.c-trademark__text {
margin-right: 7px;
}
@-webkit-keyframes logo-spin {
from {
transform: rotate(0);
}
to {
transform: rotate(-1turn);
}
}
@keyframes logo-spin {
from {
transform: rotate(0);
}
to {
transform: rotate(-1turn);
}
}
.c-video {
width: 100%;
max-width: 960px;
margin: auto;
}
.c-video__placeholder {
position: relative;
height: 0;
width: 100%;
padding-bottom: 53.6%;
background-color: #e9ebf5;
}
.c-video__iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.pageTransitionOverlay {
position: fixed;
top: 0;
left: -17%;
width: 134%;
height: 120%;
background-color: black;
z-index: 999;
transform: translate(0, -120%);
transition: all 0.5s ease-in-out;
}
.pageTransitionOverlay.down {
transform: translate(0, 0);
}
.pageTransitionOverlay.done {
transform: translate(0, 120%);
}
.c-trademark__text {
margin-right: 7px;
}
/* 6 - ORGANISMS
* Large blocks composed of multiple components.
=========================================================== */
/** ==========================================================================
* Organisms
* =========================================================================*/
@media screen and (max-width: 839px) {
.o-block {
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-block {
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-block {
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-block {
margin-bottom: 96px;
}
}
@media screen and (max-width: 839px) {
.o-block + .o-block {
margin-top: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-block + .o-block {
margin-top: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-block + .o-block {
margin-top: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-block + .o-block {
margin-top: 96px;
}
}
.o-contact__heading {
font-size: 2.5rem;
line-height: 1;
margin-top: 20px;
margin-bottom: 20px;
}
.o-contact__information > * + * {
margin-top: 1.5em;
}
.o-contact__business {
font-size: 0.9375rem;
line-height: 1.6;
margin-top: 2em;
padding-top: 2em;
border-top: 1px solid #e9ebf5;
}
.o-contact__offices {
margin-top: 1.5em;
}
@media screen and (min-width: 400px) {
.o-contact__offices {
display: flex;
justify-content: space-between;
}
}
@media screen and (max-width: 399px) {
.o-contact__office {
margin-top: 1.5em;
}
}
@media screen and (min-width: 400px) {
.o-contact__office {
width: calc(50% - 10px);
}
}
.o-contact__office > * + * {
margin-top: 1em;
}
.o-contact__commercial {
display: flex;
flex-wrap: wrap;
font-size: 0.9375rem;
line-height: 1.6;
font-weight: 400;
}
.o-contact__commercial dt {
font-weight: 500;
width: 100px;
}
.o-contact__commercial dd {
width: calc(100% - 100px);
}
.o-cookie-bar {
position: fixed;
z-index: 9999;
bottom: 0;
left: 0;
display: flex;
align-items: center;
width: 100%;
height: 64px;
background-color: #267de8;
opacity: 1;
box-shadow: 0 -4px 6px 0 rgba(0, 0, 0, 0.2);
transition: opacity 0.5s, transform 0.6s;
transform: translate3d(0, 0, 0);
}
.o-cookie-bar.is-accepted {
display: none;
}
.o-cookie-bar.is-transitioning-out {
opacity: 0;
transform: translate3d(0, 50%, 0);
}
.o-cookie-bar__main {
display: flex;
justify-content: center;
align-items: center;
}
.o-cookie-bar__text {
margin: 0;
font-size: 16px;
line-height: 1.2;
color: white;
}
.o-cookie-bar__link {
color: white;
transition: color 0.3s;
}
.o-cookie-bar__link:hover {
color: rgba(255, 255, 255, 0.75);
}
.o-cookie-bar__button {
display: inline-block;
margin-left: 15px;
padding: 5px 12px;
background-color: #66bdff;
font-size: 16px;
font-weight: 500;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
outline: none;
opacity: 1;
transition: background-color 0.3s;
}
.o-cookie-bar__button:hover {
background-color: rgba(102, 189, 255, 0.5);
}
.o-footer {
z-index: 20;
background-color: #f7f9fb;
padding-bottom: 0;
transition: padding 0.6s;
}
.is-cookie-bar-visible .o-footer {
padding-bottom: 64px;
}
.o-footer__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-footer__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-footer__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (max-width: 839px) {
.o-footer__main {
padding-top: 6vw;
padding-bottom: 6vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-footer__main {
padding-top: 5vw;
padding-bottom: 5vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-footer__main {
padding-top: 3.5714285714vw;
padding-bottom: 3.5714285714vw;
}
}
@media screen and (min-width: 1344px) {
.o-footer__main {
padding-top: 48px;
padding-bottom: 48px;
}
}
@media screen and (min-width: 840px) {
.o-footer__columns {
display: flex;
}
}
.o-footer__brand {
display: block;
width: 100%;
transition: opacity 200ms linear;
}
@media screen and (max-width: 839px) {
.o-footer__brand {
margin-bottom: 3.96vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-footer__brand {
margin-bottom: 3.3vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-footer__brand {
margin-bottom: 2.3571428571vw;
}
}
@media screen and (min-width: 1344px) {
.o-footer__brand {
margin-bottom: 31.68px;
}
}
.o-footer__brand:hover {
opacity: 0.5;
}
.o-footer__logo {
width: 152px;
}
.o-footer__info > * + * {
margin-top: 32px;
}
@media screen and (min-width: 840px) {
.o-footer__info {
width: 40%;
}
}
@media screen and (min-width: 1152px) {
.o-footer__info {
width: 41.6666666667%;
}
}
@media screen and (max-width: 839px) {
.o-footer__nav {
margin-top: 6vw;
}
}
@media screen and (min-width: 840px) {
.o-footer__nav {
margin-left: 10%;
}
}
@media screen and (min-width: 1152px) {
.o-footer__nav {
margin-left: 8.3333333333%;
}
}
.o-footer__list {
list-style: none;
margin: 0;
}
.o-footer__link {
display: inline-block;
position: relative;
z-index: 0;
text-decoration: none;
cursor: pointer;
transition: color 0.3s;
}
.o-footer__link::before {
content: "";
display: block;
position: absolute;
z-index: -1;
left: -10px;
bottom: 0;
width: 100%;
height: 50%;
transform: scaleX(0) skew(0deg);
transform-origin: bottom left;
transition: transform 0.35s cubic-bezier(0.86, 0, 0.07, 1);
}
.o-footer__link:hover::before {
transform: scaleX(1) skew(-37deg);
}
.o-footer__link:focus {
outline-color: #328dfc;
}
.o-footer__social {
display: flex;
list-style: none;
margin: 32px 0 0;
}
.o-footer__channel {
display: flex;
justify-content: center;
align-items: center;
width: 24px;
height: 24px;
margin-right: 16px;
}
.o-footer__icon {
flex: auto;
display: block;
height: 100%;
background-repeat: no-repeat;
background-position: center;
transition-property: opacity;
transition-duration: 0.3s;
}
.o-footer__icon:hover {
opacity: 0.5;
}
.o-footer__icon:focus {
outline-color: #328dfc;
}
/**
* NOTE:
* To prevent the honey pot from working
* the o-form can't have a position property.
*
*
* Min-width for elements
* Used for automatic wrapping of rows
*/
.o-form__title {
margin: 20px 0;
}
.o-form__row + .o-form__row {
margin-top: 20px;
}
.o-form__row--split {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
margin-top: 0;
margin-right: -20px;
}
.o-form__row--split > * {
flex-grow: 1;
flex-basis: 225px;
margin-top: 20px;
margin-right: 20px;
}
.o-form__submit {
margin-top: 60px;
}
.o-header {
z-index: 50;
position: relative;
padding: 32px 0;
background-color: #267de8;
}
.o-header.is-sticky {
opacity: 0;
position: fixed;
z-index: 50;
top: 0;
left: 0;
width: 100%;
padding-top: 32px;
padding-bottom: 32px;
box-shadow: 0 -5px 30px black;
transform: translateY(-100%);
transition-property: transform, opacity;
transition-duration: 300ms;
transition-delay: 0s, 300ms;
transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
}
.is-sticky-header-visible .o-header.is-sticky {
opacity: 1;
transform: none;
transition-delay: 0s;
}
.o-header__main {
position: relative;
display: flex;
justify-content: space-between;
align-items: center;
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-header__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-header__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-header__nav {
width: 100%;
}
.o-header__language {
margin-left: 16px;
}
.o-header__logo {
flex: none;
}
.o-header__logo:focus {
outline-offset: 2px;
outline-color: #328dfc;
}
.o-header__img {
max-height: 48px;
width: 100px;
}
@media screen and (min-width: 1000px) {
.o-header__toggle {
display: none;
}
}
.o-other-models {
padding: 85px 0;
}
@media screen and (min-width: 850px) {
.o-other-models {
padding: 170px 0;
}
}
.o-other-models__title {
margin-bottom: 40px;
}
.o-other-models__grid > * + * {
margin-top: 60px;
}
@media screen and (min-width: 850px) {
.o-other-models__grid {
display: flex;
justify-content: flex-start;
align-items: flex-start;
}
.o-other-models__grid > * + * {
margin-top: 0;
margin-left: 30px;
margin-right: 0;
}
}
@media screen and (min-width: 950px) {
.o-other-models__grid > * + * {
margin-left: 50px;
}
}
@media screen and (min-width: 1150px) {
.o-other-models__grid > * + * {
margin-left: 80px;
}
}
.o-other-models__item {
width: 100%;
max-width: 425px;
}
@media screen and (max-width: 849px) {
.o-other-models__item {
margin-left: auto;
margin-right: auto;
}
}
@media screen and (min-width: 850px) {
.o-other-models__item {
margin-bottom: 0;
width: calc((100% - 60px) / 3);
max-width: none;
}
}
@media screen and (min-width: 950px) {
.o-other-models__item {
width: calc((100% - 100px) / 3);
}
}
@media screen and (min-width: 1150px) {
.o-other-models__item {
width: calc((100% - 160px) / 3);
}
}
.o-overlay-menu {
z-index: 100;
display: flex;
flex-direction: column;
opacity: 0;
position: fixed;
height: 100%;
width: 100%;
left: 0;
top: 0;
background-color: #267de8;
pointer-events: none;
transform: translateX(-200px);
transition-property: transform, opacity;
transition-duration: 400ms, 400ms;
transition-timing-function: ease-in-out;
}
.is-overlay-menu-active .o-overlay-menu {
pointer-events: all;
opacity: 1;
transform: none;
}
.ie .o-overlay-menu {
z-index: -1;
}
.is-overlay-menu-active .ie .o-overlay-menu {
z-index: 100;
}
.o-overlay-menu::before {
display: block;
content: "";
position: absolute;
top: 0;
right: -120vw;
width: 120vw;
height: 100%;
background: rgba(0, 0, 0, 0.6);
pointer-events: none;
opacity: 0;
transition-property: opacity;
transition-duration: 400ms;
transition-delay: 400ms;
transition-timing-function: linear;
}
.is-overlay-menu-active .o-overlay-menu::before {
opacity: 1;
transition-delay: 0s;
}
.o-overlay-menu__bar {
display: flex;
justify-content: space-between;
align-items: center;
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
padding-top: 32px;
padding-bottom: 32px;
}
@media screen and (min-width: 840px) {
.o-overlay-menu__bar {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-overlay-menu__bar {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-overlay-menu__img {
height: 48px;
}
.o-overlay-menu__toggle {
transform: rotate(-0.5turn);
transition: transform 600ms ease-out;
transition-delay: 200ms;
}
.is-overlay-menu-active .o-overlay-menu__toggle {
transform: none;
}
.o-overlay-menu__nav {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
margin-top: 24px;
}
@media screen and (min-width: 840px) {
.o-overlay-menu__nav {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-overlay-menu__nav {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-overlay-menu__list {
margin-left: 0;
list-style: none;
}
.o-overlay-menu__link {
font-size: 1.5rem;
line-height: 1.3333333333;
display: block;
color: white;
text-decoration: none;
opacity: 0.7;
transition: opacity 200ms linear;
}
.o-overlay-menu__link:hover {
opacity: 1;
}
.o-overlay-menu__link:focus {
outline-offset: 2px;
outline-color: white;
}
.o-overlay-menu__link.is-active {
opacity: 1;
position: relative;
font-weight: 600;
}
.o-stories__header {
margin-bottom: 12.5%;
}
.o-stories__footer {
margin-top: 8.333%;
}
/**
* Subfooter
*/
.o-subfooter {
z-index: 10;
color: #66bdff;
background-color: #267de8;
}
.o-subfooter__main {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
font-size: 0.875rem;
line-height: 1.1428571429;
padding: 15px 0;
}
.o-subfooter__copyright {
display: flex;
flex-wrap: wrap;
margin-right: 30px;
padding: 15px 0;
}
.o-subfooter__trademark {
margin-right: 30px;
padding: 15px 0;
}
.o-subfooter__language {
flex-basis: 210px;
margin-left: auto;
padding: 15px 0;
}
/* 7 - Templates
* Override styling for a specific template
=========================================================== */
/** ==========================================================================
* Templates
* =========================================================================*/
.o-shoppingcart__header {
font-size: 2.5rem;
line-height: 1;
margin-top: 20px;
margin-bottom: 20px;
}
.o-shoppingcart {
margin-bottom: 60px;
}
.o-shoppingcart__list {
overflow: visible;
vertical-align: top;
padding: 0 30px;
}
.o-shoppingcart__list div.remarks-box {
background-color: white;
box-shadow: 2px 2px 15px 5px rgba(22, 57, 95, 0.05);
margin-bottom: 30px;
padding: 30px;
}
.o-shoppingcart__list div.remarks-box h4 {
color: #323232;
font-size: 12px;
font-weight: 600;
line-height: 20px;
margin: 0;
text-transform: uppercase;
}
.o-shoppingcart__list div.remarks-box input {
width: 100%;
height: 43px;
padding: 15px;
border: 1px solid #e0e1e3;
font-size: 14px;
line-height: 14px;
}
.o-shoppingcart__list ul {
list-style: none;
margin: 0;
padding: 0;
background-color: white;
box-shadow: 2px 2px 15px 5px rgba(22, 57, 95, 0.05);
margin-bottom: 30px;
}
.o-shoppingcart__list ul li {
display: flex;
align-items: flex-start;
justify-content: space-between;
position: relative;
overflow: visible;
width: 100%;
padding: 30px 50px 20px 30px;
border: 1px solid #e0e1e3;
}
.o-shoppingcart__list ul li + li {
border-top: none;
}
.o-shoppingcart__list ul li .close {
position: absolute;
display: flex;
align-items: center;
justify-content: center;
right: 0;
top: 0;
width: 50px;
height: 50px;
color: #f95d5d;
line-height: 0.4;
text-decoration: none;
font-weight: bold;
font-size: 22px;
}
.o-shoppingcart__list ul li .left, .o-shoppingcart__list ul li .right {
display: inline-block;
vertical-align: top;
}
.o-shoppingcart__list ul li .left {
font-size: 16px;
line-height: 24px;
}
.o-shoppingcart__list ul li .left p {
text-transform: uppercase;
color: #8791a0;
font-size: 14px;
font-weight: 500;
line-height: 23px;
}
.o-shoppingcart__list ul li .left p label {
color: #2d323c;
font-weight: bold;
}
.o-shoppingcart__list ul li .left h3 {
color: #3c414b;
font-size: 20px;
font-weight: 600;
line-height: 32px;
margin-top: 0;
}
.o-shoppingcart__list ul li .left h3 a {
color: blue;
text-decoration: none;
}
.o-shoppingcart__list ul li .right {
text-align: right;
color: #3c414b;
display: inline-flex;
align-items: center;
width: 250px;
}
.o-shoppingcart__list ul li .right .order-box {
margin-top: 0;
}
.o-shoppingcart__list ul li .right .order-box .amount-label {
margin-right: 10px;
}
.o-shoppingcart__list ul li .right .order-box .amount-box {
margin: 0;
margin-right: 30px;
padding: 0;
width: auto;
}
.o-shoppingcart__list ul li .right .order-box .amount-box .amount {
margin-right: 0;
width: 50px;
}
.o-shoppingcart__list ul li .right .order-box .amount-box .increase,
.o-shoppingcart__list ul li .right .order-box .amount-box .decrease {
width: 30px;
height: 30px;
cursor: pointer;
color: white;
font-weight: bold;
background-color: #b3b3b3;
display: inline-flex;
justify-content: center;
align-items: center;
border-radius: 3px;
text-decoration: none;
}
.o-shoppingcart__list ul li .right .price {
margin-left: auto;
font-size: 20px;
font-weight: bold;
line-height: 24px;
}
.o-shoppingcart__list ul li .right .price p {
font-size: 15px;
font-weight: 500;
line-height: 24px;
}
.o-shoppingcart__list ul li .right .price p.plain {
color: #67717a;
}
.o-shoppingcart__list .devButtons {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: -20px;
margin-bottom: 20px;
}
.o-shoppingCart__overview {
vertical-align: top;
text-align: right;
}
.o-shoppingCart__overview .box {
margin-bottom: 30px;
padding: 30px;
}
.o-shoppingCart__overview .box h3 {
color: #696e73;
font-size: 20px;
font-weight: bold;
line-height: 24px;
text-transform: uppercase;
display: inline-block;
vertical-align: top;
margin-top: 0;
}
.o-shoppingCart__overview .box p {
color: #67717a;
font-size: 16px;
line-height: 24px;
margin-bottom: 30px;
}
.o-shoppingCart__overview .box p b {
color: #323232;
}
.o-shoppingCart__overview .box.order-overview h5 {
color: #696e78;
font-size: 16px;
line-height: 24px;
font-weight: normal;
}
.o-shoppingCart__overview .box.order-overview h5 span {
color: blue;
font-size: 20px;
font-weight: 600;
line-height: 32px;
}
.o-shoppingCart__overview .box.order-overview input[type=submit] {
display: inline-block;
margin-top: 20px;
margin-left: 15px;
padding: 5px 12px;
background-color: #66bdff;
font-size: 16px;
font-weight: 500;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
outline: none;
}
input.hidden {
display: none;
}
.shopButtons {
overflow: visible;
}
.shopButtons a.button:first-of-type {
margin-right: 30px;
}
.shopButtons form {
display: inline-block;
}
.delete-modal {
display: none;
position: fixed;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 9999;
border: solid 1px red;
justify-content: center;
align-items: center;
}
.delete-modal .modal-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.3);
}
.delete-modal .modal-box {
display: block;
width: 400px;
background-color: white;
flex-direction: column;
font-size: 16px;
line-height: 24px;
text-align: center;
position: relative;
padding: 30px;
box-shadow: 2px 2px 15px 5px rgba(22, 57, 95, 0.2);
}
.delete-modal .modal-box h3 {
color: blue;
margin: 0;
}
.delete-modal .modal-box .close {
display: block;
position: absolute;
right: 20px;
top: 25px;
width: 15px;
height: 15px;
color: grey;
line-height: 0.4;
text-decoration: none;
font-weight: bold;
font-size: 22px;
}
.delete-modal .modal-box p {
color: grey;
}
.delete-modal .modal-box .buttons {
margin-top: 10px;
}
.delete-modal .modal-box .buttons a.button {
text-transform: uppercase;
}
.delete-modal .modal-box .buttons a.button:first-of-type {
margin-right: 10px;
}
.delete-modal .modal-box .buttons a.button.blue {
background-color: blue;
}
.delete-modal .modal-box .buttons a.button.yellow {
background-color: yellow;
}
.delete-modal .modal-box .buttons a.button:hover {
transform: scale(1.05);
}
@media screen and (max-width: 1099px) {
.shoppingCartContent div.shoppingcartItemList,
.shoppingCartContent .shoppingCartInfoBar {
width: 100%;
margin-left: 0;
overflow: visible;
}
}
@media screen and (max-width: 1099px) {
.shoppingCartContent div.shoppingcart-header h1 {
width: auto;
display: block;
}
.shoppingCartContent div.shoppingcart-header a.button {
display: none;
}
.shoppingCartContent .shopButtons {
padding: 30px 0;
}
}
@media screen and (max-width: 424px) {
.shoppingCartContent {
margin-bottom: 0;
}
.shoppingCartContent div.shoppingcart-header,
.shoppingCartContent div.shoppingcartItemList p {
padding: 0 20px;
}
.shoppingCartContent .shopButtons {
padding: 30px 20px;
}
.shoppingCartContent .shoppingCartInfoBar .box {
margin-bottom: 0;
box-shadow: none;
}
.shoppingCartContent .shoppingCartInfoBar .box.order-overview {
border-bottom: 1px solid #e0e1e3;
}
}
.o-checkout {
margin-bottom: 60px;
}
.o-checkout__order-details {
overflow: visible;
vertical-align: top;
}
.o-checkout__order-details table {
overflow: auto;
white-space: nowrap;
width: 100%;
text-align: left;
}
.o-checkout__remarks {
margin-bottom: 30px;
}
.o-checkout__remarks textarea {
width: 100%;
}
.o-checkout__invoice-and-shipping {
display: flex;
width: 100%;
}
.o-checkout__invoice-and-shipping .invoice,
.o-checkout__invoice-and-shipping .shipping {
width: 47.5%;
}
.o-checkout__invoice-and-shipping .invoice h3,
.o-checkout__invoice-and-shipping .shipping h3 {
margin-bottom: 10px;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element,
.o-checkout__invoice-and-shipping .shipping .c-form-element {
display: inline-block;
width: 45%;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element label,
.o-checkout__invoice-and-shipping .shipping .c-form-element label {
display: block;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element input,
.o-checkout__invoice-and-shipping .shipping .c-form-element input {
width: 100%;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element input:focus,
.o-checkout__invoice-and-shipping .shipping .c-form-element input:focus {
outline: none;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element.street, .o-checkout__invoice-and-shipping .invoice .c-form-element.city,
.o-checkout__invoice-and-shipping .shipping .c-form-element.street,
.o-checkout__invoice-and-shipping .shipping .c-form-element.city {
width: 70%;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element.street, .o-checkout__invoice-and-shipping .invoice .c-form-element.postal_code, .o-checkout__invoice-and-shipping .invoice .c-form-element.phone,
.o-checkout__invoice-and-shipping .shipping .c-form-element.street,
.o-checkout__invoice-and-shipping .shipping .c-form-element.postal_code,
.o-checkout__invoice-and-shipping .shipping .c-form-element.phone {
margin-right: 5%;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element.house_number, .o-checkout__invoice-and-shipping .invoice .c-form-element.postal_code,
.o-checkout__invoice-and-shipping .shipping .c-form-element.house_number,
.o-checkout__invoice-and-shipping .shipping .c-form-element.postal_code {
width: 20%;
}
.o-checkout__invoice-and-shipping .shipping {
margin-left: 5%;
}
.o-checkout__invoice-and-shipping .invoice_address_form,
.o-checkout__invoice-and-shipping .shipping_address_form {
display: none;
}
.o-checkout__invoice-and-shipping input#invoice_address_-1:checked ~ .invoice_address_form {
display: block;
}
.o-checkout__invoice-and-shipping input#shipping_address_-1:checked ~ .shipping_address_form {
display: block;
}
.o-checkout__terms-and-submit {
margin-top: 30px;
display: flex;
align-items: center;
justify-content: space-between;
}
.o-checkout__terms-and-submit input[type=submit] {
display: inline-block;
margin-left: 15px;
padding: 5px 12px;
background-color: #66bdff;
font-size: 16px;
font-weight: 500;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
outline: none;
}
/* 8 - SCOPES
* Elements and classes that are scoped by a parent class
=========================================================== */
.s-checklist {
list-style: none;
margin-left: 0;
}
.s-checklist > * + * {
margin-top: 5px;
}
.s-checklist li {
display: flex;
vertical-align: middle;
line-height: 1.45;
}
.s-checklist li::before {
content: "";
background-image: url(/img/check/checked.svg);
background-repeat: no-repeat;
width: 18px;
height: 18px;
margin-right: 8px;
transform: translateY(3px);
}
.checklist-has-x-small-font .s-checklist {
font-size: 0.875rem;
line-height: 1.1428571429;
}
.checklist-has-x-small-font .s-checklist li::before {
transform: translateY(1px);
}
/**
* All text elements that can be added by the user through a CMS
*/
.s-text h2, .s-text h3, .s-text h4 {
color: #384a66;
}
.s-text > * + * {
margin-top: 32px;
}
.s-text > :first-child {
margin-top: 0 !important;
}
.s-text > ul:not([class]) {
list-style: none;
}
.s-text > ul:not([class]) > li {
position: relative;
margin-left: -1.125em;
padding-left: 1.125em;
}
.s-text > ul:not([class]) > li::before {
font-size: 1.5rem;
line-height: 1.3333333333;
content: "\2022";
position: absolute;
top: -4px;
left: 0;
}
.s-text > ol:not([class]) {
list-style: none;
counter-reset: ol-counter;
}
.s-text > ol:not([class]) > li {
counter-increment: ol-counter;
position: relative;
margin-left: -1.125em;
padding-left: 1.8em;
}
.s-text > ol:not([class]) > li::before {
content: counter(ol-counter) ". ";
position: absolute;
top: 0;
left: 0;
width: 1.275em;
text-align: right;
}
/* 9 - UTILITIES
* High-specificity, very explicit selectors.
* Overrides and helper classes.
=========================================================== */
/** =====================================================================================
* Color
===================================================================================== */
/**
* Here we print out all our helper classes for our defined colors
* Based on these articles:
* - http://erskinedesign.com/blog/friendlier-colour-names-sass-maps/
* - https://blog.atechmedia.com/css-for-multiple-themes/
* Output is in the form of:
.u-color-primary {
color: #bada55;
}
.u-bg-neutral--dark {
background-color: #decaff;
}
*/
.u-color-primary--100 {
color: #d4c5f4;
}
.u-bg-primary--100 {
background-color: #d4c5f4;
}
.u-color-primary--400 {
color: #9a75e8;
}
.u-bg-primary--400 {
background-color: #9a75e8;
}
.u-color-primary {
color: #6836dd;
}
.u-bg-primary {
background-color: #6836dd;
}
.u-color-secondary--100 {
color: #bde1ff;
}
.u-bg-secondary--100 {
background-color: #bde1ff;
}
.u-color-secondary--300 {
color: #66bdff;
}
.u-bg-secondary--300 {
background-color: #66bdff;
}
.u-color-secondary {
color: #269fff;
}
.u-bg-secondary {
background-color: #269fff;
}
.u-color-secondary--700 {
color: #267de8;
}
.u-bg-secondary--700 {
background-color: #267de8;
}
.u-color-neutral {
color: #f7f9fb;
}
.u-bg-neutral {
background-color: #f7f9fb;
}
.u-color-neutral--100 {
color: #e9ebf5;
}
.u-bg-neutral--100 {
background-color: #e9ebf5;
}
.u-color-neutral--200 {
color: #ccd2db;
}
.u-bg-neutral--200 {
background-color: #ccd2db;
}
.u-color-text {
color: #384a66;
}
.u-bg-text {
background-color: #384a66;
}
.u-color-text--400 {
color: #475E80;
}
.u-bg-text--400 {
background-color: #475E80;
}
.u-color-text--300 {
color: #6b7c93;
}
.u-bg-text--300 {
background-color: #6b7c93;
}
.u-color-text--200 {
color: #8592a6;
}
.u-bg-text--200 {
background-color: #8592a6;
}
.u-color-text--100 {
color: #acb4bf;
}
.u-bg-text--100 {
background-color: #acb4bf;
}
.u-color-action {
color: #328dfc;
}
.u-bg-action {
background-color: #328dfc;
}
.u-color-alert {
color: #ff8100;
}
.u-bg-alert {
background-color: #ff8100;
}
.u-color-warning--200 {
color: #fef5e1;
}
.u-bg-warning--200 {
background-color: #fef5e1;
}
.u-color-warning {
color: #f8cd6b;
}
.u-bg-warning {
background-color: #f8cd6b;
}
.u-color-warning--700 {
color: #da9b0c;
}
.u-bg-warning--700 {
background-color: #da9b0c;
}
.u-color-negative {
color: #cf3e3e;
}
.u-bg-negative {
background-color: #cf3e3e;
}
.u-color-positive {
color: #3ecf8e;
}
.u-bg-positive {
background-color: #3ecf8e;
}
.u-color-box-shadow {
color: rgba(0, 0, 0, 0.2);
}
.u-bg-box-shadow {
background-color: rgba(0, 0, 0, 0.2);
}
.u-hidden {
display: none !important;
}
.u-visually-hidden {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
border: 0;
padding: 0;
white-space: nowrap;
-webkit-clip-path: inset(100%);
clip-path: inset(100%);
clip: rect(0 0 0 0);
overflow: hidden;
}
.u-object-cover {
width: 100% !important;
height: 100% !important;
-o-object-fit: cover !important;
object-fit: cover !important;
}
.u-margin-auto {
margin: auto;
}
.u-text-align-center {
text-align: center;
}
/*
* If you need to make a quick fix, you can do it here.
* Later when you have the time, you can move the fix into the correct place in the structure
*/
/* ==========================================================================
* This grid can be turned on and off when you want to check
* if everything is nice in place.
* Set flag 'showGrid' to true in site.php
* ========================================================================== */
.u-visible-grid {
z-index: 10000;
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
position: fixed;
left: 0;
right: 0;
width: 100%;
pointer-events: none;
/* 8 point grid lines */
}
@media screen and (min-width: 840px) {
.u-visible-grid {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.u-visible-grid {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.u-visible-grid {
padding: 0;
}
}
.u-visible-grid__main {
height: 100vh;
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 25%, rgba(0, 43, 255, 0.04) 25%, rgba(0, 43, 255, 0.04) 50%);
}
@media screen and (min-width: 840px) {
.u-visible-grid__main {
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 12.5%, rgba(0, 43, 255, 0.04) 12.5%, rgba(0, 43, 255, 0.04) 25%);
}
}
@media screen and (min-width: 1152px) {
.u-visible-grid__main {
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 8.3333333333%, rgba(0, 43, 255, 0.04) 8.3333333333%, rgba(0, 43, 255, 0.04) 16.6666666667%);
}
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8xLVNldHRpbmdzL19zZXR0aW5ncy5jb25maWcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzEtU2V0dGluZ3MvX3NldHRpbmdzLmJyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8xLVNldHRpbmdzL19zZXR0aW5ncy5jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzEtU2V0dGluZ3MvX3NldHRpbmdzLnR5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLmNvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMi1Ub29scy9fdG9vbHMuZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLm1lZGlhUXVlcmllcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMi1Ub29scy9fdG9vbHMudG9vbGJveC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMi1Ub29scy9fdG9vbHMuemluZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8zLUVsZW1lbnRzL19lbGVtZW50cy5iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8zLUVsZW1lbnRzL19lbGVtZW50cy5oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMy1FbGVtZW50cy9fZWxlbWVudHMubGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzQtTGF5b3V0cy9fbGF5b3V0cy5jb250YWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS80LUxheW91dHMvX2xheW91dHMucmVzdHJpY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmNhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmNvb2tpZU92ZXJsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jb29raWVTd2l0Y2guc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jb29raWVUeXBlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZmxhc2hNZXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZm9ybUVsZW1lbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5mb3JtRmVlZGJhY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5naG9zdEJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmdvb2dsZU1hcHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5oYW1idXJnZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5pY29uQnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaW5wdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5pbWFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmxhbmd1YWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMubmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMub3B0aW9uc01lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucHJvamVjdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucmF0aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2VydmljZXBvaW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2hhcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zbGlkZUluZGljYXRvci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnN0YXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zd2l0Y2guc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy50ZXh0QnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudGh1bWJuYWlsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudHJhZGVtYXJrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudmlkZW8uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdlVHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5ibG9jay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5jb250YWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNvb2tpZUJhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZm9ybS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMub3RoZXJNb2RlbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMub3ZlcmxheU1lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuc3Rvcmllcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5zdWJmb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzctVGVtcGxhdGVzL190ZW1wbGF0ZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzctVGVtcGxhdGVzL19zaG9wcGluZ0NhcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzctVGVtcGxhdGVzL19jaGVja291dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvOC1TY29wZXMvX3Njb3Blcy5jaGVja2xpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzgtU2NvcGVzL19zY29wZXMudGV4dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy5jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzktVXRpbGl0aWVzL191dGlsaXRpZXMuaGVscGVycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy5zaGFtZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy52aXNpYmxlR3JpZC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFnQjtBQUNoQjs7Ozs7OztnRUFBQTtBQ0RBOztnRkFBQTtBQ0FBOztrREFBQTtBQ0FBOzs7OytEQUFBO0FDQUE7Ozs7eUZBQUE7QUFNQTs7R0FBQTtBQXFEQTs7R0FBQTtBSjdDQTs7K0RBQUE7QUtkQTs7K0VBQUE7QUFJQTs7O0lBQUE7QUFrQkE7OztJQUFBO0FBUUE7O0lBQUE7QUM5QkE7O2dGQUFBO0FBS0E7Ozs7Ozs7OztHQUFBO0FBd0NBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FBOEJBOzs7Ozs7Ozs7R0FBQTtBQzNFQTtnREFBQTtBQ0FBOzt5RkFBQTtBQUtBOzs7Ozs7Ozs7O0dBQUE7QUFpQ0E7Ozs7R0FBQTtBQWVBO0FBT0E7QUFPQTtBQVFBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FBb0NBOzs7Ozs7Ozs7OztHQUFBO0FBd0JBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUFpQ0E7O0dBQUE7QUFTQTs7Ozs7Ozs7Ozs7OztHQUFBO0FBdUJBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUEwQkE7Ozs7Ozs7Ozs7Ozs7O0dBQUE7QUE4QkE7OztHQUFBO0FBYUE7O0dBQUE7QUM3UUE7Ozt3R0FBQTtBQWlCQTs7Ozs7R0FBQTtBVEtBOzsrREFBQTtBVXRCQTs7Z0ZBQUE7QUFJQTs7Ozs7R0FBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0NWeU5GOztBVXROQTtFQUNFO0VKWUk7RUFSQTtFQWlFRjtFSWxFRjtFQUNBO0NWME5GOztBVXROQTs7Ozs7O0dBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtDVnlORjtBVXZORTtFQUdFO0NWdU5KOztBVW5OQTs7R0FBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQW1CO0NWdU5yQjtBVTFOQTtFQUNFO0VBQ0E7RUFDQTtFQUFtQjtDVnVOckI7O0FVcE5BO0dBQUE7QUFFQTtFQUNFO0NWdU5GOztBVXBOQTs7Ozs7R0FBQTtBQU1BO0VBQ0U7RUFBd0I7RUFDeEI7RUFBYztFQUNkO0NWeU5GOztBVXROQTs7R0FBQTtBQUdBO0VBQ0U7Q1Z5TkY7O0FVdE5BOzs7R0FBQTtBQUlBOzs7RUFHRTtDVnlORjs7QVVyTkE7RUFDRTtFQUNBO1VBQUE7Q1Z3TkY7QVV0TkU7RUFDRTtDVndOSjs7QVVqTkE7Ozs7RUFJRTtFQUNBO0NWb05GOztBVzVUQTtFTDJCTTtFQVJBO0VBMkNBLGlCQUptQjtDTndRekI7O0FXN1RBO0VMc0JNO0VBUkE7RUEyQ0EsaUJBSm1CO0NOOFF6Qjs7QVc5VEE7RUxpQk07RUFSQTtFQTJDQSxpQkFKbUI7Q05vUnpCOztBVy9UQTtFTFlNO0VBUkE7RUEyQ0EsaUJBSm1CO0NOMFJ6Qjs7QVdoVUE7RUxPTTtFQVJBO0VBMkNBLGlCQUptQjtFS25DeEI7Q1hvVUQ7O0FZL1ZBOzt5RkFBQTtBQUtBOztHQUFBO0FBSUE7O0VBRUM7RUFDQTtFQUNBO0NaK1ZEOztBWTVWQTtFQUNDO0NaK1ZEOztBWTFWQTs7R0FBQTtBQUtDOztFQUVDO0NaMlZGOztBQTFWQTs7K0RBQUE7QWE5QkE7O2dGQUFBO0FBS0E7RUw0UUM7RUFDQTtFQUNBO0NSaUhEO0FPN1ZFO0VNbENGO0lMa1JHO0dSaUhEO0NBQ0Y7QU9sV0U7RU1sQ0Y7SUx5UkU7SUFDQTtHUitHQTtDQUNGOztBYy9ZQTs7Ozs7Z0ZBQUE7QVB1Q0U7RU8vQkY7SUFFSTtJQUNBO0lBQ0E7SUFDQTtHZGdaRjtDQUNGO0FPdlhFO0VPL0JGO0lBUUk7R2RrWkY7Q0FDRjs7QU81WEU7RU9uQkY7SUFFSTtJQUNBO0lBQ0E7R2RrWkY7Q0FDRjtBT3BZRTtFT25CRjtJQVFJO0dkbVpGO0NBQ0Y7O0FBMVlBOzs7K0RBQUE7QWV0Q0E7OzhFQUFBO0FDQUE7O2dGQUFBO0FBSUE7QUFFQTtFQUNDO0VBQ0E7RVJnTkM7RVE5TUQ7RUFDQTtFQUNBO0VBQ0E7RUFBYztFVmtCVDtFQVJBO0VBMkNBLGlCVW5EZ0I7RUFDckI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoQjBiRDtBZ0J4YkM7RUFDQztDaEIwYkY7QWdCeGJDO0VBQ0M7Q2hCMGJGO0FnQnhiQztFQUNDO0VBQ0E7Q2hCMGJGOztBZ0J0YkE7RUFDQztFQUNBO0NoQnliRDtBZ0J2YkM7RUFDQztDaEJ5YkY7O0FnQnJiQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaEJ3YkQ7QWdCdGJDO0VBQ0M7Q2hCd2JGO0FnQnBiQztFQUNDO0VBQ0E7Q2hCc2JGO0FnQm5iQztFQUNDO0NoQnFiRjs7QWdCaGJBO0VBQ0M7Q2hCbWJEO0FnQmpiQztFQUNDO0NoQm1iRjs7QWlCM2ZBO0VBQ0M7RUFDQTtFVCtMQztFUzdMRDtFQUNBO0VBQ0E7Q2pCOGZEOztBaUIxZkM7RUFDQztDakI2ZkY7O0FpQnpmQTtFQUNDO0NqQjRmRDs7QWlCemZBO0VBQ0M7Q2pCNGZEOztBaUJ6ZkE7RUFDQztDakI0ZkQ7O0FpQnpmQTtFQUNDO0NqQjRmRDs7QWlCeGZBO0VBQ0M7Q2pCMmZEOztBaUJ4ZkE7RUFDQztFQUNBO0NqQjJmRDtBaUJ6ZkM7RUFDQztFQUNBO0NqQjJmRjtBaUJ4ZkM7RUFDQztDakIwZkY7QWlCdmZDO0VYbEJLO0VBUkE7Q05xaEJOO0FpQnZmQztFQUNDO0NqQnlmRjs7QWtCL2lCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQmtqQkQ7QWtCaGpCQztFQUNDO0NsQmtqQkY7QWtCL2lCQztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQmdqQkY7QWtCOWlCQztFQUNDO0NsQmdqQkY7QWtCOWlCQztFQUNDO0NsQmdqQkY7QWtCN2lCQztFQUNDO0NsQitpQkY7O0FtQnZsQkE7RUFDRTtFVndCRDtFVXRCQztFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtDbkJ3bEJGO0FtQnRsQkU7RUFDRTtDbkJ3bEJKO0FtQnJsQkU7RUFDRTtDbkJ1bEJKOztBbUJubEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQnNsQkY7O0FtQmxsQkU7RUFDRTtDbkJxbEJKOztBbUJqbEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkJvbEJGOztBbUJqbEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q25Cb2xCRjs7QW1CamxCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0NuQm9sQkY7QW1CbGxCRTtFQUNFO0NuQm9sQko7O0FtQmhsQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtDbkJpbEJGO0FtQi9rQkU7RUFDRTtDbkJpbEJKOztBbUI3a0JBO0VBQ0U7Q25CZ2xCRjtBbUI5a0JFO0VBQ0U7Q25CZ2xCSjs7QW1CNWtCQTtFQUNFO0NuQitrQkY7O0FvQjlxQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQmlyQkY7O0FvQjlxQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDcEJpckJGOztBb0I5cUJBO0VBQ0U7Q3BCaXJCRjtBb0IvcUJFO0VBQ0U7Q3BCaXJCSjs7QW9CN3FCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0NwQjhxQkY7QW9CNXFCRTtFQUNFO0NwQjhxQko7O0FxQnp0QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDckI0dEJGO0FxQjF0QkU7RUFDRTtDckI0dEJKOztBcUJ4dEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q3JCMnRCRjtBcUJ6dEJFO0VBQ0U7RUFDQTtDckIydEJKOztBcUJ0dEJFO0VBQ0U7Q3JCeXRCSjs7QXFCcnRCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JCd3RCRjs7QXFCcnRCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JCd3RCRjs7QXNCbHdCQTtFQUNDO0N0QnF3QkQ7O0FzQmx3QkE7RWR1TkU7RWNyTkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RCcXdCRDtBc0Jud0JDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RCcXdCRjtBc0Jsd0JDO0VBQ0M7RUFDQTtDdEJvd0JGOztBdUJ4eUJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q3ZCMnlCRjs7QXVCeHlCQTtFZitNRTtFRnpMSTtFQVJBO0VpQlhKO0VBQ0E7RUFDQTtDdkI0eUJGO0F1QjF5QkU7RUFDRTtDdkI0eUJKOztBdUJ4eUJBO0VqQlVNO0VBUkE7RWlCQUo7RUFDQTtFQUNBO0VBQ0E7Q3ZCNHlCRjtBdUJ0eUJFO0VBQ0U7Q3ZCd3lCSjs7QXdCejBCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VoQm9OQTtFRnpMSTtFQVJBO0VrQmhCSjtDeEI2MEJGO0F3QjMwQkU7RUFDRTtDeEI2MEJKO0F3QjEwQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hCNDBCSjtBd0J6MEJFO0VBQ0U7Q3hCMjBCSjs7QXlCbDJCQTtFQUNDO0VBQ0E7RWpCeU5DO0VGNUxJO0VBUkE7RW1CakJMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekJxMkJEO0F5Qm4yQkM7RUFDQztFQUNBO0N6QnEyQkY7QXlCbDJCQztFQUNDO0VBQ0E7Q3pCbzJCRjtBeUJsMkJDO0VBQ0M7RUFDQTtDekJvMkJGO0F5QmgyQkM7RWpCNExDO0VpQjFMQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekJrMkJGO0F5QjkxQkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6QmcyQkg7O0F5QjMxQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDekI4MUJEO0F5QjUxQkM7RUFDQztDekI4MUJGOztBeUIxMUJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6QjYxQkQ7QXlCMzFCQztFQUNDO0N6QjYxQkY7QXlCMTFCQztFQUNDO0VBQ0E7Q3pCNDFCRjtBeUJ4MUJDO0VBQ0M7RUFDQTtDekIwMUJGOztBMEJwN0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QzFCdTdCRjs7QTBCcDdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFCdTdCRjs7QTJCbjhCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0JzOEJEO0EyQnA4QkM7RUFDQztDM0JzOEJGO0EyQm44QkM7RUFDQztDM0JxOEJGO0EyQmw4QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzQm84QkY7QTJCajhCQztFQUNDO0VBQ0E7QzNCbThCRjtBMkJoOEJDO0VBQ0M7RUFDQTtDM0JrOEJGO0EyQjk3QkU7RUFDQztDM0JnOEJIO0EyQjk3QkU7RUFFQztDM0IrN0JIO0EyQjE3QkU7RUFDQztDM0I0N0JIO0EyQjE3QkU7RUFDQztFQUNBO0MzQjQ3Qkg7QTJCMTdCRTtFQUNDO0VBQ0E7QzNCNDdCSDs7QTRCLy9CQTtFQUNDO0VBQ0E7RUFDQSxZQUxvQjtFQU1wQixhQU5vQjtFQU9wQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVCa2dDRDtBNEJoZ0NDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzVCa2dDRjtBNEIvL0JDO0VBQ0M7RUFDQTtDNUJpZ0NGO0E0QjkvQkM7RXBCMEtDO0NSdTFCRjtBNEI3L0JDO0VBQ0M7QzVCKy9CRjs7QTZCNWhDQTtFdkI2Qk07RUFSQTtFdUJuQko7RUFDQTtFQUNBO0VBQ0E7QzdCZ2lDRjtBNkI5aENFO0VBQ0U7RUFDQTtDN0JnaUNKO0E2QjdoQ0U7RUFDRTtFQUNBO0M3QitoQ0o7QTZCNWhDVztFQUNQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCOGhDSjs7QThCdGpDQTtFQUNDO0M5QnlqQ0Q7QThCdmpDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlCeWpDRjtBOEJ2akNFO0V0QjhNQTtFRnpMSTtFQVJBO0V3QlZIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlCMGpDSDs7QThCcmpDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V0QnFMQztDUm80QkY7QThCdGpDQztFQUNDO0VBQ0E7QzlCd2pDRjs7QStCdG1DQTtFQUNDO0MvQnltQ0Q7O0ErQnRtQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RXpCb0JLO0VBUkE7RXlCVkw7RUFDQTtFdkIwTUM7RXVCeE1EO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7Qy9CeW1DRDtBK0J2bUNDO0VBQ0M7RUFDQTtDL0J5bUNGO0ErQnRtQ0M7RUFDQztDL0J3bUNGOztBK0JwbUNBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9Cc21DRDtBK0JwbUNDO0VBQ0M7RUFDQTtDL0JzbUNGOztBK0JobUNDO0VBQ0M7Qy9CbW1DRjs7QStCL2xDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0JrbUNEO0ErQmhtQ0M7RUFDQztDL0JrbUNGO0ErQi9sQ0M7RUFDQztFQUNBO0MvQmltQ0Y7O0ErQjdsQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9CZ21DRDs7QWdDbnJDQTtFQUNDO0VBQ0E7RUFDQTtDaENzckNEOztBZ0NuckNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDc3JDRDs7QWdDbnJDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDc3JDRDtBZ0NuckNDO0VBQ0M7Q2hDcXJDRjs7QWdDanJDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDb3JDRDtBZ0NsckNDO0VBQ0M7Q2hDb3JDRjs7QWdDaHJDQTtFQUNDO0VBQ0E7Q2hDbXJDRDs7QWdDaHJDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDbXJDRDs7QWdDL3FDQTs7OztHQUFBO0F6QmhCRTtFeUJzQkQ7SUFDQztHaENrckNBOztFZ0NockNEO0lBQ0M7R2hDbXJDQTtDQUNGO0FpQ2x2Q0E7RUFDRTtFQUNBO0NqQ292Q0Y7QU9sdENFO0UwQnBDRjtJQUtJO0lBQ0E7R2pDcXZDRjtDQUNGOztBT3h0Q0U7RTBCeEJFO0lBQ0U7R2pDb3ZDSjtDQUNGOztBaUNodkNBO0UzQlVNO0VBUkE7RUEyQ0EsaUIyQjNDaUI7RUFDckI7RUFDQTtDakNvdkNGO0FPdHVDRTtFMEJYRTtJQUNFO0dqQ292Q0o7Q0FDRjs7QWtDaHhDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xDbXhDRjs7QWtDaHhDQTtFQUNDO0VBQ0E7RUFDQTtFNUJrQks7RUFSQTtFQTJDQSxpQjRCbkRnQjtFQUNyQjtDbENveENEOztBa0NqeENBO0UxQnFNRTtFMEJuTUQ7RUFDQSw4QkF0QnlCO0VBdUJ6QjtFQUNBO0NsQ294Q0Q7QWtDbHhDQztFQUNDO0VBQ0E7Q2xDb3hDRjtBa0NqeENDO0VBQ0M7RUFDQTtFQUNBO0NsQ214Q0Y7O0FrQy93Q0E7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbENreENEOztBa0Mvd0NBO0VBQ0M7RUFDQTtFQUNBO0NsQ2t4Q0Q7O0FtQ3AwQ0E7RUFDQztFQUNBO0NuQ3UwQ0Q7O0FtQ3AwQ0E7RUFLQztFQUFBO0VBQ0E7RUFBQTtFQUNBO0VBQUE7RUFDQTtDbkNtMENEO0FtQ2gwQ0E7RUFDQztFQUFBO0VBQ0E7RUFBQTtFQUNBO01BQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQ2swQ0Q7QW1DaDBDQztFQUNDO0NuQ2swQ0Y7O0FtQzl6Q0E7RUFFQztFQUNBO0VBQ0E7S0FBQTtDbkNnMENEO0FPNXpDRTtFNEJSRjtJQU9FO0duQ2kwQ0E7Q0FDRjs7QW1DN3pDQTtFQUNDO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtDbkMrekNEOztBbUM1ekNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25DK3pDRDtBbUM3ekNDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q25DK3pDRjtBbUM1ekNDO0VBQ0M7RUFDQTtDbkM4ekNGO0FtQzN6Q0M7RTNCZ0hDO0NSOHNDRjtBbUMxekNDO0VBQ0M7Q25DNHpDRjs7QW1DeHpDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkMyekNEOztBb0M1NUNBO0U1QitMRTtFQTZCQTtFNEJ6TkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEMrNUNEOztBb0M1NUNBO0VBQ0M7RUFDQTtFQUNBO0NwQys1Q0Q7O0FvQzc1Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BDZzZDRDs7QXFDdjdDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckMwN0NEOztBcUN2N0NBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3JDMDdDRDtBT2g2Q0U7RThCOUJGO0lBT0U7R3JDMjdDQTtDQUNGOztBcUN4N0NBO0U3QmtQQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0U2QnBQQTtFQUFBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtDckMrN0NEOztBcUM1N0NBO0VBQ0M7RUFBQTtFQUNBO01BQUE7Q3JDKzdDRDs7QXFDNTdDQTtFQUNDO0VBQUE7RUFDQTtDckMrN0NEOztBcUM1N0NBO0VBQ0M7RUFBQTtDckMrN0NEOztBcUM1N0NBO0UvQlpNO0VBUkE7RStCc0JMO0VBQ0E7Q3JDZzhDRDs7QXFDNzdDQTtFL0JsQk07RUFSQTtFK0I0Qkw7Q3JDaThDRDs7QXNDai9DQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N0Q28vQ0Q7QU9wOUNFO0UrQnBDRjtJQU9FO0d0Q3EvQ0E7Q0FDRjs7QU96OUNFO0UrQnZCQTtJQUNDO0d0Q28vQ0Q7Q0FDRjtBTy85Q0U7RStCbEJBO0lBQ0M7R3RDby9DRDtDQUNGOztBdUN6L0NBO0VBQ0U7RUFDQTtFQUNBO0N2QzQvQ0Y7O0F1Q3ovQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZDNC9DRDtBdUMxL0NDO0VBQ0M7Q3ZDNC9DRjtBdUNyL0NDO0VBRUM7Q3ZDcy9DRjtBdUNuL0NDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUM7Q3ZDbS9DSDtBdUMvK0NDO0VBRUMsNEJBRFM7RUFFVCw4QkFGUztFQUdULCtCQUhTO0VBSVQsNkJBSlM7RUFLVDtDdkNnL0NGO0F1QzcrQ0M7RUFFQyw2QkFEUztFQUVULCtCQUZTO0VBR1QsZ0NBSFM7RUFJVCw4QkFKUztFQUtUO0VBQ0E7RUFDQTtDdkM4K0NGO0F1QzErQ0U7RUFDQztFQUNBO0VBQ0E7Q3ZDNCtDSDtBdUMxK0NFO0VBQ0M7RUFDQTtDdkM0K0NIO0F1Q3grQ0M7RUFDQztDdkMwK0NGO0F1Q3grQ0U7RUFFQztDdkN5K0NIO0F1Q3YrQ0U7RUFFQztDdkN3K0NIOztBd0M5a0RBO0VBQ0M7RUFDQTtFQUNBO0N4Q2lsREQ7O0F3QzlrREE7RUFDQztDeENpbEREOztBd0M5a0RBO0VBQ0M7Q3hDaWxERDtBd0Mva0RDO0VBQ0M7Q3hDaWxERjs7QXdDN2tEQTs7R0FBQTtBQ2xCQTtFQUNDO0N6Q3FtREQ7O0F5Q2xtREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDekNxbUREOztBeUNsbURBO0VqQzZNRTtFRnpMSTtFQVJBO0VBMkNBLGlCbUNwRGdCO0VBQ3JCO0VBQUE7RUFDQTtFQUFBO0VBQ0E7RUFDQTtLQUFBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pDc21ERDtBeUMvbERDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekNnbURGO0F5QzdsREM7RUFDQztFQUFBO0VBQ0E7Q3pDK2xERjtBeUM3bERFO0VBQ0M7Q3pDK2xESDtBeUMzbERDO0VBQ0M7RUFBQTtFQUNBO0VBQ0E7Q3pDNmxERjtBeUMzbERFO0VBQ0M7Q3pDNmxESDs7QXlDeGxEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pDMmxERDtBeUN6bERDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pDMmxERjtBeUN4bERDO0VBQ0M7Q3pDMGxERjtBeUN4bERFO0VBQ0M7Q3pDMGxESDs7QTBDbnJEQTs7Z0ZBQUE7QUFJQTs7O0dBQUE7QUFLQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQVk7RUFDWjtFQUErQjtFQUMvQjtFQUFjO0VBQ2Q7RUFDQTtFQUNBO0MxQ3VyREQ7QTBDcnJEQztFQUNDO0MxQ3VyREY7QTBDcnJEQztFQUNDO0VBQ0E7QzFDdXJERjs7QTBDbnJEQTtFcENFTTtFQVJBO0VBMkNBLGlCb0NuQ2dCO0VBQ3JCO0VBQ0E7QzFDdXJERDs7QTBDcHJEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFDdXJERDtBMENyckRDO0VBQ0M7QzFDdXJERjtBMENwckRDO0VBQ0M7QzFDc3JERjs7QTBDanJEQztFcEN0Qks7RUFSQTtFQTJDQSxpQm9DWGlCO0MxQ3FyRHZCO0EwQ25yREM7RUFDQztDMUNxckRGOztBMkMvdURBO0VBQ0M7RUFDQTtFQUNBO0MzQ2t2REQ7O0EyQy91REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzQ2t2REQ7QTJDL3VEQztFQUNDO0MzQ2l2REY7QTJDL3VERTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNDZ3ZESDtBMkM5dURZO0VBQ1I7QzNDZ3ZESjs7QTJDenVEQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0MydUREO0EyQ3h1REM7RUFDQztFQUNBO0VBQUE7RUFBQTtFQUNBO0MzQzB1REY7QTJDeHVEVztFQUNSO0VBQ0E7VUFBQTtDM0MwdURIOztBMkNydURBO0VBQ0M7QzNDd3VERDs7QTJDcnVEQTtFckNyQ007RUFSQTtFQTJDQSxpQnFDSWdCO0VBQ3JCO0VBQ0E7QzNDeXVERDs7QTJDdHVEQTtFQUNDO0MzQ3l1REQ7O0EyQ3R1REE7O0dBQUE7QUFJQztFbkMySUM7RUE3QkE7RW1DM0dBO0MzQ3d1REY7QTJDdHVEQztFQUNDO0MzQ3d1REY7O0EyQ2h1REM7RUFDQztDM0NtdURGOztBNENyMERBO0VBQ0M7RUFDQTtFdEM2Qks7RUFSQTtFc0NuQkw7RUFDQTtFQUNBO0M1Q3kwREQ7QTRDdjBEQztFQUNDO0M1Q3kwREY7QTRDdjBERTtFQUNDO0VBQ0E7VUFBQTtDNUN5MERIOztBNENwMERBO0VBQ0M7QzVDdTBERDs7QTRDcDBEQTtFQUNDO0lBQU87RzVDdzBETjtFNEN2MEREO0lBQUs7RzVDMDBESjtDQUNGOztBNEM3MERBO0VBQ0M7SUFBTztHNUN3MEROO0U0Q3YwREQ7SUFBSztHNUMwMERKO0NBQ0Y7QTZDbjJEQTtFQUNFO0VBQ0E7RUFDQTtDN0NxMkRGOztBNkNsMkRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0NxMkRGOztBNkNsMkRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0NxMkRGOztBOEN4M0RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0M5QzAzREY7QThDeDNERTtFQUVFO0M5Q3kzREo7QThDdDNERTtFQUVFO0M5Q3UzREo7O0E4Q24zREE7RUFDRTtDOUNzM0RGOztBQS8xREE7OytEQUFBO0ErQy9DQTs7OEVBQUE7QXhDdUNFO0V5Q3ZDRjtJeENrSUc7R1J1eEREO0NBQ0Y7QU9uM0RFO0V5Q3ZDRjtJeEN5Skc7R1Jxd0REO0NBQ0Y7QU94M0RFO0V5Q3ZDRjtJeEM4Skc7R1Jxd0REO0NBQ0Y7QU83M0RFO0V5Q3ZDRjtJeENtS0c7R1Jxd0REO0NBQ0Y7QU9sNERFO0V5Q2pDQTtJeEM0SEM7R1IyeUREO0NBQ0Y7QU92NERFO0V5Q2pDQTtJeENtSkM7R1J5eEREO0NBQ0Y7QU81NERFO0V5Q2pDQTtJeEN3SkM7R1J5eEREO0NBQ0Y7QU9qNURFO0V5Q2pDQTtJeEM2SkM7R1J5eEREO0NBQ0Y7O0FpRHg3REE7RTNDMEJNO0VBUkE7RTJDaEJMO0VBQ0E7Q2pENDdERDs7QWlEdjdEQztFQUNDO0NqRDA3REY7O0FpRHI3REE7RTNDWU07RUFSQTtFMkNGTDtFQUNBO0VBQ0E7Q2pEeTdERDs7QWlEcjdEQTtFQUNDO0NqRHc3REQ7QU83NkRFO0UwQ1pGO0lBSUU7SUFDQTtHakR5N0RBO0NBQ0Y7O0FPbjdERTtFMENGRjtJQUVFO0dqRHc3REE7Q0FDRjtBT3o3REU7RTBDRkY7SUFLRTtHakQwN0RBO0NBQ0Y7QWlEeDdEQztFQUNDO0NqRDA3REY7O0FpRHI3REE7RUFDQztFQUNBO0UzQ3RCSztFQVJBO0VBMkNBLGlCMkNYZ0I7Q2pEeTdEdEI7QWlEdjdEQztFQUNDO0VBQ0E7Q2pEeTdERjtBaUR2N0RDO0VBQ0M7Q2pEeTdERjs7QWtEdi9EQTtFQUNFO0V6Q3dCRDtFeUN0QkM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFqRHdCc0I7RWlEdkJ0QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRDAvREY7QWtEeC9ERTtFQUNFO0NsRDAvREo7QWtEdi9ERTtFQUNFO0VBQ0E7Q2xEeS9ESjs7QWtEci9EQTtFQUNFO0VBQ0E7RUFDQTtDbER3L0RGOztBa0RyL0RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q2xEdy9ERjs7QWtEci9EQTtFQUNFO0VBQ0E7Q2xEdy9ERjtBa0R0L0RFO0VBQ0U7Q2xEdy9ESjs7QWtEcC9EQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0NsRHEvREY7QWtEbC9ERTtFQUNFO0NsRG8vREo7O0FtRHRqRUE7RTFDeUJDO0UwQ3ZCQTtFQUNBO0VBQ0E7Q25EeWpFRDtBbUR2akVDO0VBQ0MscUJsRHlCc0I7Q0RnaUV4Qjs7QW1EcmpFQTtFM0NzUUM7RUFDQTtFQUNBO0NSbXpERDtBTy9oRUU7RTRDNUJGO0kzQzRRRztHUm16REQ7Q0FDRjtBT3BpRUU7RTRDNUJGO0kzQ21SRTtJQUNBO0dSaXpEQTtDQUNGO0FPMWlFRTtFNEM1QkY7STNDdUhHO0lBQUE7R1JvOUREO0NBQ0Y7QU9oakVFO0U0QzVCRjtJM0M4SUc7SUFBQTtHUm04REQ7Q0FDRjtBT3RqRUU7RTRDNUJGO0kzQ21KRztJQUFBO0dSbzhERDtDQUNGO0FPNWpFRTtFNEM1QkY7STNDd0pHO0lBQUE7R1JxOEREO0NBQ0Y7O0FPbGtFRTtFNENwQkY7SUFFRTtHbkR5bEVBO0NBQ0Y7O0FtRHRsRUE7RUFJQztFQUNBO0VBQ0E7Q25Ec2xFRDtBTzlrRUU7RTRDZEY7STNDeUdHO0dSdS9ERDtDQUNGO0FPbmxFRTtFNENkRjtJM0NnSUc7R1JxK0REO0NBQ0Y7QU94bEVFO0U0Q2RGO0kzQ3FJRztHUnErREQ7Q0FDRjtBTzdsRUU7RTRDZEY7STNDMElHO0dScStERDtDQUNGO0FtRHhtRUM7RUFDQztDbkQwbUVGOztBbUR0bUVBO0VBQ0M7Q25EeW1FRDs7QVE1NURDO0VBQ0MsaUIyQ3hNcUI7Q25EdW1FdkI7QU83bUVFO0U0Q0tGO0lBSUU7R25Ed21FQTtDQUNGO0FPbG5FRTtFNENLRjtJQU9FO0duRDBtRUE7Q0FDRjs7QU92bkVFO0U0Q2lCRjtJM0MwRUc7R1JpaUVEO0NBQ0Y7QU83bkVFO0U0Q2lCRjtJQUtFO0duRDJtRUE7Q0FDRjtBT2xvRUU7RTRDaUJGO0lBUUU7R25ENm1FQTtDQUNGOztBbUQxbUVBO0VBQ0M7RUFDQTtDbkQ2bUVEOztBbUQxbUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRDZtRUQ7QW1EM21FQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25ENm1FRjtBbUR6bUVFO0VBQ0M7Q25EMm1FSDtBbUR2bUVDO0VBQ0M7Q25EeW1FRjs7QW1Ecm1FQTtFQUNDO0VBQ0E7RUFDQTtDbkR3bUVEOztBbURybUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRHdtRUQ7O0FtRHJtRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkR3bUVEO0FtRHRtRUM7RUFDQztDbkR3bUVGO0FtRHJtRUM7RUFDQztDbkR1bUVGOztBb0Q5dUVBOzs7Ozs7OztHQUFBO0FBY0E7RUFDQztDcEQ0dUVEOztBb0R2dUVDO0VBQ0M7Q3BEMHVFRjs7QW9EdHVFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BEeXVFRDtBb0R0dUVDO0VBQ0M7RUFDQSxrQkExQnlCO0VBMkJ6QjtFQUNBO0NwRHd1RUY7O0FvRHB1RUE7RUFDQztDcER1dUVEOztBcURqeEVBO0U1Q3lCQztFNEN2QkE7RUFDQTtFQUNBO0NyRG94RUQ7QXFEbHhFQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JEb3hFRjtBcURseEVFO0VBQ0M7RUFDQTtFQUNBO0NyRG94RUg7O0FxRC93RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFN0MrT0E7RUFDQTtFQUNBO0NSb2lFRDtBT2h4RUU7RThDVEY7STdDeVBHO0dSb2lFRDtDQUNGO0FPcnhFRTtFOENURjtJN0NnUUU7SUFDQTtHUmtpRUE7Q0FDRjs7QXFENXhFQTtFQUNDO0NyRCt4RUQ7O0FxRDV4RUE7RUFDQztDckQreEVEOztBcUQ1eEVBO0VBQ0M7Q3JEK3hFRDtBcUQ3eEVDO0VBQ0M7RUFDQTtDckQreEVGOztBcUQzeEVBO0VBQ0M7RUFDQTtDckQ4eEVEOztBT2h6RUU7RThDcUJGO0lBRUU7R3JEOHhFQTtDQUNGOztBc0Q3MUVBO0VBQ0U7Q3REZzJFRjtBTzF6RUU7RStDdkNGO0lBS0k7R3REZzJFRjtDQUNGOztBc0Q3MUVBO0VBQ0U7Q3REZzJFRjs7QXNEMzFFRTtFQUVFO0N0RDYxRUo7QU92MEVFO0UrQzFCRjtJQVNJO0lBQ0E7SUFDQTtHdEQ0MUVGO0VzRDExRUU7SUFFRTtJQUNBO0lBQ0E7R3REMjFFSjtDQUNGO0FPbjFFRTtFK0NIRTtJQUVFO0d0RHcxRUo7Q0FDRjtBT3gxRUU7RStDS0U7SUFFRTtHdERxMUVKO0NBQ0Y7O0FzRGgxRUE7RUFDRTtFQUNBO0N0RG0xRUY7QU9sMkVFO0UrQ2FGO0lBS0k7SUFDQTtHdERvMUVGO0NBQ0Y7QU94MkVFO0UrQ2FGO0lBV0k7SUFDQTtJQUNBO0d0RG8xRUY7Q0FDRjtBTy8yRUU7RStDYUY7SUFrQkk7R3REbzFFRjtDQUNGO0FPcDNFRTtFK0NhRjtJQXNCSTtHdERxMUVGO0NBQ0Y7O0F1RGw1RUE7RTlDV0M7RThDVEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkRtNUVGO0F1RGg1RUU7RUFDRTtFQUNBO0VBQ0E7Q3ZEazVFSjtBdUQvNEVFO0VBQ0U7Q3ZEaTVFSjtBdUQvNEVJO0U5Q2xCSDtDVG82RUQ7QXVENTRFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZEODRFSjtBdUQ1NEVJO0VBQ0U7RUFDQTtDdkQ4NEVOOztBdURwNEVBO0VBQ0U7RUFDQTtFQUNBO0UvQ2lNRDtFQUNBO0VBQ0E7RStDak1DO0VBQ0E7Q3ZEeTRFRjtBT3I3RUU7RWdEc0NGO0kvQzBNRztHUnlzRUQ7Q0FDRjtBTzE3RUU7RWdEc0NGO0kvQ2lORTtJQUNBO0dSdXNFQTtDQUNGOztBdURqNUVBO0VBQ0U7Q3ZEbzVFRjs7QXVEajVFQTtFQUNFO0VBQ0E7RUFDQTtDdkRvNUVGO0F1RGw1RUU7RUFDRTtDdkRvNUVKOztBdURoNUVBO0UvQzZLQztFQUNBO0VBQ0E7RStDN0tDO0N2RHE1RUY7QU9wOUVFO0VnRDZERjtJL0NtTEc7R1J3dUVEO0NBQ0Y7QU96OUVFO0VnRDZERjtJL0MwTEU7SUFDQTtHUnN1RUE7Q0FDRjs7QXVENzVFQTtFQUNFO0VBQ0E7Q3ZEZzZFRjs7QXVENzVFQTtFakQvRU07RUFSQTtFaUR5Rko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkRpNkVGO0F1RC81RUU7RUFDRTtDdkRpNkVKO0F1RDk1RUU7RUFDRTtFQUNBO0N2RGc2RUo7QXVENzVFRTtFQUNFO0VBQ0E7RUFDQTtDdkQrNUVKOztBd0Q3aEZBO0VBQ0M7Q3hEZ2lGRDs7QXdEN2hGQTtFQUNDO0N4RGdpRkQ7O0F5RHppRkE7O0dBQUE7QUFJQTtFaERxQkM7RWdEbkJBO0VBQ0E7Q3pEMmlGRDs7QXlEeGlGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VuRGlCSztFQVJBO0VtRFBMO0N6RDRpRkQ7O0F5RHppRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDekQ0aUZEOztBeUR6aUZBO0VBQ0M7RUFDQTtDekQ0aUZEOztBeUR6aUZBO0VBQ0M7RUFDQTtFQUNBO0N6RDRpRkQ7O0FBdmhGQTs7K0RBQUE7QTBEdkRBOzs4RUFBQTtBQ0FBO0VyRCtCTTtFQVJBO0VxRHJCSjtFQUNBO0MzRHdsRkY7O0EyRHJsRkE7RUFDRTtDM0R3bEZGOztBMkRybEZBO0VBQ0U7RUFDQTtFQUNBO0MzRHdsRkY7QTJEdGxGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0MzRHdsRko7QTJEdGxGSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0R3bEZOO0EyRHJsRkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNEdWxGTjtBMkRubEZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRHFsRko7QTJEbmxGSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNEcWxGTjtBMkRubEZNO0VBQ0U7QzNEcWxGUjtBMkRsbEZNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNEb2xGUjtBMkRqbEZNO0VBQ0U7RUFDQTtDM0RtbEZSO0EyRGhsRk07RUFDRTtFQUNBO0MzRGtsRlI7QTJEaGxGUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNEa2xGVjtBMkRobEZVO0VBQ0U7RUFDQTtDM0RrbEZaO0EyRDlrRlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRGdsRlY7QTJEOWtGVTtFQUNFO0VBQ0E7QzNEZ2xGWjtBMkQza0ZNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0Q2a0ZSO0EyRDNrRlE7RUFDRTtDM0Q2a0ZWO0EyRDVrRlU7RUFDRTtDM0Q4a0ZaO0EyRDNrRlU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDM0Q2a0ZaO0EyRDNrRlk7RUFDRTtFQUNBO0MzRDZrRmQ7QTJEMWtGWTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRDRrRmQ7QTJEdmtGUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0MzRHlrRlY7QTJEdmtGVTtFQUNFO0VBQ0E7RUFDQTtDM0R5a0ZaO0EyRHZrRlk7RUFDRTtDM0R5a0ZkO0EyRGprRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRG1rRko7O0EyRC9qRkE7RUFDRTtFQUNBO0MzRGtrRkY7QTJEaGtGRTtFQUNFO0VBQ0E7QzNEa2tGSjtBMkRoa0ZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0Rra0ZOO0EyRC9qRkk7RUFDRTtFQUVBO0VBQ0E7RUFDQTtDM0Rna0ZOO0EyRDlqRk07RUFDRTtDM0Rna0ZSO0EyRDNqRk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtDM0Q2akZSO0EyRDNqRlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDM0Q2akZWO0EyRHpqRk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNEMmpGUjs7QTJEcmpGQTtFQUNFO0MzRHdqRkY7O0EyRHJqRkE7RUFDRTtDM0R3akZGO0EyRHRqRkU7RUFDRTtDM0R3akZKO0EyRHJqRkU7RUFDRTtDM0R1akZKOztBMkRuakZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNEc2pGRjtBMkRwakZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRHNqRko7QTJEbmpGRTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRG9qRko7QTJEbGpGSTtFQUNFO0VBQ0E7QzNEb2pGTjtBMkRqakZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0RtakZOO0EyRGhqRkk7RUFDRTtDM0RrakZOO0EyRC9pRkk7RUFDRTtDM0RpakZOO0EyRC9pRk07RUFDRTtDM0RpakZSO0EyRC9pRlE7RUFDRTtDM0RpakZWO0EyRDlpRlE7RUFDRTtDM0RnakZWO0EyRDdpRlE7RUFDRTtDM0QraUZWO0EyRDVpRlE7RUFDRTtDM0Q4aUZWOztBTzMxRkU7RW9EdVRFOztJQUVFO0lBQ0E7SUFDQTtHM0R3aUZKO0NBQ0Y7QU9wMkZFO0VvRG9VSTtJQUNFO0lBQ0E7RzNEbWlGTjtFMkRoaUZJO0lBQ0U7RzNEa2lGTjtFMkQ5aEZFO0lBQ0U7RzNEZ2lGSjtDQUNGO0FPaDNGRTtFb0RzVkE7SUFDRTtHM0Q2aEZGO0UyRDNoRkU7O0lBRUU7RzNENmhGSjtFMkQxaEZFO0lBQ0U7RzNENGhGSjtFMkR4aEZJO0lBQ0U7SUFDQTtHM0QwaEZOO0UyRHhoRk07SUFDRTtHM0QwaEZSO0NBQ0Y7QTREMTZGQTtFQUNFO0M1RDQ2RkY7O0E0RHo2RkE7RUFDRTtFQUNBO0M1RDQ2RkY7QTREMTZGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0M1RDQ2Rko7O0E0RHg2RkE7RUFJRTtDNUR3NkZGO0E0RDM2RkU7RUFDRTtDNUQ2NkZKOztBNER4NkZBO0VBQ0U7RUFDQTtDNUQyNkZGO0E0RHo2RkU7O0VBRUU7QzVEMjZGSjtBNER6NkZJOztFQUNFO0M1RDQ2Rk47QTREejZGSTs7RUFDRTtFQUNBO0M1RDQ2Rk47QTREMTZGTTs7RUFDRTtDNUQ2NkZSO0E0RDE2Rk07O0VBQ0U7QzVENjZGUjtBNEQzNkZROztFQUNFO0M1RDg2RlY7QTREejZGTTs7O0VBRUU7QzVENDZGUjtBNER6NkZNOzs7O0VBR0U7QzVENDZGUjtBNER6NkZNOzs7RUFFRTtDNUQ0NkZSO0E0RHY2RkU7RUFDRTtDNUR5NkZKO0E0RHQ2RkU7O0VBRUU7QzVEdzZGSjtBNERyNkZFO0VBQ0U7QzVEdTZGSjtBNERwNkZFO0VBQ0U7QzVEczZGSjs7QTREOTVGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0M1RGk2RkY7QTRELzVGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVEaTZGSjs7QUEvOEZBOzsrREFBQTtBNkQvREE7RUFDQztFQUNBO0M3RG9oR0Q7QVFseUZDO0VBQ0MsZ0JxRGxQcUI7QzdEc2hHdkI7QTZEcGhHQztFQUNDO0VBQ0E7RUFDQTtDN0RzaEdGO0E2RHBoR0U7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0RzaEdIO0E2RGxoR0M7RXZEVUs7RUFSQTtDTm9oR047QTZEbGhHRztFQUNDO0M3RG9oR0o7O0E4RDlpR0E7O0dBQUE7QUFPQztFQUNDO0M5RDZpR0Y7QThEemlHQztFQUNDO0M5RDJpR0Y7QThEdmlHQztFQUNDO0M5RHlpR0Y7QThEdGlHQztFQUNDO0M5RHdpR0Y7QThEdGlHRTtFQUNDO0VBQ0E7RUFDQTtDOUR3aUdIO0E4RHRpR0c7RXhERUc7RUFSQTtFd0RRRjtFQUNBO0VBQ0E7RUFDQTtDOUR5aUdKO0E4RHBpR0M7RUFDQztFQUNBO0M5RHNpR0Y7QThEcGlHRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0M5RHNpR0g7QThEcGlHRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOURzaUdKOztBQXRoR0E7OzsrREFBQTtBK0R2RUE7O3lGQUFBO0FBS0E7Ozs7Ozs7Ozs7Ozs7O0dBQUE7QUEwQkc7RUFDQztDL0R1bEdKOztBK0RybEdHO0VBQ0M7Qy9Ed2xHSjs7QStENWxHRztFQUNDO0MvRCtsR0o7O0ErRDdsR0c7RUFDQztDL0RnbUdKOztBK0QzbUdHO0VBQ0M7Qy9EOG1HSjs7QStENW1HRztFQUNDO0MvRCttR0o7O0ErRDVtR0c7RUFDQztDL0QrbUdKOztBK0Q3bUdHO0VBQ0M7Qy9EZ25HSjs7QStEcG5HRztFQUNDO0MvRHVuR0o7O0ErRHJuR0c7RUFDQztDL0R3bkdKOztBK0Rub0dHO0VBQ0M7Qy9Ec29HSjs7QStEcG9HRztFQUNDO0MvRHVvR0o7O0ErRHBvR0c7RUFDQztDL0R1b0dKOztBK0Ryb0dHO0VBQ0M7Qy9Ed29HSjs7QStEbnBHRztFQUNDO0MvRHNwR0o7O0ErRHBwR0c7RUFDQztDL0R1cEdKOztBK0RwcEdHO0VBQ0M7Qy9EdXBHSjs7QStEcnBHRztFQUNDO0MvRHdwR0o7O0ErRDVwR0c7RUFDQztDL0QrcEdKOztBK0Q3cEdHO0VBQ0M7Qy9EZ3FHSjs7QStEM3FHRztFQUNDO0MvRDhxR0o7O0ErRDVxR0c7RUFDQztDL0QrcUdKOztBK0Q1cUdHO0VBQ0M7Qy9EK3FHSjs7QStEN3FHRztFQUNDO0MvRGdyR0o7O0ErRHByR0c7RUFDQztDL0R1ckdKOztBK0RyckdHO0VBQ0M7Qy9Ed3JHSjs7QStENXJHRztFQUNDO0MvRCtyR0o7O0ErRDdyR0c7RUFDQztDL0Rnc0dKOztBK0Rwc0dHO0VBQ0M7Qy9EdXNHSjs7QStEcnNHRztFQUNDO0MvRHdzR0o7O0ErRG50R0c7RUFDQztDL0RzdEdKOztBK0RwdEdHO0VBQ0M7Qy9EdXRHSjs7QStEM3RHRztFQUNDO0MvRDh0R0o7O0ErRDV0R0c7RUFDQztDL0QrdEdKOztBK0Q1dEdHO0VBQ0M7Qy9EK3RHSjs7QStEN3RHRztFQUNDO0MvRGd1R0o7O0ErRDN1R0c7RUFDQztDL0Q4dUdKOztBK0Q1dUdHO0VBQ0M7Qy9EK3VHSjs7QStENXVHRztFQUNDO0MvRCt1R0o7O0ErRDd1R0c7RUFDQztDL0RndkdKOztBK0QzdkdHO0VBQ0M7Qy9EOHZHSjs7QStENXZHRztFQUNDO0MvRCt2R0o7O0ErRG53R0c7RUFDQztDL0Rzd0dKOztBK0Rwd0dHO0VBQ0M7Qy9EdXdHSjs7QStEM3dHRztFQUNDO0MvRDh3R0o7O0ErRDV3R0c7RUFDQztDL0Qrd0dKOztBZ0UzeUdBO0VBQ0U7Q2hFOHlHRjs7QWdFM3lHQTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7VUFBQTtFQUNBO0VBQ0E7Q2hFMnlHRjs7QWdFeHlHQTtFQUNFO0VBQ0E7RUFDQTtLQUFBO0NoRTJ5R0Y7O0FnRXh5R0E7RUFDRTtDaEUyeUdGOztBZ0V4eUdBO0VBQ0U7Q2hFMnlHRjs7QWlFMTBHQTs7O0VBQUE7QUNBQTs7OztnRkFBQTtBQXlCQTtFekRBQztFRHdQQTtFQUNBO0VBQ0E7RTBEdlBBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtDbEU4ekdEO0FPenpHRTtFMkRkRjtJMUQ4UEc7R1I2a0dEO0NBQ0Y7QU85ekdFO0UyRGRGO0kxRHFRRTtJQUNBO0dSMmtHQTtDQUNGO0FPcDBHRTtFMkRkRjtJQW1CRTtHbEVtMEdBO0NBQ0Y7O0FrRS96R0E7RUFDQztFQUVBO0NsRWkwR0Q7QU85MEdFO0UyRFVGO0lBWUU7R2xFNHpHQTtDQUNGO0FPbjFHRTtFMkRVRjtJQXFCRTtHbEV3ekdBIiwiZmlsZSI6ImNzcy9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiAgMSAtIFNFVFRJTkdTXG4gKiAgR2xvYmFsIHZhcmlhYmxlcywgc2l0ZS13aWRlIHNldHRpbmdzLFxuICogIGNvbmZpZyBzd2l0Y2hlcyBldGMuXG4gKlxuICogIFRoZSBvcmRlciBpbiB3aGljaCB0aGVzZSBTYXNzIGZpbGVzXG4gKiAgYXJlIGxvYWRlZCBpcyBjcml0aWNhbCFcbiAqICBTbyBwbGVhc2UgYmUgY2FyZWZ1bCB3aGVuIGVkaXRpbmdcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb25maWcgc2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmaW5lIGJyZWFrcG9pbnRzIGZvciBnaXZlbiBmb3JtYXRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPcmdhbml6ZSBjb2xvciB2YXJpYWJsZXMgaW4gYSBTYXNzIE1hcC5cbiAgIFRoaXMgd2F5LCB0aGUgY29sb3JzIGNhbiBiZSBpdGVyYXRlZCwgYXJlIG1vcmUgb3JnYW5pemVkLFxuICAgYW5kIGFyZSBtb3JlIGludHVpdGl2ZSB0byByZWZlcmVuY2UuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgRGVmaW5lcyB0aGUgdHlwb2dyYXBoaWMgYmFzZWxpbmUuXG4gKiAgV2UgZGVmaW5lIGV2ZXJ5IHNpemUgaW4gcGl4ZWxzLCB0aGUgdW5kZXJseWluZyBzeXN0ZW0gY29udmVydHMgdGhlXG4gKiAgcmVzcGVjdGl2ZSB1bml0cyB0byB0aGUgcmVzcG9uc2l2ZSBSRU0gdmFsdWUuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBPdXIgYmFzZSBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0XG4gKi9cbi8qKlxuICpcdEhlcmUgd2UgYXNzaWduIHNob3J0IG5hbWVzIGZvciB0aGUgZm9udCBmYW1pbGllc1xuICovXG4vKiAgMiAtIFRPT0xTXG4gKiAgU2l0ZSB3aWRlIG1peGlucyBhbmQgZnVuY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1bmN0aW9ucyB1c2VkIGluIGdyaWQgY2FsY3VsYXRpb25cbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAqIFJldHVybiBwZXJjZW50YWdlIGJhc2VkIG9uIGFtb3VudCBvZiBjb2x1bW5zXG4gICogVXNlIHBhcmVudCBjb2x1bW4gc2l6ZSB0byBhZGp1c3QgdGhlIG9yaWdpblxuICAqL1xuLyoqXG4gICogRGVmYXVsdCBmdW5jdGlvbiBmb3IgY29sdW1uc1xuICAqIFJldHVybiBhcyBwZXJjZW50YWdlXG4gICovXG4vKipcbiAgKiBSZXR1cm4gYXMgdmlld3BvcnQgd2lkdGhcbiAgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbiAgICB9XG5cbiAqL1xuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC13ZWlnaHQgdGhyb3VnaCBhIFNhc3MgTWFwIHdpdGggYWxsIGF2YWlsYWJsZSB3ZWlnaHRzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC13ZWlnaHQoc2VtaS1ib2xkKTtcbiAgICB9XG5cblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC13ZWlnaHQoNzAwKTtcbiAgICB9XG5cbiAqL1xuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIGFjY2Vzc2luZyB0aGUgZm9udCBmYW1pbGllcyBmcm9tIG91ciBtYXBwaW5nXG5cblx0VVNBR0U6XG5cblx0c3BhbiB7XG5cdFx0QGluY2x1ZGUgZm9udC1mYW1pbHkocHJpbWFyeSk7XG5cdH1cblxuICovXG4vKiBNZWRpYSBxdWVyeSBtaXhpbiBmb3Igd3JpdGluZyBNb2JpbGUgRmlyc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBUb29sYm94IGZ1bmN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogIE1hdGhzIGhlbHBlcnMuXG4gKiAgSGFsdmUgYW5kIGRvdWJsZSBudW1iZXJzLCByZXR1cm5pbmcgcm91bmRlZCBpbnRlZ2Vycy5cblxuICAgIFVTQUdFOlxuXG4gICAgLmZvbyB7XG4gICAgICAgIHBhZGRpbmc6IGhhbHZlKDMwcHgpO1xuICAgIH1cblxuICovXG4vKipcbiAqICBSZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbiAqICBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIE51bWJlciB0byByZW1vdmUgdW5pdCBmcm9tXG4gKiAgQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuICovXG4vKiBDaGVjayBpZiB2YWx1ZSBpcyBudW1iZXIgKi9cbi8qIFZhbHVlIHRvIEVtICovXG4vKiBWYWx1ZSB0byBSZW0gKi9cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBhY2Nlc3NpbmcgdGhlIGNvbG9ycyBmcm9tIG91ciBtYXBwaW5nXG4gKlx0VG8gYWNjZXNzIGNvbG9ycyBpbiBvdXIgcGFsZXR0ZSwgd2UgdXNlIGEgdmVyeSBzaW1wbGUgY3VzdG9tIFNhc3MgZnVuY3Rpb25cblxuXHRVU0FHRTpcblxuXHRhIHtcblx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5KTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNDAwKTtcblx0XHR9XG5cdH1cblxuICovXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgb25seSBmb3IgbW9iaWxlIHZpZXdwb3J0XG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAxXG5cdFx0KTtcbiAgfVxuXG4gKi9cbi8qXG4gKiBTZXQgdmVydGljYWwgc3BhY2luZyBmb3Igdmlld3BvcnQgbGFyZ2VyIHRoYW4gbW9iaWxlXG4gKiBJbiBmbGV4aWJsZSB1bml0cyAodncpIGFuZCBvbiBtYXggdmlld3BvcnQgaW4gYSBmaXhlZCBhbW91bnQgKHB4KVxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZy1tLXVwKFxuXHRcdFx0XHQncGFkZGluZy10b3AnIDAuMzMsXG5cdFx0XHRcdCdtYXJnaW4tYm90dG9tJyAwLjVcblx0XHQpO1xuICB9XG5cbiAqL1xuLypcbiAqIEZyb20gdmFsdWVzIGdpdmVuIHJldHVybiB0aGUgY29ycmVjdCB2LXNwYWNpbmcgZm9yIGVhY2ggYnJlYWtwb2ludFxuICovXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3Igc2V0dGluZyBhIGNvbnNpc3RlbnQgYm94LXNoYWRvd1xuXG5cdFVTQUdFOlxuXG5cdC5jYXJkIHtcblx0XHRAaW5jbHVkZSBib3gtc2hhZG93O1xuXHR9XG5cblx0LmNhcmQtLWFsdCB7XG5cdFx0QGluY2x1ZGUgYm94LXNoYWRvdyhsb3cpO1xuXHR9XG5cbiAqL1xuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJvcmRlci1yYWRpdXNcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cdH1cblxuICovXG4vKipcbiAqIExvYm90b21pemVkIE93bCBTZWxlY3RvciBtaXhpbjpcbiAqIC0gU2V0IHNwYWNpbmcgZm9yIGNvbnNlY3V0aXZlIGl0ZW1zIHdpdGggbWFyZ2luLXRvcCBvbiBhbGwgYnV0IHRoZSBmaXJzdCBpdGVtXG5cblx0VVNBR0U6XG5cblx0LmJveCB7XG5cdFx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHR9XG5cblx0LmNhcmRfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG93bDtcblx0fVxuXG4gKi9cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG4vKlxuICogIFJlc3RyaWN0IGFuIGVsZW1lbnQgdG8gYSBtYXgtd2lkdGggZm9yIGNyZWF0aW5nIGd1dHRlcnMgb24gdGhlIHNpZGVcbiAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBUaGUgJ3otaW5kZXgtbWFwJyBpcyB1c2VkIGZvciBtYW5hZ2luZyB0aGUgZWxlbWVudHMgc3RhY2tpbmcgb3JkZXIgaW4gdGhlICdyb290JyBzdGFja2luZyBjb250ZXh0XG4gKiAgVGhpcyB3YXkgd2UgaGF2ZSBhIG92ZXJ2aWV3IG9mIGFsbCB0aGUgei1pbmRleCB2YWx1ZXMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgdGhlIHByb2plY3QuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgVVNBR0U6XG5cbiAgICBAaW5jbHVkZSB6KHotbW9kYWwpO1xuXG4gKi9cbi8qICAzIC0gRUxFTUVOVFNcbiAqICBQbGFpbiBvbGQgc2ltcGxlIEhUTUwgZWxlbWVudHMgd2l0aG91dCBhIGNsYXNzICh0eXBlIHNlbGVjdG9ycylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEJhc2ljIGVsZW1lbnRzIChubyBjbGFzcyBzZWxlY3RvcnMgYWxsb3dlZClcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFNldCB1cCB0aGUgaHRtbFxuICpcbiAqIDEuIE1ha2VzIHN1cmUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqIDIuIFNldCBmb250IHRvIGxpbmluZyBmaWd1cmVzXG4gKi9cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxudW1cIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzM4NGE2Njtcbn1cblxuLyoqXG4gKiBbMV0gTWFrZSBzdXJlIGVsZW1lbnRzIGxpa2UgaW5wdXQgYW5kIHRleHRhcmVhIGluaGVyaXQgc29tZSBiYXNlIHByb3BlcnRpZXNcbiAqICAgICBodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE2LzExL2Nzcy1pbmhlcml0YW5jZS1jYXNjYWRlLWdsb2JhbC1zY29wZS1uZXctb2xkLXdvcnN0LWJlc3QtZnJpZW5kcy9cbiAqXG4gKiBbMl0gU2V0dGluZyBib3gtc2l6aW5nIHRoZSBiZXN0IHdheSBwZXI6XG4gKiAgICAgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbioge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vKipcbiAqIFsxXSBUdXJuIG9mZiB0ZXh0LXNoYWRvdyB3aGVuIHNlbGVjdGluZyB0ZXh0IGZvciBiZXR0ZXIgcmVhZGFiaWxpdHlcbiAqL1xuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjYmRlMWZmO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICAvKiBbMV0gKi9cbn1cblxuLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGFyb3VuZCBmaWd1cmVcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFsxXSBTZXR0aW5nICd2ZXJ0aWNhbC1hbGlnbicgcmVtb3ZlcyB0aGUgd2hpdGVzcGFjZSB0aGF0IGFwcGVhcnMgdW5kZXIgJ2ltZydcbiAqXHQgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXG4gKlx0ICAgdXNpbmcgJ2Rpc3BsYXk6IGJsb2NrOycuXG4gKiBbMl0gUmVtb3ZlIGJvcmRlciAvIGVzcGVjaWFsbHkgb24gb2xkZXIgYnJvd3NlcnNcbiAqL1xuaW1nLCBzdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKlsxXSovXG4gIGJvcmRlcjogbm9uZTtcbiAgLypbMl0qL1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogU3RpbGwgYWRkIGRpc3BsYXkgYmxvY2sgdG8gc3ZnIGFuZCBwaWN0dXJlIHRvIHByZXZlbnQgdW53YW50ZWQgc3BhY2luZyBvciBjb2xsYXBzaW5nXG4gKi9cbnN2ZywgcGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqICBOZWVkZWQgZm9yIGlPUyB0byBwcmV2ZW50IGlucHV0IHpvb21pbmdcbiAqICBodHRwczovL3V4Y2VsbGVuY2UuY29tLzIwMTQvMDEvMTUvcXVpY2stZml4LWluY3JlYXNlLWZvbnQtc2l6ZS10by0xNnB4LXRvLWZpeC1pbnB1dC16b29tXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbmEge1xuICBjb2xvcjogIzMyOGRmYztcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvO1xufVxuYTpub3QoW2NsYXNzXSk6aG92ZXIge1xuICBjb2xvcjogIzAzNmRlZTtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaGdyb3VwLFxudWwsIG9sLCBkZCxcbnAsIGZpZ3VyZSxcbnByZSwgdGFibGUsIGZpZWxkc2V0LCBociB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAzLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbmg1LCBoNiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqXHREZWZhdWx0IGluZGVudGF0aW9uIHZhbHVlIGZvciBsaXN0c1xuICovXG51bCxcbm9sIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogMS4xMjVlbTtcbn1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyoqXG4gKlx0UmVtb3ZlIGV4dHJhIHZlcnRpY2FsIHNwYWNpbmcgd2hlbiBuZXN0aW5nIGxpc3RzLlxuICovXG5saSA+IHVsLFxubGkgPiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qICA0IC0gTGF5b3V0IGVsZW1lbnRzXG4gKiAgRGVzaWduIHBhdHRlcm5zIChlLmcuIGdyaWRzIG9yIG1lZGlhIG9iamVjdClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29udGFpbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubC1jb250YWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtY29udGFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLWNvbnRhaW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJlc3RyaWN0XG4gKlxuICogV2hlbiBhIGJsb2NrIHNob3VsZG4ndCB0YWtlIHVwIHRoZSB3aG9sZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyXG4gKiB3ZSBjYW4gcmVzdHJpY3QgdGhlIG1heGltdW0gd2lkdGhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1yZXN0cmljdC1uYXJyb3cge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICAgIG1heC13aWR0aDogMzhlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXJlc3RyaWN0LW5hcnJvdyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1yZXN0cmljdC13aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDg3LjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtcmVzdHJpY3Qtd2lkZSB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5cbi8qICA1IC0gQ09NUE9ORU5UU1xuICogIERpc2NyZXRlIGNvbXBsZXRlIGNodW5rcyBvZiBVSS5cbiAqICBEZXNpZ25lZCBjb21wb25lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29tcG9uZW50c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRGVmYXVsdCBidXR0b25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAxLiBDb2xvciBnZXRzIGluaGVyaXRlZCBhbmQgdXNlZCBmb3IgbmVzdGVkIGVsZW1lbnRzIHdpdGggJ2N1cnJlbnRDb2xvcicgcHJvcGVydHkgKi9cbi5jLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyOGRmYztcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogd2hpdGU7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG59XG4uYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM2ZGVlO1xufVxuLmMtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xufVxuLmMtYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYy1idXR0b25fX3RleHQge1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWJ1dHRvbi0taWNvbiAuYy1idXR0b25fX3RleHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4uYy1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbiAgbGVmdDogLTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cbi5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy1idXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcbn1cbi5jLWJ1dHRvbl9faWNvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG4uYy1idXR0b24tLWljb24gLmMtYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWJ1dHRvbi0tb24tZGFyayB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5jLWJ1dHRvbi0tb24tZGFyazpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xufVxuXG4uYy1jYXJkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDIwcHggMzBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy1jYXJkX19pbWFnZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtY2FyZF9fYm9keSB7XG4gIHBhZGRpbmc6IDMwcHg7XG59XG5cbi5jLWNhcmRfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmMtY2FyZF9fY29udGVudCB7XG4gIGNvbG9yOiAjMzg0YTY2O1xufVxuXG4uYy1jYXJkX19hY3Rpb24ge1xuICBtYXJnaW46IDMwcHggMCAzNXB4O1xufVxuXG4uYy1jYXJkLS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLWNhcmQtLXVuYm94IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5jLWNhcmQtLXVuYm94IC5jLWNhcmRfX2ltYWdlIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLWNhcmQtLXVuYm94IC5jLWNhcmRfX2JvZHkge1xuICBwYWRkaW5nOiAzMHB4IDAgMDtcbn1cbi5jLWNhcmQtLXVuYm94IC5jLWNhcmRfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuLmMtY2FyZC0tdW5ib3ggLmMtY2FyZF9fY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWNsb3NlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE4MG1zIGVhc2Utb3V0O1xufVxuLmMtY2xvc2U6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgM3B4IDJweCB3aGl0ZTtcbn1cbi5jLWNsb3NlOmFmdGVyLCAuYy1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwJTtcbiAgbGVmdDogMjAlO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uYy1jbG9zZTpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4uYy1jbG9zZTphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG4uYy1jbG9zZTpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cblxuLmMtY29va2llLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xufVxuLmMtY29va2llLW92ZXJsYXkuaXMtYWNjZXB0ZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmMtY29va2llLW92ZXJsYXkuZmFkZS1vdXQge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fbW9kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDkyJTtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgcGFkZGluZzogNjBweCAxMjBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmMtY29va2llLW92ZXJsYXlfX2NvbnRhaW5lci5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIGNvbG9yOiAjMzg0YTY2O1xufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzZiN2M5Mztcbn1cblxuLmMtY29va2llLW92ZXJsYXlfX2xpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICMzMjhkZmM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5jLWNvb2tpZS1vdmVybGF5X19saW5rOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoNTAsIDE0MSwgMjUyLCAwLjc1KTtcbn1cblxuLmMtY29va2llLW92ZXJsYXlfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgcGFkZGluZzogMTNweCAyNXB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjhkZmM7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xufVxuLmMtY29va2llLW92ZXJsYXlfX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTc3ZmI7XG59XG5cbi5jLWNvb2tpZS1vdmVybGF5X190eXBlcywgLmMtY29va2llLW92ZXJsYXlfX3NldHRpbmdzIHtcbiAgbWFyZ2luOiAzMHB4IDA7XG59XG4uYy1jb29raWUtb3ZlcmxheV9fdHlwZXMgPiAqICsgKiwgLmMtY29va2llLW92ZXJsYXlfX3NldHRpbmdzID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fc2V0dGluZ3Mge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYy1jb29raWUtc3dpdGNoX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogMCAwIDVweDtcbiAgY29sb3I6ICMzODRhNjY7XG59XG5cbi5jLWNvb2tpZS1zd2l0Y2hfX3RleHQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM2YjdjOTM7XG59XG5cbi5jLWNvb2tpZS1zd2l0Y2hfX3NldHRpbmdzIHtcbiAgbWFyZ2luOiAzMHB4IDAgMDtcbn1cbi5jLWNvb2tpZS1zd2l0Y2hfX3NldHRpbmdzID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4uYy1jb29raWUtc3dpdGNoX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI4ZGZjO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHM7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5jLWNvb2tpZS1zd2l0Y2hfX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTc3ZmI7XG59XG5cbi5jLWNvb2tpZS10eXBlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYy1jb29raWUtdHlwZS0tc3RhdGljIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLWNvb2tpZS10eXBlX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbn1cbi5jLWNvb2tpZS10eXBlX19pY29uIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAyNnB4O1xufVxuXG4uYy1jb29raWUtdHlwZS0tc3RhdGljIC5jLWNvb2tpZS10eXBlX19pbnB1dCB7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmMtY29va2llLXR5cGVfX3RleHQge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogIzZiN2M5Mztcbn1cblxuLmMtY29va2llLXR5cGVfX3RpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDVweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzM4NGE2Njtcbn1cblxuLmMtZmxhc2gtbWVzc2FnZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWZsYXNoLW1lc3NhZ2Uge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtODAlO1xuICBsZWZ0OiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogNXB4IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjhkZmM7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHdoaXRlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01cHgsIDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG59XG4uYy1mbGFzaC1tZXNzYWdlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOHB4O1xuICBsZWZ0OiBjYWxjKDUwJSAtIDcuNXB4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCA3LjVweCA4cHggNy41cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMyOGRmYyB0cmFuc3BhcmVudDtcbn1cbi5jLWZsYXNoLW1lc3NhZ2UuY2xpY2tlZCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG59XG5cbi5jLWZvcm0tZWxlbWVudC0taG9uZXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1mb3JtLWVsZW1lbnRfX2Vycm9yIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGNvbG9yOiByZ2JhKDIwNywgNjIsIDYyLCAwLjkpO1xufVxuLmMtZm9ybS1lbGVtZW50X19lcnJvcjpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1mb3JtLWVsZW1lbnRfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG9yZGVyOiAxO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG59XG4uaGFzLWVycm9yIC5jLWZvcm0tZWxlbWVudF9fbGFiZWwge1xuICBjb2xvcjogI2RhOWIwYztcbn1cblxuLmMtZm9ybS1mZWVkYmFjayB7XG4gIG1hcmdpbjogMCAwIDhweDtcbiAgcGFkZGluZzogMjRweCAzMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmNWUxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmVmNWUxO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogI2Q0YzVmNDtcbn1cbi5jLWZvcm0tZmVlZGJhY2s6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jLWZvcm0tZmVlZGJhY2s6YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLWZlZWRiYWNrKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNkYTliMGM7XG59XG4uYy1mb3JtLWZlZWRiYWNrIGxpOjpmaXJzdC1sZXR0ZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy1naG9zdC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgY29sb3I6ICMyNjdkZTg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgcGFkZGluZzogMTZweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtZ2hvc3QtYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDRweCAycHggcmdiYSgxODksIDIyNSwgMjU1LCAwLjUpO1xufVxuLmMtZ2hvc3QtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLWdob3N0LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5jLWdob3N0LWJ1dHRvbjo6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTFweDtcbiAgYm90dG9tOiAtMXB4O1xuICByaWdodDogLTFweDtcbiAgbGVmdDogLTFweDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xufVxuLmMtZ2hvc3QtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMzVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi5jLWdob3N0LWJ1dHRvbl9fdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMCAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYy1idXR0b24tLWljb24gLmMtZ2hvc3QtYnV0dG9uX190ZXh0IHtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLmMtZ2hvc3QtYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy1naG9zdC1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtZ2hvc3QtYnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG4uYy1naG9zdC1idXR0b24tLWljb24gLmMtZ2hvc3QtYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xufVxuLmMtZ2hvc3QtYnV0dG9uX19pY29uOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLmMtZ29vZ2xlLW1hcHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7XG59XG5cbi5jLWdvb2dsZS1tYXBzX19tYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtaGFtYnVyZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmMtaGFtYnVyZ2VyOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAycHggIzMyOGRmYztcbn1cbi5jLWhhbWJ1cmdlci5pcy1saWdodCB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5jLWhhbWJ1cmdlciA+IHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwJTtcbiAgbGVmdDogMjAlO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcbn1cbi5jLWhhbWJ1cmdlciA+IHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgdG9wOiAxMnB4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xufVxuLmMtaGFtYnVyZ2VyID4gc3BhbjpudGgtY2hpbGQoMykge1xuICB0b3A6IDI4cHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuNSk7XG59XG4uYy1oYW1idXJnZXI6aG92ZXIgPiBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbn1cbi5jLWhhbWJ1cmdlcjpob3ZlciA+IHNwYW46bnRoLWNoaWxkKDEpLCAuYy1oYW1idXJnZXI6aG92ZXIgPiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLmMtaGFtYnVyZ2VyID4gc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuYy1oYW1idXJnZXIgPiBzcGFuOm50aC1jaGlsZCgxKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5jLWhhbWJ1cmdlciA+IHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cblxuLmMtaWNvbi1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY29sb3I6ICMzMjhkZmM7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTAsIDE0MSwgMjUyLCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLCBib3gtc2hhZG93O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI1cztcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5jLWljb24tYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI4ZGZjO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYy1pY29uLWJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM2MGQwO1xuICBjb2xvcjogd2hpdGU7XG59XG4uYy1pY29uLWJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5jLWljb24tYnV0dG9uW2RhdGEtaWNvbi1kaXJlY3Rpb249cmV2ZXJzZV0ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cblxuLmMtaW5wdXQge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweC0xcHggMTZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZiN2M5MztcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5oYXMtZXJyb3IgLmMtaW5wdXQge1xuICBib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggIzMyOGRmYztcbiAgYm9yZGVyLWNvbG9yOiAjMzI4ZGZjO1xufVxuLmMtaW5wdXQ6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggcmdiYSg1MCwgMTQxLCAyNTIsIDAuNzUpO1xuICBib3JkZXItY29sb3I6ICMzMjhkZmM7XG59XG50ZXh0YXJlYS5jLWlucHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIG1pbi1oZWlnaHQ6IDE1OHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmMtaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jLWltYWdlID4gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYy1pbWFnZSA+IGltZzpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb250ZW50OiBcIldlJ3JlIHNvcnJ5LCB0aGlzIGltYWdlIGlzIGJyb2tlbiA6KFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSArIDIwcHgpO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjlmYjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcva21zL2R5bmFtaWMvaW1hZ2Uuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDIwcHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEzMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTllYmY1O1xufVxuXG4uYy1pbWFnZV9fcGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDY2LjY3JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjlmYjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9rbXMvZHluYW1pYy9pbWFnZS5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyMDBweCBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzMywgMTQ2LCAxNjYsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG59XG4uYy1pbWFnZV9fcGxhY2Vob2xkZXItLXZpZGVvIHtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAwJSAvIDE2ICogOSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcva21zL2R5bmFtaWMvdmlkZW8tYmxvY2suc3ZnXCIpO1xufVxuXG4uYy1sYW5ndWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2N1cnJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNXB4IDMwcHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiZGUxZmY7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGJveC1zaGFkb3cgMC4xNXM7XG59XG4uYy1sYW5ndWFnZV9fY3VycmVudDpmb2N1cywgLmMtbGFuZ3VhZ2VfX2N1cnJlbnQ6aG92ZXIge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlZGZmO1xufVxuLmMtbGFuZ3VhZ2U6aG92ZXIgLmMtbGFuZ3VhZ2VfX2N1cnJlbnQge1xuICBib3gtc2hhZG93OiAwIDAgMTJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IGNhbGMoMTAwJSAtIDVweCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTRkNWZmO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAwIDVweDtcbiAgbWFyZ2luOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMTJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xufVxuLmMtbGFuZ3VhZ2U6aG92ZXIgLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FlZGFmZjtcbn1cblxuLmMtbGFuZ3VhZ2VfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDE1cHggNXB4IDMwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbn1cbi5jLWxhbmd1YWdlX19saW5rOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG4uYy1sYW5ndWFnZV9fbGluazpob3ZlciB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZWRmZjtcbn1cblxuLmMtbGFuZ3VhZ2VfX2Fycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAzO1xuICByaWdodDogMTJweDtcbiAgdG9wOiAxNnB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYy1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLW5hdl9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYy1uYXZfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMSAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uYy1uYXZfX2l0ZW0gKyAuYy1uYXZfX2l0ZW0ge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbn1cblxuLmMtbmF2X19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uaXMtYWN0aXZlIC5jLW5hdl9fbGluayB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmMtbmF2X19pY29uIHtcbiAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgY29sb3I6ICMzMjhkZmM7XG59XG5cbi5jLW5hdl9fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEV4dHJhIE1RIGZvciB0d2Vha2luZyBzb21lIHNwYWNpbmcgd2hlbiBlbm91Z2ggcm9vbSBpcyBhdmFpbGFibGVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMzJweCkge1xuICAuYy1uYXZfX2xpc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcbiAgfVxuXG4gIC5jLW5hdl9fYWN0aW9ucyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cbi5jLW9wdGlvbnMtbWVudSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtb3B0aW9ucy1tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1vcHRpb25zLW1lbnVfX3NlZ21lbnQgKyAuYy1vcHRpb25zLW1lbnVfX3NlZ21lbnQge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cbn1cblxuLmMtb3B0aW9ucy1tZW51X19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogI2FjYjRiZjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLW9wdGlvbnMtbWVudV9fc2VnbWVudDpsYXN0LWNoaWxkIC5jLW9wdGlvbnMtbWVudV9fbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi5jLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHJnYmEoMTg1LCAxOTgsIDIxNiwgMC41KTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fbGluayB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogOHB4O1xuICBjb2xvcjogcmdiYSg3MSwgOTQsIDEyOCwgMC41KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4uYy1wYWdpbmF0aW9uX19saW5rOmxpbms6aG92ZXIge1xuICBjb2xvcjogIzM4NGE2NjtcbiAgYmFja2dyb3VuZDogI2Y3ZjlmYjtcbn1cbi5jLXBhZ2luYXRpb25fX2xpbmsuaXMtYWN0aXZlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMzI4ZGZjO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYsXG4uYy1wYWdpbmF0aW9uX19uZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICBwYWRkaW5nOiA4cHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbn1cblxuLmMtcHJvamVjdG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXByb2plY3Rvcl9fZmlndXJlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uYy1wcm9qZWN0b3JfX3BpY3R1cmUge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjlmYjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xufVxuLmMtcHJvamVjdG9yX19waWN0dXJlLmlzLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jLXByb2plY3Rvcl9faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1wcm9qZWN0b3JfX2ltZyB7XG4gICAgbWF4LWhlaWdodDogNzh2aDtcbiAgfVxufVxuXG4uYy1wcm9qZWN0b3JfX2NvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtcHJvamVjdG9yX19idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiA1cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiAjMzI4ZGZjO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U5ZWJmNTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXIsIGJveC1zaGFkb3c7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjVzO1xuICBvdXRsaW5lOiBub25lO1xufVxuLmMtcHJvamVjdG9yX19idXR0b246aG92ZXIge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjhkZmM7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jLXByb2plY3Rvcl9fYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzYwZDA7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5jLXByb2plY3Rvcl9fYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAxcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLmMtcHJvamVjdG9yX19idXR0b24ucHJldmlvdXMge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cblxuLmMtcHJvamVjdG9yX19hcnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5jLXJhdGluZyB7XG4gIGJveC1zaGFkb3c6IDAgMjBweCAzMHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA1NTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi5jLXJhdGluZ19fbGluayB7XG4gIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzg1OTJhNjtcbn1cblxuLmMtcmF0aW5nX19zdGFycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi10b3A6IC0xNnB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2ltYWdlIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE3NnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTM5cHgpIHtcbiAgLmMtc2VydmljZXBvaW50X19pbWFnZSB7XG4gICAgd2lkdGg6IDk2cHg7XG4gIH1cbn1cblxuLmMtc2VydmljZXBvaW50X19jb250ZW50IHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvIDFmcjtcbiAgZmxleC1ncm93OiA5OTk5O1xuICBtaW4td2lkdGg6IDE4MHB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRlciB7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBlbmQ7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fYm9keSB7XG4gIGdyaWQtcm93OiAyO1xuICBtYXJnaW46IDhweCAwO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2Zvb3RlciB7XG4gIGdyaWQtcm93OiAzO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMzg0YTY2O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMzODRhNjY7XG59XG5cbi5jLXNoYXJlX19saXN0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLXNoYXJlX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLXNoYXJlX19pdGVtICsgLmMtc2hhcmVfX2l0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiA0dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLXNoYXJlX19pdGVtICsgLmMtc2hhcmVfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmhvdmVyOm5vdCguaXMtYWN0aXZlKSwgLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b246Zm9jdXM6bm90KC5pcy1hY3RpdmUpIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b246YmVmb3JlLCAuYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpiZWZvcmUge1xuICB0b3A6IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIHJpZ2h0OiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICBib3R0b206IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIGxlZnQ6IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b246YWZ0ZXIge1xuICB0b3A6IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICByaWdodDogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIGJvdHRvbTogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIGxlZnQ6IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuICBvcGFjaXR5OiAwO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24uaXMtYWN0aXZlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjdkZTg7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24uaXMtYWN0aXZlOmFmdGVyIHtcbiAgb3BhY2l0eTogMC45O1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b246Zm9jdXMge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpmb2N1czpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzI2N2RlOCwgMCAwIDEwcHggMXB4IHdoaXRlO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b246Zm9jdXM6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzI2N2RlOCwgMCAwIDEwcHggMXB4IHdoaXRlO1xufVxuXG4uYy1zdGFyIHtcbiAgcGFkZGluZzogMCAycHg7XG4gIGNvbG9yOiAjZTllYmY1O1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmMtc3Rhci0tZnVsbCB7XG4gIGNvbG9yOiAjYmRlMWZmO1xufVxuXG4uYy1zdGFyLS1oYWxmIHtcbiAgY29sb3I6ICNlOWViZjU7XG59XG4uYy1zdGFyLS1oYWxmIC5oYWxmLXN0YXIge1xuICBmaWxsOiAjYmRlMWZmO1xufVxuXG4vKipcbiAqIFdoZW4gd2UgbmVlZCBhbiBhbmltYXRpb24gd2UgY2FuIHVzZSB0aGUgZm9sbG93aW5nIGFzIGEgYmFzaXNcbiAqL1xuLmMtc3dpdGNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1zd2l0Y2hfX2lucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jLXN3aXRjaF9fbGFiZWwge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogI2U5ZWJmNTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDEsIDAuNSwgMSk7XG59XG4uYy1zd2l0Y2hfX2xhYmVsOjpiZWZvcmUsIC5jLXN3aXRjaF9fbGFiZWw6OmFmdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nOiA5cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbn1cbi5jLXN3aXRjaF9fbGFiZWw6OmJlZm9yZSB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBjb250ZW50OiBhdHRyKGRhdGEtY2hlY2tlZCk7XG59XG4uYy1zd2l0Y2hfX2lucHV0OmNoZWNrZWQgfiAuYy1zd2l0Y2hfX2xhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogcmdiYSg1NiwgNzQsIDEwMiwgMC40KTtcbn1cbi5jLXN3aXRjaF9fbGFiZWw6OmFmdGVyIHtcbiAgZ3JpZC1jb2x1bW46IDI7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS11bmNoZWNrZWQpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuLmMtc3dpdGNoX19pbnB1dDpjaGVja2VkIH4gLmMtc3dpdGNoX19sYWJlbDo6YWZ0ZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLmMtc3dpdGNoX19pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNTAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMzI4ZGZjLCAjMDBhN2Y5KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjIzLCAwLjE4LCAwLjMsIDEpO1xufVxuLmMtc3dpdGNoX19pbmRpY2F0b3I6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsICNhMDJkMDkgMTAlLCAjREU0MzEzIDEwMCUpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzIGN1YmljLWJlemllcigwLjIzLCAwLjE4LCAwLjMsIDEpO1xufVxuLmMtc3dpdGNoX19pbnB1dDpjaGVja2VkIH4gLmMtc3dpdGNoX19sYWJlbCAuYy1zd2l0Y2hfX2luZGljYXRvciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDElKTtcbn1cbi5jLXN3aXRjaF9faW5wdXQ6Y2hlY2tlZCB+IC5jLXN3aXRjaF9fbGFiZWwgLmMtc3dpdGNoX19pbmRpY2F0b3I6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGV4dCBidXR0b25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvbG9yIGdldHMgaW5oZXJpdGVkIGFuZCB1c2VkIGZvciBuZXN0ZWQgZWxlbWVudHMgd2l0aCAnY3VycmVudENvbG9yJyBwcm9wZXJ0eVxuICogMi4gUmVzZXQgZGVmYXVsdCBidXR0b24gc3R5bGluZ1xuICovXG4uYy10ZXh0LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzMyOGRmYztcbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG4uYy10ZXh0LWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGNvbG9yOiAjMDM1MmIzO1xufVxuLmMtdGV4dC1idXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5jLXRleHQtYnV0dG9uX190ZXh0IHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtdGV4dC1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTJweDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy10ZXh0LWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy10ZXh0LWJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xufVxuLmMtdGV4dC1idXR0b24tLWljb24gLmMtdGV4dC1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtdGV4dC1idXR0b24tLXNtYWxsIC5jLXRleHQtYnV0dG9uX190ZXh0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5jLXRleHQtYnV0dG9uLS1zbWFsbCAuYy10ZXh0LWJ1dHRvbl9faWNvbiBzdmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjcpO1xufVxuXG4uYy10aHVtYm5haWxfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtdGh1bWJuYWlsX19mcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA2Ni42NyU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLXRodW1ibmFpbF9fZnJhbWUuaGFzLWhvdmVyLWVmZmVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLXRodW1ibmFpbF9fZnJhbWUuaGFzLWhvdmVyLWVmZmVjdDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2JhKDUwLCAxNDEsIDI1MiwgMC4yKSwgcmdiYSg1MCwgMTQxLCAyNTIsIDAuNikpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xufVxuLmMtdGh1bWJuYWlsX19saW5rOmhvdmVyIC5jLXRodW1ibmFpbF9fZnJhbWUuaGFzLWhvdmVyLWVmZmVjdDo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYy10aHVtYm5haWxfX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWViZjU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbn1cbi5jLXRodW1ibmFpbF9fZnJhbWUuaGFzLWhvdmVyLWVmZmVjdCAuYy10aHVtYm5haWxfX2ltYWdlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG59XG4uYy10aHVtYm5haWxfX2xpbmsuaGFzLWhvdmVyOmhvdmVyIC5jLXRodW1ibmFpbF9faW1hZ2Uge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xuICBmaWx0ZXI6IHNhdHVyYXRlKDAlKTtcbn1cblxuLmMtdGh1bWJuYWlsX19jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmMtdGh1bWJuYWlsX19jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzM4NGE2NjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXM7XG59XG5cbi5jLXRodW1ibmFpbF9fYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLyoqXG4gKiBNb2RpZmllciBvZiB0aGUgdGh1bWJuYWlsIHdoZXJlIHRoZSBmaWd1cmUgZ2V0cyBhIGxpdHRsZSBleHRyYSBzdHlsaW5nXG4gKi9cbi5jLXRodW1ibmFpbC0tcG9wIC5jLXRodW1ibmFpbF9fZnJhbWUge1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiAwIDIwcHggMzBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYy10aHVtYm5haWwtLXBvcCAuYy10aHVtYm5haWxfX2NvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4uYy10aHVtYm5haWxfX2xpbmtbaHJlZl06aG92ZXIgLmMtdGh1bWJuYWlsX19jYXB0aW9uIHtcbiAgY29sb3I6ICMzMjhkZmM7XG59XG5cbi5jLXRyYWRlbWFyayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBjb2xvcjogIzY2YmRmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbn1cbi5jLXRyYWRlbWFyazpob3ZlciB7XG4gIGNvbG9yOiAjYmRlMWZmO1xufVxuLmMtdHJhZGVtYXJrOmhvdmVyIC5rb21tYS1lbWJsZW0ge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMnB4IDEycHg7XG4gIGFuaW1hdGlvbjogbG9nby1zcGluIDEuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uYy10cmFkZW1hcmtfX3RleHQge1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbn1cblxuQGtleWZyYW1lcyBsb2dvLXNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTtcbiAgfVxufVxuLmMtdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uYy12aWRlb19fcGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1My42JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWJmNTtcbn1cblxuLmMtdmlkZW9fX2lmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucGFnZVRyYW5zaXRpb25PdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xNyU7XG4gIHdpZHRoOiAxMzQlO1xuICBoZWlnaHQ6IDEyMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICB6LWluZGV4OiA5OTk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMjAlKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG59XG4ucGFnZVRyYW5zaXRpb25PdmVybGF5LmRvd24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cbi5wYWdlVHJhbnNpdGlvbk92ZXJsYXkuZG9uZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEyMCUpO1xufVxuXG4uYy10cmFkZW1hcmtfX3RleHQge1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbn1cblxuLyogIDYgLSBPUkdBTklTTVNcbiAqICBMYXJnZSBibG9ja3MgY29tcG9zZWQgb2YgbXVsdGlwbGUgY29tcG9uZW50cy5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBPcmdhbmlzbXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDk2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1ibG9jayArIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDk2cHg7XG4gIH1cbn1cblxuLm8tY29udGFjdF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm8tY29udGFjdF9faW5mb3JtYXRpb24gPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDEuNWVtO1xufVxuXG4uby1jb250YWN0X19idXNpbmVzcyB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tdG9wOiAyZW07XG4gIHBhZGRpbmctdG9wOiAyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllYmY1O1xufVxuXG4uby1jb250YWN0X19vZmZpY2VzIHtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCkge1xuICAuby1jb250YWN0X19vZmZpY2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOTlweCkge1xuICAuby1jb250YWN0X19vZmZpY2Uge1xuICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCkge1xuICAuby1jb250YWN0X19vZmZpY2Uge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICB9XG59XG4uby1jb250YWN0X19vZmZpY2UgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLm8tY29udGFjdF9fY29tbWVyY2lhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uby1jb250YWN0X19jb21tZXJjaWFsIGR0IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2lkdGg6IDEwMHB4O1xufVxuLm8tY29udGFjdF9fY29tbWVyY2lhbCBkZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG59XG5cbi5vLWNvb2tpZS1iYXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2N2RlODtcbiAgb3BhY2l0eTogMTtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB0cmFuc2Zvcm0gMC42cztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi5vLWNvb2tpZS1iYXIuaXMtYWNjZXB0ZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm8tY29va2llLWJhci5pcy10cmFuc2l0aW9uaW5nLW91dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAlLCAwKTtcbn1cblxuLm8tY29va2llLWJhcl9fbWFpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uby1jb29raWUtYmFyX190ZXh0IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLm8tY29va2llLWJhcl9fbGluayB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5vLWNvb2tpZS1iYXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbn1cblxuLm8tY29va2llLWJhcl9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgcGFkZGluZzogNXB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NmJkZmY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG59XG4uby1jb29raWUtYmFyX19idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMiwgMTg5LCAyNTUsIDAuNSk7XG59XG5cbi5vLWZvb3RlciB7XG4gIHotaW5kZXg6IDIwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmOWZiO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzO1xufVxuLmlzLWNvb2tpZS1iYXItdmlzaWJsZSAuby1mb290ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbn1cblxuLm8tZm9vdGVyX19tYWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNnZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDV2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMy41NzE0Mjg1NzE0dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDMuNTcxNDI4NTcxNHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX2NvbHVtbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm8tZm9vdGVyX19icmFuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjk2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWZvb3Rlcl9fYnJhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuM3Z3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tZm9vdGVyX19icmFuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4zNTcxNDI4NTcxdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMS42OHB4O1xuICB9XG59XG4uby1mb290ZXJfX2JyYW5kOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uby1mb290ZXJfX2xvZ28ge1xuICB3aWR0aDogMTUycHg7XG59XG5cbi5vLWZvb3Rlcl9faW5mbyA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9faW5mbyB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWZvb3Rlcl9faW5mbyB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWZvb3Rlcl9fbmF2IHtcbiAgICBtYXJnaW4tdG9wOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9fbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogMTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZm9vdGVyX19uYXYge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLWZvb3Rlcl9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLm8tZm9vdGVyX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xufVxuLm8tZm9vdGVyX19saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgbGVmdDogLTEwcHg7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKSBza2V3KDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcbn1cbi5vLWZvb3Rlcl9fbGluazpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgc2tldygtMzdkZWcpO1xufVxuLm8tZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzMyOGRmYztcbn1cblxuLm8tZm9vdGVyX19zb2NpYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDMycHggMCAwO1xufVxuXG4uby1mb290ZXJfX2NoYW5uZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xufVxuXG4uby1mb290ZXJfX2ljb24ge1xuICBmbGV4OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG59XG4uby1mb290ZXJfX2ljb246aG92ZXIge1xuICBvcGFjaXR5OiAwLjU7XG59XG4uby1mb290ZXJfX2ljb246Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjMzI4ZGZjO1xufVxuXG4vKipcbiAqIE5PVEU6XG4gKiBUbyBwcmV2ZW50IHRoZSBob25leSBwb3QgZnJvbSB3b3JraW5nXG4gKiB0aGUgby1mb3JtIGNhbid0IGhhdmUgYSBwb3NpdGlvbiBwcm9wZXJ0eS5cbiAqXG4gKlxuICogTWluLXdpZHRoIGZvciBlbGVtZW50c1xuICogVXNlZCBmb3IgYXV0b21hdGljIHdyYXBwaW5nIG9mIHJvd3NcbiAqL1xuLm8tZm9ybV9fdGl0bGUge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLm8tZm9ybV9fcm93ICsgLm8tZm9ybV9fcm93IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLm8tZm9ybV9fcm93LS1zcGxpdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xufVxuLm8tZm9ybV9fcm93LS1zcGxpdCA+ICoge1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtYmFzaXM6IDIyNXB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5vLWZvcm1fX3N1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG5cbi5vLWhlYWRlciB7XG4gIHotaW5kZXg6IDUwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDMycHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2N2RlODtcbn1cbi5vLWhlYWRlci5pcy1zdGlja3kge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDUwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIGJveC1zaGFkb3c6IDAgLTVweCAzMHB4IGJsYWNrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMzAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuLmlzLXN0aWNreS1oZWFkZXItdmlzaWJsZSAuby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cblxuLm8taGVhZGVyX19tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWhlYWRlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWhlYWRlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8taGVhZGVyX19uYXYge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm8taGVhZGVyX19sYW5ndWFnZSB7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuXG4uby1oZWFkZXJfX2xvZ28ge1xuICBmbGV4OiBub25lO1xufVxuLm8taGVhZGVyX19sb2dvOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgb3V0bGluZS1jb2xvcjogIzMyOGRmYztcbn1cblxuLm8taGVhZGVyX19pbWcge1xuICBtYXgtaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTAwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuby1oZWFkZXJfX3RvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1vdGhlci1tb2RlbHMge1xuICBwYWRkaW5nOiA4NXB4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NTBweCkge1xuICAuby1vdGhlci1tb2RlbHMge1xuICAgIHBhZGRpbmc6IDE3MHB4IDA7XG4gIH1cbn1cblxuLm8tb3RoZXItbW9kZWxzX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5vLW90aGVyLW1vZGVsc19fZ3JpZCA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1MHB4KSB7XG4gIC5vLW90aGVyLW1vZGVsc19fZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm8tb3RoZXItbW9kZWxzX19ncmlkID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NTBweCkge1xuICAuby1vdGhlci1tb2RlbHNfX2dyaWQgPiAqICsgKiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTBweCkge1xuICAuby1vdGhlci1tb2RlbHNfX2dyaWQgPiAqICsgKiB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLm8tb3RoZXItbW9kZWxzX19pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDI1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NDlweCkge1xuICAuby1vdGhlci1tb2RlbHNfX2l0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUwcHgpIHtcbiAgLm8tb3RoZXItbW9kZWxzX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNjBweCkgLyAzKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk1MHB4KSB7XG4gIC5vLW90aGVyLW1vZGVsc19faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxMDBweCkgLyAzKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MHB4KSB7XG4gIC5vLW90aGVyLW1vZGVsc19faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxNjBweCkgLyAzKTtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnUge1xuICB6LWluZGV4OiAxMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY3ZGU4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDBweCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXMsIDQwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnUge1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4uaWUgLm8tb3ZlcmxheS1tZW51IHtcbiAgei1pbmRleDogLTE7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuaWUgLm8tb3ZlcmxheS1tZW51IHtcbiAgei1pbmRleDogMTAwO1xufVxuLm8tb3ZlcmxheS1tZW51OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMTIwdnc7XG4gIHdpZHRoOiAxMjB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogNDAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuXG4uby1vdmVybGF5LW1lbnVfX2JhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1vdmVybGF5LW1lbnVfX2JhciB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLW92ZXJsYXktbWVudV9fYmFyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX2ltZyB7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm8tb3ZlcmxheS1tZW51X190b2dnbGUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC41dHVybik7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX3RvZ2dsZSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19uYXYge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1vdmVybGF5LW1lbnVfX25hdiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLW92ZXJsYXktbWVudV9fbmF2IHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX2xpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19saW5rIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMC43O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGxpbmVhcjtcbn1cbi5vLW92ZXJsYXktbWVudV9fbGluazpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICBvdXRsaW5lLWNvbG9yOiB3aGl0ZTtcbn1cbi5vLW92ZXJsYXktbWVudV9fbGluay5pcy1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5vLXN0b3JpZXNfX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEyLjUlO1xufVxuXG4uby1zdG9yaWVzX19mb290ZXIge1xuICBtYXJnaW4tdG9wOiA4LjMzMyU7XG59XG5cbi8qKlxuICogU3ViZm9vdGVyXG4gKi9cbi5vLXN1YmZvb3RlciB7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogIzY2YmRmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2N2RlODtcbn1cblxuLm8tc3ViZm9vdGVyX19tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIHBhZGRpbmc6IDE1cHggMDtcbn1cblxuLm8tc3ViZm9vdGVyX19jb3B5cmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgcGFkZGluZzogMTVweCAwO1xufVxuXG4uby1zdWJmb290ZXJfX3RyYWRlbWFyayB7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgcGFkZGluZzogMTVweCAwO1xufVxuXG4uby1zdWJmb290ZXJfX2xhbmd1YWdlIHtcbiAgZmxleC1iYXNpczogMjEwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nOiAxNXB4IDA7XG59XG5cbi8qICA3IC0gVGVtcGxhdGVzXG4gKiAgT3ZlcnJpZGUgc3R5bGluZyBmb3IgYSBzcGVjaWZpYyB0ZW1wbGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRlbXBsYXRlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uby1zaG9wcGluZ2NhcnRfX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm8tc2hvcHBpbmdjYXJ0IHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmc6IDAgMzBweDtcbn1cbi5vLXNob3BwaW5nY2FydF9fbGlzdCBkaXYucmVtYXJrcy1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMnB4IDJweCAxNXB4IDVweCByZ2JhKDIyLCA1NywgOTUsIDAuMDUpO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBwYWRkaW5nOiAzMHB4O1xufVxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IGRpdi5yZW1hcmtzLWJveCBoNCB7XG4gIGNvbG9yOiAjMzIzMjMyO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uby1zaG9wcGluZ2NhcnRfX2xpc3QgZGl2LnJlbWFya3MtYm94IGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDNweDtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTFlMztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbn1cbi5vLXNob3BwaW5nY2FydF9fbGlzdCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDJweCAycHggMTVweCA1cHggcmdiYSgyMiwgNTcsIDk1LCAwLjA1KTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5vLXNob3BwaW5nY2FydF9fbGlzdCB1bCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAzMHB4IDUwcHggMjBweCAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMWUzO1xufVxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IHVsIGxpICsgbGkge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IHVsIGxpIC5jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGNvbG9yOiAjZjk1ZDVkO1xuICBsaW5lLWhlaWdodDogMC40O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDIycHg7XG59XG4uby1zaG9wcGluZ2NhcnRfX2xpc3QgdWwgbGkgLmxlZnQsIC5vLXNob3BwaW5nY2FydF9fbGlzdCB1bCBsaSAucmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uby1zaG9wcGluZ2NhcnRfX2xpc3QgdWwgbGkgLmxlZnQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IHVsIGxpIC5sZWZ0IHAge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzg3OTFhMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMjNweDtcbn1cbi5vLXNob3BwaW5nY2FydF9fbGlzdCB1bCBsaSAubGVmdCBwIGxhYmVsIHtcbiAgY29sb3I6ICMyZDMyM2M7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IHVsIGxpIC5sZWZ0IGgzIHtcbiAgY29sb3I6ICMzYzQxNGI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uby1zaG9wcGluZ2NhcnRfX2xpc3QgdWwgbGkgLmxlZnQgaDMgYSB7XG4gIGNvbG9yOiBibHVlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uby1zaG9wcGluZ2NhcnRfX2xpc3QgdWwgbGkgLnJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGNvbG9yOiAjM2M0MTRiO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDI1MHB4O1xufVxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IHVsIGxpIC5yaWdodCAub3JkZXItYm94IHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5vLXNob3BwaW5nY2FydF9fbGlzdCB1bCBsaSAucmlnaHQgLm9yZGVyLWJveCAuYW1vdW50LWxhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IHVsIGxpIC5yaWdodCAub3JkZXItYm94IC5hbW91bnQtYm94IHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IHVsIGxpIC5yaWdodCAub3JkZXItYm94IC5hbW91bnQtYm94IC5hbW91bnQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHdpZHRoOiA1MHB4O1xufVxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IHVsIGxpIC5yaWdodCAub3JkZXItYm94IC5hbW91bnQtYm94IC5pbmNyZWFzZSxcbi5vLXNob3BwaW5nY2FydF9fbGlzdCB1bCBsaSAucmlnaHQgLm9yZGVyLWJveCAuYW1vdW50LWJveCAuZGVjcmVhc2Uge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2IzYjM7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uby1zaG9wcGluZ2NhcnRfX2xpc3QgdWwgbGkgLnJpZ2h0IC5wcmljZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cbi5vLXNob3BwaW5nY2FydF9fbGlzdCB1bCBsaSAucmlnaHQgLnByaWNlIHAge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IHVsIGxpIC5yaWdodCAucHJpY2UgcC5wbGFpbiB7XG4gIGNvbG9yOiAjNjc3MTdhO1xufVxuLm8tc2hvcHBpbmdjYXJ0X19saXN0IC5kZXZCdXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm8tc2hvcHBpbmdDYXJ0X19vdmVydmlldyB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm8tc2hvcHBpbmdDYXJ0X19vdmVydmlldyAuYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZzogMzBweDtcbn1cbi5vLXNob3BwaW5nQ2FydF9fb3ZlcnZpZXcgLmJveCBoMyB7XG4gIGNvbG9yOiAjNjk2ZTczO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLm8tc2hvcHBpbmdDYXJ0X19vdmVydmlldyAuYm94IHAge1xuICBjb2xvcjogIzY3NzE3YTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5vLXNob3BwaW5nQ2FydF9fb3ZlcnZpZXcgLmJveCBwIGIge1xuICBjb2xvcjogIzMyMzIzMjtcbn1cbi5vLXNob3BwaW5nQ2FydF9fb3ZlcnZpZXcgLmJveC5vcmRlci1vdmVydmlldyBoNSB7XG4gIGNvbG9yOiAjNjk2ZTc4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLm8tc2hvcHBpbmdDYXJ0X19vdmVydmlldyAuYm94Lm9yZGVyLW92ZXJ2aWV3IGg1IHNwYW4ge1xuICBjb2xvcjogYmx1ZTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMzJweDtcbn1cbi5vLXNob3BwaW5nQ2FydF9fb3ZlcnZpZXcgLmJveC5vcmRlci1vdmVydmlldyBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nOiA1cHggMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2YmRmZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmlucHV0LmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zaG9wQnV0dG9ucyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnNob3BCdXR0b25zIGEuYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG59XG4uc2hvcEJ1dHRvbnMgZm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmRlbGV0ZS1tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5O1xuICBib3JkZXI6IHNvbGlkIDFweCByZWQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmRlbGV0ZS1tb2RhbCAubW9kYWwtYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuLmRlbGV0ZS1tb2RhbCAubW9kYWwtYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0MDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzMHB4O1xuICBib3gtc2hhZG93OiAycHggMnB4IDE1cHggNXB4IHJnYmEoMjIsIDU3LCA5NSwgMC4yKTtcbn1cbi5kZWxldGUtbW9kYWwgLm1vZGFsLWJveCBoMyB7XG4gIGNvbG9yOiBibHVlO1xuICBtYXJnaW46IDA7XG59XG4uZGVsZXRlLW1vZGFsIC5tb2RhbC1ib3ggLmNsb3NlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRvcDogMjVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgY29sb3I6IGdyZXk7XG4gIGxpbmUtaGVpZ2h0OiAwLjQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cbi5kZWxldGUtbW9kYWwgLm1vZGFsLWJveCBwIHtcbiAgY29sb3I6IGdyZXk7XG59XG4uZGVsZXRlLW1vZGFsIC5tb2RhbC1ib3ggLmJ1dHRvbnMge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLmRlbGV0ZS1tb2RhbCAubW9kYWwtYm94IC5idXR0b25zIGEuYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5kZWxldGUtbW9kYWwgLm1vZGFsLWJveCAuYnV0dG9ucyBhLmJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLmRlbGV0ZS1tb2RhbCAubW9kYWwtYm94IC5idXR0b25zIGEuYnV0dG9uLmJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xufVxuLmRlbGV0ZS1tb2RhbCAubW9kYWwtYm94IC5idXR0b25zIGEuYnV0dG9uLnllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHllbGxvdztcbn1cbi5kZWxldGUtbW9kYWwgLm1vZGFsLWJveCAuYnV0dG9ucyBhLmJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuc2hvcHBpbmdDYXJ0Q29udGVudCBkaXYuc2hvcHBpbmdjYXJ0SXRlbUxpc3QsXG4uc2hvcHBpbmdDYXJ0Q29udGVudCAuc2hvcHBpbmdDYXJ0SW5mb0JhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuc2hvcHBpbmdDYXJ0Q29udGVudCBkaXYuc2hvcHBpbmdjYXJ0LWhlYWRlciBoMSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnNob3BwaW5nQ2FydENvbnRlbnQgZGl2LnNob3BwaW5nY2FydC1oZWFkZXIgYS5idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnNob3BwaW5nQ2FydENvbnRlbnQgLnNob3BCdXR0b25zIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gIC5zaG9wcGluZ0NhcnRDb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5zaG9wcGluZ0NhcnRDb250ZW50IGRpdi5zaG9wcGluZ2NhcnQtaGVhZGVyLFxuLnNob3BwaW5nQ2FydENvbnRlbnQgZGl2LnNob3BwaW5nY2FydEl0ZW1MaXN0IHAge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgfVxuICAuc2hvcHBpbmdDYXJ0Q29udGVudCAuc2hvcEJ1dHRvbnMge1xuICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgfVxuICAuc2hvcHBpbmdDYXJ0Q29udGVudCAuc2hvcHBpbmdDYXJ0SW5mb0JhciAuYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLnNob3BwaW5nQ2FydENvbnRlbnQgLnNob3BwaW5nQ2FydEluZm9CYXIgLmJveC5vcmRlci1vdmVydmlldyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUxZTM7XG4gIH1cbn1cbi5vLWNoZWNrb3V0IHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuLm8tY2hlY2tvdXRfX29yZGVyLWRldGFpbHMge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5vLWNoZWNrb3V0X19vcmRlci1kZXRhaWxzIHRhYmxlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uby1jaGVja291dF9fcmVtYXJrcyB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4uby1jaGVja291dF9fcmVtYXJrcyB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuaW52b2ljZSxcbi5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuc2hpcHBpbmcge1xuICB3aWR0aDogNDcuNSU7XG59XG4uby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcgLmludm9pY2UgaDMsXG4uby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcgLnNoaXBwaW5nIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuaW52b2ljZSAuYy1mb3JtLWVsZW1lbnQsXG4uby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcgLnNoaXBwaW5nIC5jLWZvcm0tZWxlbWVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDQ1JTtcbn1cbi5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuaW52b2ljZSAuYy1mb3JtLWVsZW1lbnQgbGFiZWwsXG4uby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcgLnNoaXBwaW5nIC5jLWZvcm0tZWxlbWVudCBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm8tY2hlY2tvdXRfX2ludm9pY2UtYW5kLXNoaXBwaW5nIC5pbnZvaWNlIC5jLWZvcm0tZWxlbWVudCBpbnB1dCxcbi5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuc2hpcHBpbmcgLmMtZm9ybS1lbGVtZW50IGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcgLmludm9pY2UgLmMtZm9ybS1lbGVtZW50IGlucHV0OmZvY3VzLFxuLm8tY2hlY2tvdXRfX2ludm9pY2UtYW5kLXNoaXBwaW5nIC5zaGlwcGluZyAuYy1mb3JtLWVsZW1lbnQgaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLm8tY2hlY2tvdXRfX2ludm9pY2UtYW5kLXNoaXBwaW5nIC5pbnZvaWNlIC5jLWZvcm0tZWxlbWVudC5zdHJlZXQsIC5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuaW52b2ljZSAuYy1mb3JtLWVsZW1lbnQuY2l0eSxcbi5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuc2hpcHBpbmcgLmMtZm9ybS1lbGVtZW50LnN0cmVldCxcbi5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuc2hpcHBpbmcgLmMtZm9ybS1lbGVtZW50LmNpdHkge1xuICB3aWR0aDogNzAlO1xufVxuLm8tY2hlY2tvdXRfX2ludm9pY2UtYW5kLXNoaXBwaW5nIC5pbnZvaWNlIC5jLWZvcm0tZWxlbWVudC5zdHJlZXQsIC5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuaW52b2ljZSAuYy1mb3JtLWVsZW1lbnQucG9zdGFsX2NvZGUsIC5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuaW52b2ljZSAuYy1mb3JtLWVsZW1lbnQucGhvbmUsXG4uby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcgLnNoaXBwaW5nIC5jLWZvcm0tZWxlbWVudC5zdHJlZXQsXG4uby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcgLnNoaXBwaW5nIC5jLWZvcm0tZWxlbWVudC5wb3N0YWxfY29kZSxcbi5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuc2hpcHBpbmcgLmMtZm9ybS1lbGVtZW50LnBob25lIHtcbiAgbWFyZ2luLXJpZ2h0OiA1JTtcbn1cbi5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuaW52b2ljZSAuYy1mb3JtLWVsZW1lbnQuaG91c2VfbnVtYmVyLCAuby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcgLmludm9pY2UgLmMtZm9ybS1lbGVtZW50LnBvc3RhbF9jb2RlLFxuLm8tY2hlY2tvdXRfX2ludm9pY2UtYW5kLXNoaXBwaW5nIC5zaGlwcGluZyAuYy1mb3JtLWVsZW1lbnQuaG91c2VfbnVtYmVyLFxuLm8tY2hlY2tvdXRfX2ludm9pY2UtYW5kLXNoaXBwaW5nIC5zaGlwcGluZyAuYy1mb3JtLWVsZW1lbnQucG9zdGFsX2NvZGUge1xuICB3aWR0aDogMjAlO1xufVxuLm8tY2hlY2tvdXRfX2ludm9pY2UtYW5kLXNoaXBwaW5nIC5zaGlwcGluZyB7XG4gIG1hcmdpbi1sZWZ0OiA1JTtcbn1cbi5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyAuaW52b2ljZV9hZGRyZXNzX2Zvcm0sXG4uby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcgLnNoaXBwaW5nX2FkZHJlc3NfZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcgaW5wdXQjaW52b2ljZV9hZGRyZXNzXy0xOmNoZWNrZWQgfiAuaW52b2ljZV9hZGRyZXNzX2Zvcm0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5vLWNoZWNrb3V0X19pbnZvaWNlLWFuZC1zaGlwcGluZyBpbnB1dCNzaGlwcGluZ19hZGRyZXNzXy0xOmNoZWNrZWQgfiAuc2hpcHBpbmdfYWRkcmVzc19mb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vLWNoZWNrb3V0X190ZXJtcy1hbmQtc3VibWl0IHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLm8tY2hlY2tvdXRfX3Rlcm1zLWFuZC1zdWJtaXQgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgcGFkZGluZzogNXB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NmJkZmY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiAgOCAtIFNDT1BFU1xuICogIEVsZW1lbnRzIGFuZCBjbGFzc2VzIHRoYXQgYXJlIHNjb3BlZCBieSBhIHBhcmVudCBjbGFzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucy1jaGVja2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zLWNoZWNrbGlzdCA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLnMtY2hlY2tsaXN0IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG4ucy1jaGVja2xpc3QgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xufVxuLmNoZWNrbGlzdC1oYXMteC1zbWFsbC1mb250IC5zLWNoZWNrbGlzdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG59XG4uY2hlY2tsaXN0LWhhcy14LXNtYWxsLWZvbnQgLnMtY2hlY2tsaXN0IGxpOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbn1cblxuLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cbi5zLXRleHQgaDIsIC5zLXRleHQgaDMsIC5zLXRleHQgaDQge1xuICBjb2xvcjogIzM4NGE2Njtcbn1cbi5zLXRleHQgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG4ucy10ZXh0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnMtdGV4dCA+IHVsOm5vdChbY2xhc3NdKSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjEyNWVtO1xufVxuLnMtdGV4dCA+IHVsOm5vdChbY2xhc3NdKSA+IGxpOjpiZWZvcmUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgY29udGVudDogXCLigKJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00cHg7XG4gIGxlZnQ6IDA7XG59XG4ucy10ZXh0ID4gb2w6bm90KFtjbGFzc10pIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogb2wtY291bnRlcjtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkgPiBsaSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBvbC1jb3VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjhlbTtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihvbC1jb3VudGVyKSBcIi4gXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMS4yNzVlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qICA5IC0gVVRJTElUSUVTXG4gKiAgSGlnaC1zcGVjaWZpY2l0eSwgdmVyeSBleHBsaWNpdCBzZWxlY3RvcnMuXG4gKiAgT3ZlcnJpZGVzIGFuZCBoZWxwZXIgY2xhc3Nlcy5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSGVyZSB3ZSBwcmludCBvdXQgYWxsIG91ciBoZWxwZXIgY2xhc3NlcyBmb3Igb3VyIGRlZmluZWQgY29sb3JzXG4gKiBCYXNlZCBvbiB0aGVzZSBhcnRpY2xlczpcbiAqIC0gaHR0cDovL2Vyc2tpbmVkZXNpZ24uY29tL2Jsb2cvZnJpZW5kbGllci1jb2xvdXItbmFtZXMtc2Fzcy1tYXBzL1xuICogLSBodHRwczovL2Jsb2cuYXRlY2htZWRpYS5jb20vY3NzLWZvci1tdWx0aXBsZS10aGVtZXMvXG4gKiBPdXRwdXQgaXMgaW4gdGhlIGZvcm0gb2Y6XG5cbiAgIC51LWNvbG9yLXByaW1hcnkge1xuICAgICAgY29sb3I6ICNiYWRhNTU7XG4gICB9XG5cbiAgLnUtYmctbmV1dHJhbC0tZGFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlY2FmZjtcbiAgfVxuICovXG4udS1jb2xvci1wcmltYXJ5LS0xMDAge1xuICBjb2xvcjogI2Q0YzVmNDtcbn1cblxuLnUtYmctcHJpbWFyeS0tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0YzVmNDtcbn1cblxuLnUtY29sb3ItcHJpbWFyeS0tNDAwIHtcbiAgY29sb3I6ICM5YTc1ZTg7XG59XG5cbi51LWJnLXByaW1hcnktLTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5YTc1ZTg7XG59XG5cbi51LWNvbG9yLXByaW1hcnkge1xuICBjb2xvcjogIzY4MzZkZDtcbn1cblxuLnUtYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ODM2ZGQ7XG59XG5cbi51LWNvbG9yLXNlY29uZGFyeS0tMTAwIHtcbiAgY29sb3I6ICNiZGUxZmY7XG59XG5cbi51LWJnLXNlY29uZGFyeS0tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTFmZjtcbn1cblxuLnUtY29sb3Itc2Vjb25kYXJ5LS0zMDAge1xuICBjb2xvcjogIzY2YmRmZjtcbn1cblxuLnUtYmctc2Vjb25kYXJ5LS0zMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZiZGZmO1xufVxuXG4udS1jb2xvci1zZWNvbmRhcnkge1xuICBjb2xvcjogIzI2OWZmZjtcbn1cblxuLnUtYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2OWZmZjtcbn1cblxuLnUtY29sb3Itc2Vjb25kYXJ5LS03MDAge1xuICBjb2xvcjogIzI2N2RlODtcbn1cblxuLnUtYmctc2Vjb25kYXJ5LS03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY3ZGU4O1xufVxuXG4udS1jb2xvci1uZXV0cmFsIHtcbiAgY29sb3I6ICNmN2Y5ZmI7XG59XG5cbi51LWJnLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmOWZiO1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS0xMDAge1xuICBjb2xvcjogI2U5ZWJmNTtcbn1cblxuLnUtYmctbmV1dHJhbC0tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWJmNTtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMjAwIHtcbiAgY29sb3I6ICNjY2QyZGI7XG59XG5cbi51LWJnLW5ldXRyYWwtLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2QyZGI7XG59XG5cbi51LWNvbG9yLXRleHQge1xuICBjb2xvcjogIzM4NGE2Njtcbn1cblxuLnUtYmctdGV4dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODRhNjY7XG59XG5cbi51LWNvbG9yLXRleHQtLTQwMCB7XG4gIGNvbG9yOiAjNDc1RTgwO1xufVxuXG4udS1iZy10ZXh0LS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDc1RTgwO1xufVxuXG4udS1jb2xvci10ZXh0LS0zMDAge1xuICBjb2xvcjogIzZiN2M5Mztcbn1cblxuLnUtYmctdGV4dC0tMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZiN2M5Mztcbn1cblxuLnUtY29sb3ItdGV4dC0tMjAwIHtcbiAgY29sb3I6ICM4NTkyYTY7XG59XG5cbi51LWJnLXRleHQtLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NTkyYTY7XG59XG5cbi51LWNvbG9yLXRleHQtLTEwMCB7XG4gIGNvbG9yOiAjYWNiNGJmO1xufVxuXG4udS1iZy10ZXh0LS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWNiNGJmO1xufVxuXG4udS1jb2xvci1hY3Rpb24ge1xuICBjb2xvcjogIzMyOGRmYztcbn1cblxuLnUtYmctYWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyOGRmYztcbn1cblxuLnUtY29sb3ItYWxlcnQge1xuICBjb2xvcjogI2ZmODEwMDtcbn1cblxuLnUtYmctYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4MTAwO1xufVxuXG4udS1jb2xvci13YXJuaW5nLS0yMDAge1xuICBjb2xvcjogI2ZlZjVlMTtcbn1cblxuLnUtYmctd2FybmluZy0tMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZjVlMTtcbn1cblxuLnUtY29sb3Itd2FybmluZyB7XG4gIGNvbG9yOiAjZjhjZDZiO1xufVxuXG4udS1iZy13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4Y2Q2Yjtcbn1cblxuLnUtY29sb3Itd2FybmluZy0tNzAwIHtcbiAgY29sb3I6ICNkYTliMGM7XG59XG5cbi51LWJnLXdhcm5pbmctLTcwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYTliMGM7XG59XG5cbi51LWNvbG9yLW5lZ2F0aXZlIHtcbiAgY29sb3I6ICNjZjNlM2U7XG59XG5cbi51LWJnLW5lZ2F0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmM2UzZTtcbn1cblxuLnUtY29sb3ItcG9zaXRpdmUge1xuICBjb2xvcjogIzNlY2Y4ZTtcbn1cblxuLnUtYmctcG9zaXRpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2VjZjhlO1xufVxuXG4udS1jb2xvci1ib3gtc2hhZG93IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLnUtYmctYm94LXNoYWRvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLnUtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udS12aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCgxMDAlKTtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnUtb2JqZWN0LWNvdmVyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbi1hdXRvIHtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4udS10ZXh0LWFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLypcbiogSWYgeW91IG5lZWQgdG8gbWFrZSBhIHF1aWNrIGZpeCwgeW91IGNhbiBkbyBpdCBoZXJlLlxuKiBMYXRlciB3aGVuIHlvdSBoYXZlIHRoZSB0aW1lLCB5b3UgY2FuIG1vdmUgdGhlIGZpeCBpbnRvIHRoZSBjb3JyZWN0IHBsYWNlIGluIHRoZSBzdHJ1Y3R1cmVcbiovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGhpcyBncmlkIGNhbiBiZSB0dXJuZWQgb24gYW5kIG9mZiB3aGVuIHlvdSB3YW50IHRvIGNoZWNrXG4gKiBpZiBldmVyeXRoaW5nIGlzIG5pY2UgaW4gcGxhY2UuXG4gKiBTZXQgZmxhZyAnc2hvd0dyaWQnIHRvIHRydWUgaW4gc2l0ZS5waHBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udS12aXNpYmxlLWdyaWQge1xuICB6LWluZGV4OiAxMDAwMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC8qIDggcG9pbnQgZ3JpZCBsaW5lcyAqL1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNyksIHJnYmEoMCwgNDMsIDI1NSwgMC4wNykgMjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDI1JSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSA1MCUpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcbiAgICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpIDEyLjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDEyLjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDI1JSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAudS12aXNpYmxlLWdyaWRfX21haW4ge1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNyksIHJnYmEoMCwgNDMsIDI1NSwgMC4wNykgOC4zMzMzMzMzMzMzJSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSA4LjMzMzMzMzMzMzMlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDE2LjY2NjY2NjY2NjclKTtcbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb25maWcgc2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhlIGRlZmF1bHQgYm9yZGVyLXJhZGl1cyB2YWx1ZXMgdXNlZCBpbiB0aGUgYm9yZGVyIG1peGluXG5cbiRib3JkZXItcmFkaXVzOiAoXG4gIHM6IDRweCxcbiAgbTogOHB4LFxuICBsOiAxNnB4XG4pO1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb2x1bW4gc2V0dGluZ3NcblxuJHNpdGUtY29sdW1ucy1zOiA0O1xuJHNpdGUtY29sdW1ucy1tOiA4O1xuJHNpdGUtY29sdW1ucy1sOiAxMjtcbiRzaXRlLWNvbHVtbi1zaXplOiA5NjsgLy8gU2l6ZSBvZiBhIHNpbmdsZSBjb2x1bW4gd2hlbiB2aWV3cG9ydCBpcyBhdCBpdHMgbWF4IHdpZHRoICh1c2VkIGZvciBjYWxjdWxhdGluZyBtYXgtd2lkdGgpLlxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0aW9ucyB0aGF0IGFyZSBkb25lIHdpdGggc29tZSBvZiB0aGUgZ2l2ZW4gdmFsdWVzIGFib3ZlIHRoaXMgbGluZVxuXG4kc2l0ZS1tYXgtd2lkdGg6ICRzaXRlLWNvbHVtbi1zaXplICogJHNpdGUtY29sdW1ucy1sOyAvLyBNYWluIGNvbnRhaW5lciBtYXgtd2lkdGggKHdpdGhvdXQgZ3V0dGVyKVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBPdGhlciBzZXR0aW5nc1xuXG4kc2l0ZS1ndXR0ZXItd2lkdGg6IDZ2dzsgLy8gVXNlZCBvbmx5IGZvciBzbWFsbCBzY3JlZW5zLiBNdXN0IGJlIFt2d10gb3IgW3B4XSwgTk9UIFslXS5cbiRzaXRlLWNvb2tpZUJhci1oZWlnaHQ6IDY0cHg7IC8vIEZpeGVkIHNpemUgc28gd2UgY2FuIG9mZnNldCBwYWRkaW5nLWJvdHRvbSBvbiB0aGUgYm9keVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmaW5lIGJyZWFrcG9pbnRzIGZvciBnaXZlbiBmb3JtYXRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0IGJyZWFrcG9pbnRcbiRicmVha3BvaW50czogKFxuICBzOiAzODQsXG4gIG06IDg0MCxcbiAgbDogMTE1MlxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGUgdmlld3BvcnQgc2l6ZSB3aGVuIGNvbnRhaW5lciBjYW4ndCBncm93IGFueW1vcmVcbiRicC1tYXg6ICRzaXRlLW1heC13aWR0aCArICgoJHNpdGUtbWF4LXdpZHRoIC8gJHNpdGUtY29sdW1ucy1sKSAqIDIpOyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT3JnYW5pemUgY29sb3IgdmFyaWFibGVzIGluIGEgU2FzcyBNYXAuXG4gICBUaGlzIHdheSwgdGhlIGNvbG9ycyBjYW4gYmUgaXRlcmF0ZWQsIGFyZSBtb3JlIG9yZ2FuaXplZCxcbiAgIGFuZCBhcmUgbW9yZSBpbnR1aXRpdmUgdG8gcmVmZXJlbmNlLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRwYWxldHRlczogKFxuICAncHJpbWFyeSc6IChcbiAgICAxMDA6ICNkNGM1ZjQsXG4gICAgNDAwOiAjOWE3NWU4LFxuICAgIGJhc2U6ICM2ODM2ZGQsXG4gICksXG4gICdzZWNvbmRhcnknOiAoXG4gICAgMTAwOiAjYmRlMWZmLFxuICAgIDMwMDogIzY2YmRmZixcbiAgICBiYXNlOiAjMjY5ZmZmLFxuICAgIDcwMDogIzI2N2RlOCxcbiAgKSxcbiAgJ25ldXRyYWwnOiAoXG4gICAgYmFzZTogI2Y3ZjlmYixcbiAgICAxMDA6ICNlOWViZjUsXG4gICAgMjAwOiAjY2NkMmRiLFxuICApLFxuICAndGV4dCc6IChcbiAgICBiYXNlOiAjMzg0YTY2LFxuICAgIDQwMDogIzQ3NUU4MCxcbiAgICAzMDA6ICM2YjdjOTMsXG4gICAgMjAwOiAjODU5MmE2LFxuICAgIDEwMDogI2FjYjRiZixcbiAgKSxcbiAgLy8gRmVlZGJhY2sgY29sb3JzXG4gICdhY3Rpb24nOiAoXG4gICAgYmFzZTogIzMyOGRmYyxcbiAgKSxcbiAgJ2FsZXJ0JzogKFxuICAgIGJhc2U6ICNmZjgxMDAsXG4gICksXG4gICd3YXJuaW5nJzogKFxuICAgIDIwMDogI2ZlZjVlMSxcbiAgICBiYXNlOiAjZjhjZDZiLFxuICAgIDcwMDogI2RhOWIwYyxcbiAgKSxcbiAgJ25lZ2F0aXZlJzogKFxuICAgIGJhc2U6ICNjZjNlM2UsXG4gICksXG4gICdwb3NpdGl2ZSc6IChcbiAgICBiYXNlOiAjM2VjZjhlLFxuICApLFxuICAnYm94LXNoYWRvdyc6IChcbiAgICBiYXNlOiBoc2xhKDAsIDUwJSwgMCUsIDAuMilcbiAgKSxcbik7IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBEZWZpbmVzIHRoZSB0eXBvZ3JhcGhpYyBiYXNlbGluZS5cbiAqICBXZSBkZWZpbmUgZXZlcnkgc2l6ZSBpbiBwaXhlbHMsIHRoZSB1bmRlcmx5aW5nIHN5c3RlbSBjb252ZXJ0cyB0aGVcbiAqICByZXNwZWN0aXZlIHVuaXRzIHRvIHRoZSByZXNwb25zaXZlIFJFTSB2YWx1ZS5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogT3VyIGJhc2UgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICovXG4kYmFzZS1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xuJGJhc2UtbGluZS1oZWlnaHQ6IDI0ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXJhdGlvOiAkYmFzZS1saW5lLWhlaWdodC8kYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb250LXNpemVzOiAoXG4gICd4cyc6IChcbiAgICBmb250LXNpemU6IDE0LFxuICAgIGxpbmUtaGVpZ2h0OiAxNlxuICApLFxuICAncyc6IChcbiAgICBmb250LXNpemU6IDE1LFxuICAgIGxpbmUtaGVpZ2h0OiAyNFxuICApLFxuICAnYmFzZSc6IChcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSxcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHRcbiAgKSxcbiAgJ20nOiAoXG4gICAgZm9udC1zaXplOiAyMCxcbiAgICBsaW5lLWhlaWdodDogMzJcbiAgKSxcbiAgJ2wnOiAoXG4gICAgZm9udC1zaXplOiAyNCxcbiAgICBsaW5lLWhlaWdodDogMzJcbiAgKSxcbiAgJ3hsJzogKFxuICAgIGZvbnQtc2l6ZTogMzIsXG4gICAgbGluZS1oZWlnaHQ6IDQwXG4gICksXG4gICd4eGwnOiAoXG4gICAgZm9udC1zaXplOiA0MCxcbiAgICBsaW5lLWhlaWdodDogNDBcbiAgKSxcbiAgJ3h4eGwnOiAoXG4gICAgZm9udC1zaXplOiA0OCxcbiAgICBsaW5lLWhlaWdodDogNDhcbiAgKSxcbiAgJ3h4eHhsJzogKFxuICAgIGZvbnQtc2l6ZTogNTYsXG4gICAgbGluZS1oZWlnaHQ6IDU2XG4gICksXG4pO1xuXG4kZm9udC13ZWlnaHRzOiAoXG4gIHJlZ3VsYXI6IDQwMCxcbiAgbWVkaXVtOiA1MDAsXG4gIHNlbWktYm9sZDogNjAwLFxuICBib2xkOiA3MDAsXG4pO1xuXG4vKipcbiAqXHRIZXJlIHdlIGFzc2lnbiBzaG9ydCBuYW1lcyBmb3IgdGhlIGZvbnQgZmFtaWxpZXNcbiAqL1xuJGZvbnQtcm9ib3RvOiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiRmb250LXN5c3RlbTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG5cbiRmb250LWZhbWlsaWVzOiAoXG4gIGJhc2U6ICRmb250LXJvYm90byxcbiAgcHJpbWFyeTogJGZvbnQtcm9ib3RvLFxuXG4gIC8vIEZhbGxiYWNrIGZvbnRcbiAgc3lzdGVtOiAkZm9udC1zeXN0ZW1cbik7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRnVuY3Rpb25zIHVzZWQgaW4gZ3JpZCBjYWxjdWxhdGlvblxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgKiBSZXR1cm4gcGVyY2VudGFnZSBiYXNlZCBvbiBhbW91bnQgb2YgY29sdW1uc1xuICAqIFVzZSBwYXJlbnQgY29sdW1uIHNpemUgdG8gYWRqdXN0IHRoZSBvcmlnaW5cbiAgKi9cbkBmdW5jdGlvbiBjYWxjdWxhdGVDb2x1bW5TaXplKCRjb2x1bW5Db3VudCA6IDEsICRvcmlnaW4gOiAkc2l0ZS1jb2x1bW5zLWwpIHtcbiAgLy8gQ2FsY3VsYXRlIHRoZSB3aWR0aCBmb3IgYSBzaW5nbGUgY29sdW1uIG9uIGEgZnVsbCBncmlkXG4gICRzaW5nbGVDb2x1bW5TaXplOiAxMDAgLyAkc2l0ZS1jb2x1bW5zLWw7XG5cbiAgLy8gR2V0IHRoZSBvcmlnaW4gc2l6ZSBpbiBwZXJjZW50YWdlIGZyb20gdGhlIGZ1bGwgZ3JpZFxuICAkb3JpZ2luUGVyY2VudGFnZTogJG9yaWdpbiAvICRzaXRlLWNvbHVtbnMtbCAqIDEwMDtcblxuICAvLyBDYWxjdWxhdGUgc2luZ2xlIGNvbHVtbiBmcm9tIG5ldyBvcmlnaW5cbiAgJG5ld1NpbmdsZUNvbHVtblNpemU6ICRzaW5nbGVDb2x1bW5TaXplIC8gJG9yaWdpblBlcmNlbnRhZ2UgKiAxMDA7XG5cbiAgLy8gUmV0dXJuIGFtb3VudCBvZiBjb2x1bW5zIGFzIHBlcmNlbnRhZ2VcbiAgQHJldHVybiAoJG5ld1NpbmdsZUNvbHVtblNpemUgKiAkY29sdW1uQ291bnQpO1xufVxuXG4vKipcbiAgKiBEZWZhdWx0IGZ1bmN0aW9uIGZvciBjb2x1bW5zXG4gICogUmV0dXJuIGFzIHBlcmNlbnRhZ2VcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRzaXRlLWNvbHVtbnMtbCkge1xuICBAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCAkb3JpZ2luKSAqIDElO1xufVxuXG4vKipcbiAgKiBSZXR1cm4gYXMgdmlld3BvcnQgd2lkdGhcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW5WdygkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJHNpdGUtY29sdW1ucy1sKSB7XG4gIEByZXR1cm4gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQsICRvcmlnaW4pICogMXZ3O1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogIE1peGluIGZvciBzZXR0aW5nIGZvbnQtc2l6ZSBpbiBSRU0gdGhyb3VnaCBhIFNhc3MgTWFwIHdpdGggYWxsIGF2YWlsYWJsZSBzaXplc1xuXG4gICAgVVNBR0U6XG5cbiAgICAubXlDbGFzcyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG4gICAgfVxuXG4gKi9cblxuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRsaDogbnVsbCkge1xuICAvLyBHZXQgY29ycmVjdCBrZXkgd2l0aCBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0IHB4IHZhbHVlXG4gICRmb250LXNpemUtcHJvcGVydGllczogbWFwLWdldCgkZm9udC1zaXplcywgJGZzKTtcbiAgQGlmICRmb250LXNpemUtcHJvcGVydGllcyB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpKTtcblxuICAgIEBpZigkbGggPT0gbnVsbCl7XG4gICAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkZm9udC1zaXplLXByb3BlcnRpZXMsIGxpbmUtaGVpZ2h0KSAvIG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaCAvIG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpO1xuICAgIH1cbiAgfVxuICAgIC8vIFdoZW4gbWFwcGluZyBpc24ndCBmb3VuZCBjYWxjdWxhdGUgYXMgaWYgUFgtdmFsdWUgd2FzIGdpdmVuIGFuZCByZXR1cm4gUkVNIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAaWYgaXMtbnVtYmVyKCRmcykge1xuICAgICAgZm9udC1zaXplOiB2YWx1ZVRvUmVtKCRmcyk7XG5cbiAgICAgIEBpZigkbGggIT0gbnVsbCl7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGggLyAkZnM7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiIGAjeyRmc31gIGlzIG5vdCBhIHZhbGlkIHZhbHVlLiBJdCBtdXN0IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOiBgI3skZm9udC1zaXplc31gXCI7XG4gICAgfVxuICB9XG59XG5cblxuXG4vKipcbiAqICBNaXhpbiBmb3Igc2V0dGluZyBmb250LXdlaWdodCB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHdlaWdodHNcblxuICAgIFVTQUdFOlxuXG4gICAgLm15Q2xhc3Mge1xuICAgICAgICBAaW5jbHVkZSBmb250LXdlaWdodChzZW1pLWJvbGQpO1xuICAgIH1cblxuXG4gICAgLm15Q2xhc3Mge1xuICAgICAgICBAaW5jbHVkZSBmb250LXdlaWdodCg3MDApO1xuICAgIH1cblxuICovXG5AbWl4aW4gZm9udC13ZWlnaHQoJHdlaWdodCkge1xuICBAaWYgbWFwLWdldCgkZm9udC13ZWlnaHRzLCAkd2VpZ2h0KSB7XG4gICAgQGluY2x1ZGUgZm9udC13ZWlnaHQobWFwLWdldCgkZm9udC13ZWlnaHRzLCAkd2VpZ2h0KSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBpcy1udW1iZXIoJHdlaWdodCkge1xuICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiIGAjeyR3ZWlnaHR9YCBpcyBub3QgYSB2YWxpZCB2YWx1ZS4gSXQgbXVzdCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZzogYCN7JGZvbnQtd2VpZ2h0c31gXCI7XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIGFjY2Vzc2luZyB0aGUgZm9udCBmYW1pbGllcyBmcm9tIG91ciBtYXBwaW5nXG5cblx0VVNBR0U6XG5cblx0c3BhbiB7XG5cdFx0QGluY2x1ZGUgZm9udC1mYW1pbHkocHJpbWFyeSk7XG5cdH1cblxuICovXG5cbkBtaXhpbiBmb250LWZhbWlseSgkZmFtaWx5OiAnYmFzZScpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb250LWZhbWlsaWVzLCAkZmFtaWx5KSB7XG4gICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWxpZXMsICRmYW1pbHkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiBcIlVua25vd24gZmFtaWx5OiBgI3skZmFtaWx5fWAgaW4gJGZvbnQtZmFtaWxpZXMuIFwiO1xuICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlsaWVzLCBzeXN0ZW0pO1xuICB9XG59IiwiLyogTWVkaWEgcXVlcnkgbWl4aW4gZm9yIHdyaXRpbmcgTW9iaWxlIEZpcnN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGZ1bmN0aW9uIGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkYnJlYWtwb2ludCkge1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQHdhcm4gXCJVbmtub3duIGJyZWFrcG9pbnQ6IGAjeyRicmVha3BvaW50fWAgaW4gJGJyZWFrcG9pbnRzLiBcIjtcbiAgQHJldHVybiBudWxsO1xufVxuXG5AbWl4aW4gbXEoJG1pbjogbnVsbCwgJG1heDogbnVsbCkge1xuICAkcXVlcnk6IFwiYWxsXCIgIWRlZmF1bHQ7XG5cbiAgLy8gVHJ5IHRvIGNvbnZlcnQgJG1pbiB2YWx1ZSBpZiBub3QgbnVtYmVyIG9yIG51bGxcbiAgQGlmKHR5cGUtb2YoJG1pbikgIT0gbnVtYmVyIGFuZCAkbWluICE9IG51bGwpe1xuICAgICRtaW46IGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkbWluKTtcbiAgfVxuXG4gIC8vIFRyeSB0byBjb252ZXJ0ICRtYXggdmFsdWUgaWYgbm90IG51bWJlciBvciBudWxsXG4gIEBpZih0eXBlLW9mKCRtYXgpICE9IG51bWJlciBhbmQgJG1heCAhPSBudWxsKXtcbiAgICAkbWF4OiBjb252ZXJ0QnJlYWtwb2ludEtleVRvVmFsdWUoJG1heCk7XG4gIH1cblxuICAvLyBzZXQgYm90aCBtaW4gYW5kIG1heFxuICBAaWYgKCRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsKSB7XG4gICAgJHF1ZXJ5OiBcIihtaW4td2lkdGg6ICN7JG1pbn1weCkgYW5kIChtYXgtd2lkdGg6ICN7JG1heCAtIDF9cHgpXCI7XG4gIH1cbiAgICAvLyBzZXQganVzdCBtaW5cbiAgQGVsc2UgaWYgKCRtaW4gIT0gbnVsbCBhbmQgJG1heCA9PSBudWxsKSB7XG4gICAgJHF1ZXJ5OiBcIihtaW4td2lkdGg6ICN7JG1pbn1weClcIjtcbiAgfVxuICAgIC8vIHNldCBqdXN0IG1heFxuICBAZWxzZSBpZiAoJG1pbiA9PSBudWxsIGFuZCAkbWF4ICE9IG51bGwpIHtcbiAgICAkcXVlcnk6IFwiKG1heC13aWR0aDogI3skbWF4IC0gMX1weClcIjtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kICN7JHF1ZXJ5fSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuIiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBUb29sYm94IGZ1bmN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqICBNYXRocyBoZWxwZXJzLlxuICogIEhhbHZlIGFuZCBkb3VibGUgbnVtYmVycywgcmV0dXJuaW5nIHJvdW5kZWQgaW50ZWdlcnMuXG5cbiAgICBVU0FHRTpcblxuICAgIC5mb28ge1xuICAgICAgICBwYWRkaW5nOiBoYWx2ZSgzMHB4KTtcbiAgICB9XG5cbiAqL1xuXG5AZnVuY3Rpb24gcXVhcnRlcigkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAvIDQpO1xufVxuXG5AZnVuY3Rpb24gaGFsdmUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgLyAyKTtcbn1cblxuQGZ1bmN0aW9uIGRvdWJsZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAqIDIpO1xufVxuXG5AZnVuY3Rpb24gdHJpcGxlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyICogMyk7XG59XG5cbkBmdW5jdGlvbiBxdWFkcnVwbGUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiA0KTtcbn1cblxuXG4vKipcbiAqICBSZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbiAqICBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIE51bWJlciB0byByZW1vdmUgdW5pdCBmcm9tXG4gKiAgQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuICovXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcblx0QGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG5cdFx0QHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG5cdH1cblxuXHRAcmV0dXJuICRudW1iZXI7XG59XG5cblxuLyogQ2hlY2sgaWYgdmFsdWUgaXMgbnVtYmVyICovXG5cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG5cdEByZXR1cm4gdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInO1xufVxuXG5cbi8qIFZhbHVlIHRvIEVtICovXG5cbkBmdW5jdGlvbiB2YWx1ZVRvUmVtKCR2YWx1ZSkge1xuXHQkbm9Vbml0czogc3RyaXAtdW5pdCgkdmFsdWUpO1xuXHRAcmV0dXJuICN7JG5vVW5pdHMgLyAxNiAqIDFyZW19O1xufVxuXG4vKiBWYWx1ZSB0byBSZW0gKi9cblxuQGZ1bmN0aW9uIHZhbHVlVG9FbSgkdmFsdWUpIHtcblx0JG5vVW5pdHM6IHN0cmlwLXVuaXQoJHZhbHVlKTtcblx0QHJldHVybiAjeyRub1VuaXRzIC8gMTYgKiAxZW19O1xufVxuXG5cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBhY2Nlc3NpbmcgdGhlIGNvbG9ycyBmcm9tIG91ciBtYXBwaW5nXG4gKlx0VG8gYWNjZXNzIGNvbG9ycyBpbiBvdXIgcGFsZXR0ZSwgd2UgdXNlIGEgdmVyeSBzaW1wbGUgY3VzdG9tIFNhc3MgZnVuY3Rpb25cblxuXHRVU0FHRTpcblxuXHRhIHtcblx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5KTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNDAwKTtcblx0XHR9XG5cdH1cblxuICovXG5cbkBmdW5jdGlvbiBwYWxldHRlKCRwYWxldHRlLCAkbGV2ZWw6IDEpIHtcblx0QGlmIG1hcC1oYXMta2V5KCRwYWxldHRlcywgJHBhbGV0dGUpIHtcblx0XHRAaWYgbWFwLWhhcy1rZXkobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKSB7XG5cdFx0XHRAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdC8vIElmIGxldmVsIGRvZXNuJ3QgZXhpc3QgaW4gbWFwLCBnaXZlIHRoZSBmaXJzdCB2YWx1ZSBvZiB0aGUgcGFsZXR0ZVxuXHRcdFx0QHJldHVybiBudGgobnRoKG1hcC1nZXQoJHBhbGV0dGVzLCAkcGFsZXR0ZSksIDEpLCAyKTtcblx0XHR9XG5cdH1cblxuXHRAd2FybiBcIlVua25vd24gY29sb3I6IGAjeyRwYWxldHRlfWAgaW4gJHBhbGV0dGUuIFwiO1xuXHRAcmV0dXJuIGhvdHBpbms7XG59XG5cbi8vIFNldCBhIGZpeGVkIHNwYWNlIGJhc2VkIG9uIHRoZSA4cHQgZ3JpZFxuLy8gSnVzdCBwYXNzIHRoZSBmdW5jdGlvbiBhIG51bWJlciBlcXVhbCB0byB0aGUgbnVtYmVyIG9mICg4KXBvaW50cyB5b3UgbmVlZFxuQGZ1bmN0aW9uIHNwYWNlKCRzaXplOiAnMScpIHtcblx0QHJldHVybiA4cHggKiAkc2l6ZTtcbn1cblxuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIG9ubHkgZm9yIG1vYmlsZSB2aWV3cG9ydFxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG4gIH1cblxuICovXG5cblxuXG5AbWl4aW4gdnNwYWNpbmctcygkdmFsdWVzLi4uKSB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRAZWFjaCAkaSBpbiAkdmFsdWVzIHtcblx0XHRcdC8vIEJ5IHNldHRpbmcgZ3V0dGVyIHNpemUgYXMgYSBoYWx2ZSBjb2x1bW4gd2lkdGggd2UgY2FuIG1ha2UgJ3NxdWFyZXMnIG9uIG1vYmlsZVxuXHRcdFx0I3tudGgoJGksIDEpfTogI3soJHNpdGUtZ3V0dGVyLXdpZHRoICogMikgKiBudGgoJGksIDIpfTtcblx0XHR9XG5cdH1cbn1cblxuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIGZvciB2aWV3cG9ydCBsYXJnZXIgdGhhbiBtb2JpbGVcbiAqIEluIGZsZXhpYmxlIHVuaXRzICh2dykgYW5kIG9uIG1heCB2aWV3cG9ydCBpbiBhIGZpeGVkIGFtb3VudCAocHgpXG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nLW0tdXAoXG5cdFx0XHRcdCdwYWRkaW5nLXRvcCcgMC4zMyxcblx0XHRcdFx0J21hcmdpbi1ib3R0b20nIDAuNVxuXHRcdCk7XG4gIH1cblxuICovXG5cbkBtaXhpbiB2c3BhY2luZy1tLXVwKCR2YWx1ZXMuLi4pIHtcblx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdEBlYWNoICRpIGluICR2YWx1ZXMge1xuXHRcdFx0I3tudGgoJGksIDEpfTogI3soMSAvICgkc2l0ZS1jb2x1bW5zLW0gKyAyKSAqIDEwMCkgKiBudGgoJGksIDIpfXZ3O1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBtcShsLCAkYnAtbWF4KSB7XG5cdFx0QGVhY2ggJGkgaW4gJHZhbHVlcyB7XG5cdFx0XHQje250aCgkaSwgMSl9OiAjeygxIC8gKCRzaXRlLWNvbHVtbnMtbCArIDIpICogMTAwKSAqIG50aCgkaSwgMil9dnc7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIG1xKCRicC1tYXgpIHtcblx0XHRAZWFjaCAkaSBpbiAkdmFsdWVzIHtcblx0XHRcdCN7bnRoKCRpLCAxKX06ICN7KCRzaXRlLW1heC13aWR0aCAvICRzaXRlLWNvbHVtbnMtbCkgKiBudGgoJGksIDIpfXB4O1xuXHRcdH1cblx0fVxufVxuXG4vKlxuICogRnJvbSB2YWx1ZXMgZ2l2ZW4gcmV0dXJuIHRoZSBjb3JyZWN0IHYtc3BhY2luZyBmb3IgZWFjaCBicmVha3BvaW50XG4gKi9cbkBtaXhpbiB2c3BhY2luZygkdmFsdWVzLi4uKSB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nLXMoJHZhbHVlcy4uLik7XG5cdEBpbmNsdWRlIHZzcGFjaW5nLW0tdXAoJHZhbHVlcy4uLik7XG59XG5cblxuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJveC1zaGFkb3dcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm94LXNoYWRvdztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJveC1zaGFkb3cobG93KTtcblx0fVxuXG4gKi9cbkBtaXhpbiBib3gtc2hhZG93KCR0eXBlOiBoaWdoKSB7XG5cdEBpZiAoJHR5cGUgPT0gJ2hpZ2gnKSB7XG5cdFx0Ym94LXNoYWRvdzogMCAyMHB4IDMwcHggLTEwcHggcGFsZXR0ZShib3gtc2hhZG93KTtcblx0fVxuXHRAaWYgKCR0eXBlID09ICdsb3cnKSB7XG5cdFx0Ym94LXNoYWRvdzogMCAxcHggNnB4IDAgcGFsZXR0ZShib3gtc2hhZG93KTtcblx0fVxufVxuXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3Igc2V0dGluZyBhIGNvbnNpc3RlbnQgYm9yZGVyLXJhZGl1c1xuXG5cdFVTQUdFOlxuXG5cdC5jYXJkIHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHR9XG5cblx0LmNhcmQtLWFsdCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhsKTtcblx0fVxuXG4gKi9cbkBtaXhpbiBib3JkZXItcmFkaXVzKCR0eXBlOiBzKSB7XG5cdEBpZiAoJHR5cGUgPT0gJ3MnKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cblx0QGlmICgkdHlwZSA9PSAnbScpIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBtKTtcblx0fVxuXHRAaWYgKCR0eXBlID09ICdsJykge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIGwpO1xuXHR9XG59XG5cbi8qKlxuICogTG9ib3RvbWl6ZWQgT3dsIFNlbGVjdG9yIG1peGluOlxuICogLSBTZXQgc3BhY2luZyBmb3IgY29uc2VjdXRpdmUgaXRlbXMgd2l0aCBtYXJnaW4tdG9wIG9uIGFsbCBidXQgdGhlIGZpcnN0IGl0ZW1cblxuXHRVU0FHRTpcblxuXHQuYm94IHtcblx0XHRAaW5jbHVkZSBvd2wtY2hpbGRyZW47XG5cdH1cblxuXHQuY2FyZF9faXRlbSB7XG5cdFx0QGluY2x1ZGUgb3dsO1xuXHR9XG5cbiAqL1xuXG4vLyBHaXZlcyB0aGUgY2hpbGRyZW4gb2YgdGhlIGVsZW1lbnQgc3BhY2luZ1xuQG1peGluIG93bC1jaGlsZHJlbigkbWFyZ2luOiAjeyRsaW5lLWhlaWdodC1yYXRpb31yZW0pIHtcblx0JiA+ICogKyAqIHtcblx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luO1xuXHR9XG59XG5cbi8vIEdpdmVzIHRoZSBlbGVtZW50IGl0c2VsZiBzcGFjaW5nXG5AbWl4aW4gb3dsKCRtYXJnaW46ICN7JGxpbmUtaGVpZ2h0LXJhdGlvfXJlbSkge1xuXHQmICsgJiB7XG5cdFx0bWFyZ2luLXRvcDogJG1hcmdpbjtcblx0fVxufVxuXG4vKipcbiAqICBTaG93IGh5cGhlbnMgZm9yIGV2ZXJ5IGJyb3dzZXIgc3VwcG9ydGluZyBpdFxuICogIGFuZCB3aWxsIGJyZWFrIGxpbmVzIGluIGV2ZXJ5IG90aGVyIGJyb3dzZXJcbiAqL1xuXG5AbWl4aW4gaHlwaGVuYXRlIHtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XG5cdC1tcy1oeXBoZW5zOiBhdXRvO1xuXHRoeXBoZW5zOiBhdXRvO1xufVxuXG4vKlxuICogIFJlc3RyaWN0IGFuIGVsZW1lbnQgdG8gYSBtYXgtd2lkdGggZm9yIGNyZWF0aW5nIGd1dHRlcnMgb24gdGhlIHNpZGVcbiAqL1xuQG1peGluIGNvbnRhaW4oJG9uTWVkaXVtOiB0cnVlKSB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAje2RvdWJsZSgkc2l0ZS1ndXR0ZXItd2lkdGgpfSk7IC8vIE1ha2luZyBzdXJlIGl0IGRvZXNu4oCZdCBnZXQgdG8gc21hbGwgd2l0aCBsaXR0bGUgY29udGVudFxuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRAaWYoJG9uTWVkaXVtID09IHRydWUpIHtcblx0XHRcdHdpZHRoOiBjYWxjKCgxMDAlIC8gI3skc2l0ZS1jb2x1bW5zLW0gKyAyfSkgKiAjeyRzaXRlLWNvbHVtbnMtbX0pO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjYWxjKCgxMDAlIC8gI3skc2l0ZS1jb2x1bW5zLWwgKyAyfSkgKiAjeyRzaXRlLWNvbHVtbnMtbH0pO1xuXHRcdG1heC13aWR0aDogI3skc2l0ZS1tYXgtd2lkdGh9cHg7XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIFRoZSAnei1pbmRleC1tYXAnIGlzIHVzZWQgZm9yIG1hbmFnaW5nIHRoZSBlbGVtZW50cyBzdGFja2luZyBvcmRlciBpbiB0aGUgJ3Jvb3QnIHN0YWNraW5nIGNvbnRleHRcbiAqICBUaGlzIHdheSB3ZSBoYXZlIGEgb3ZlcnZpZXcgb2YgYWxsIHRoZSB6LWluZGV4IHZhbHVlcyB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgcHJvamVjdC5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuJHotaW5kZXg6IChcblx0ei12aXNpYmxlLWdyaWQ6XHRcdFx0XHQxMDAwMCxcblx0ei1jb29raWU6XHRcdCBcdFx0XHQ5OTk5LFxuXHR6LW92ZXJsYXktbWVudTpcdFx0XHRcdDEwMCxcblx0ei1oZWFkZXI6IFx0XHRcdFx0XHQ1MCxcblx0ei1ib2R5Olx0XHRcdFx0XHRcdDQwLFxuXHR6LWZvb3RlcjpcdFx0XHRcdCBcdDIwLFxuXHR6LXN1YmZvb3RlcjpcdFx0XHRcdDEwLFxuKTtcblxuXG4vKipcbiAgICBVU0FHRTpcblxuICAgIEBpbmNsdWRlIHooei1tb2RhbCk7XG5cbiAqL1xuXG5AbWl4aW4geigkbGFiZWwpIHtcblx0ei1pbmRleDogbWFwLWdldCgkei1pbmRleCwkbGFiZWwpO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCYXNpYyBlbGVtZW50cyAobm8gY2xhc3Mgc2VsZWN0b3JzIGFsbG93ZWQpXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNldCB1cCB0aGUgaHRtbFxuICpcbiAqIDEuIE1ha2VzIHN1cmUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqIDIuIFNldCBmb250IHRvIGxpbmluZyBmaWd1cmVzXG4gKi9cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxudW1cIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuICBAaW5jbHVkZSBmb250LWZhbWlseShiYXNlKTtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcbn1cblxuXG4vKipcbiAqIFsxXSBNYWtlIHN1cmUgZWxlbWVudHMgbGlrZSBpbnB1dCBhbmQgdGV4dGFyZWEgaW5oZXJpdCBzb21lIGJhc2UgcHJvcGVydGllc1xuICogICAgIGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTYvMTEvY3NzLWluaGVyaXRhbmNlLWNhc2NhZGUtZ2xvYmFsLXNjb3BlLW5ldy1vbGQtd29yc3QtYmVzdC1mcmllbmRzL1xuICpcbiAqIFsyXSBTZXR0aW5nIGJveC1zaXppbmcgdGhlIGJlc3Qgd2F5IHBlcjpcbiAqICAgICBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuKiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgJixcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cbn1cblxuLyoqXG4gKiBbMV0gVHVybiBvZmYgdGV4dC1zaGFkb3cgd2hlbiBzZWxlY3RpbmcgdGV4dCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5XG4gKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogcGFsZXR0ZShzZWNvbmRhcnkpO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtc2hhZG93OiBub25lOyAvKiBbMV0gKi9cbn1cblxuLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGFyb3VuZCBmaWd1cmVcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFsxXSBTZXR0aW5nICd2ZXJ0aWNhbC1hbGlnbicgcmVtb3ZlcyB0aGUgd2hpdGVzcGFjZSB0aGF0IGFwcGVhcnMgdW5kZXIgJ2ltZydcbiAqXHQgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXG4gKlx0ICAgdXNpbmcgJ2Rpc3BsYXk6IGJsb2NrOycuXG4gKiBbMl0gUmVtb3ZlIGJvcmRlciAvIGVzcGVjaWFsbHkgb24gb2xkZXIgYnJvd3NlcnNcbiAqL1xuaW1nLCBzdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKlsxXSovXG4gIGJvcmRlcjogbm9uZTsgLypbMl0qL1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogU3RpbGwgYWRkIGRpc3BsYXkgYmxvY2sgdG8gc3ZnIGFuZCBwaWN0dXJlIHRvIHByZXZlbnQgdW53YW50ZWQgc3BhY2luZyBvciBjb2xsYXBzaW5nXG4gKi9cbnN2ZywgcGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqICBOZWVkZWQgZm9yIGlPUyB0byBwcmV2ZW50IGlucHV0IHpvb21pbmdcbiAqICBodHRwczovL3V4Y2VsbGVuY2UuY29tLzIwMTQvMDEvMTUvcXVpY2stZml4LWluY3JlYXNlLWZvbnQtc2l6ZS10by0xNnB4LXRvLWZpeC1pbnB1dC16b29tXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cblxuYSB7XG4gIGNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bzsgLy8gcHJldHR5IHVuZGVybGluaW5nIGxpbmtzXG5cbiAgJjpub3QoW2NsYXNzXSk6aG92ZXIgeyAvLyBMaW5rcyB3aXRoIG5vIGNsYXNzIGdldCBhIGRlZmF1bHQgaG92ZXJcbiAgICBjb2xvcjogc2NhbGUtY29sb3IocGFsZXR0ZShhY3Rpb24pLCAkbGlnaHRuZXNzOiAtMjAlKTtcbiAgfVxufVxuXG5cbi8vIFRPRE86IElzIHRoaXMgdGhlIHJpZ2h0IHdheSB0byByZXNldCBhbGwgbWFyZ2luPz9cbi8vIFJlc2V0IGFsbCB0b3AgbWFyZ2luc1xuaDEsaDIsaDMsaDQsaDUsaDYsaGdyb3VwLFxudWwsb2wsZGQsXG5wLGZpZ3VyZSxcbnByZSx0YWJsZSxmaWVsZHNldCxociB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59IiwiLy9oMSwgaDIsIGgzLCBoNHtcbi8vXHRAaW5jbHVkZSBmb250LWZhbWlseShwcmltYXJ5KTtcbi8vfVxuXG5oMSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eHh4bCk7XG5cdEBpbmNsdWRlIGZvbnQtd2VpZ2h0KGJvbGQpO1xufVxuXG5oMiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xuXHRAaW5jbHVkZSBmb250LXdlaWdodChyZWd1bGFyKTtcbn1cblxuaDMge1xuXHRAaW5jbHVkZSBmb250LXNpemUobCk7XG5cdEBpbmNsdWRlIGZvbnQtd2VpZ2h0KHJlZ3VsYXIpO1xufVxuXG5oNCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShtKTtcblx0QGluY2x1ZGUgZm9udC13ZWlnaHQoc2VtaS1ib2xkKTtcbn1cblxuaDUsIGg2IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0QGluY2x1ZGUgZm9udC13ZWlnaHQoc2VtaS1ib2xkKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICpcdERlZmF1bHQgaW5kZW50YXRpb24gdmFsdWUgZm9yIGxpc3RzXG4gKi9cblxudWwsXG5vbHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tbGVmdDogMS4xMjVlbTtcbn1cblxuZGR7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cblxuLyoqXG4gKlx0UmVtb3ZlIGV4dHJhIHZlcnRpY2FsIHNwYWNpbmcgd2hlbiBuZXN0aW5nIGxpc3RzLlxuICovXG5cbmxpIHtcblx0PiB1bCxcblx0PiBvbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbnRhaW5zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5sLWNvbnRhaW4ge1xuICBAaW5jbHVkZSBjb250YWluO1xufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJlc3RyaWN0XG4gKlxuICogV2hlbiBhIGJsb2NrIHNob3VsZG4ndCB0YWtlIHVwIHRoZSB3aG9sZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyXG4gKiB3ZSBjYW4gcmVzdHJpY3QgdGhlIG1heGltdW0gd2lkdGhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtcmVzdHJpY3QtbmFycm93IHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogY29sdW1uKDYsOCk7XG4gICAgbWF4LXdpZHRoOiAzOGVtO1xuICB9XG4gIEBpbmNsdWRlIG1xKGwpe1xuICAgIHdpZHRoOiBjb2x1bW4oNiwxMik7XG4gIH1cbn1cblxuLmwtcmVzdHJpY3Qtd2lkZSB7XG4gIEBpbmNsdWRlIG1xKG0pe1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogY29sdW1uKDcsOCk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsKXtcbiAgICB3aWR0aDogY29sdW1uKDgsMTIpO1xuICB9XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb21wb25lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuXG5AaW1wb3J0IFwiY29tcG9uZW50cy5idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNhcmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNsb3NlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5jb29raWVPdmVybGF5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5jb29raWVTd2l0Y2hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNvb2tpZVR5cGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZsYXNoTWVzc2FnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZm9ybUVsZW1lbnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZvcm1GZWVkYmFja1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZ2hvc3RCdXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmdvb2dsZU1hcHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhhbWJ1cmdlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuaWNvbkJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuaW5wdXRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmltYWdlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5sYW5ndWFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMubmF2XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5vcHRpb25zTWVudVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucHJvamVjdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5yYXRpbmdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnNlcnZpY2Vwb2ludFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2hhcmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnNsaWRlSW5kaWNhdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zdGFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zd2l0Y2hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRleHRCdXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRodW1ibmFpbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudHJhZGVtYXJrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy52aWRlb1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucGFnZVRyYW5zaXRpb25cIjsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRGVmYXVsdCBidXR0b25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIDEuIENvbG9yIGdldHMgaW5oZXJpdGVkIGFuZCB1c2VkIGZvciBuZXN0ZWQgZWxlbWVudHMgd2l0aCAnY3VycmVudENvbG9yJyBwcm9wZXJ0eSAqL1xuXG4uYy1idXR0b24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0cGFkZGluZzogc3BhY2UoMikgMDtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiB3aGl0ZTsgLyogMSAqL1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdEBpbmNsdWRlIGZvbnQtd2VpZ2h0KDUwMCk7XG5cdGxldHRlci1zcGFjaW5nOiAxLjVweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IocGFsZXR0ZShhY3Rpb24pLCAkbGlnaHRuZXNzOiAtMjAlKTtcblx0fVxuXHQmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG5cdH1cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdH1cbn1cblxuLmMtYnV0dG9uX190ZXh0IHtcblx0cGFkZGluZzogMCBzcGFjZSgzKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyKTtcblx0fVxufVxuXG4uYy1idXR0b25fX2ljb24ge1xuXHRkaXNwbGF5OiBub25lOyAvLyBCeSBkZWZhdWx0IGljb24gaXMgaGlkZGVuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiAtMXB4O1xuXHRsZWZ0OiAtNHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG5cdC5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcblx0fVxuXG5cdC8vIFdoZW4gaWNvbiBjb21lcyBiZWZvcmUgdGhlIHRleHQgKGluIHRoZSBET00pIHN3aXRjaCB0aGUgbWFyZ2luXG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0fVxuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRkaXNwbGF5OiBibG9jazsgLy8gU2hvdyB3aGVuIGhhcyBpY29uIG1vZGlmaWVyXG5cdH1cblxufVxuXG4uYy1idXR0b24tLW9uLWRhcmsge1xuXHRjb2xvcjogd2hpdGU7XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0Y29sb3I6IHJnYmEod2hpdGUsIDAuNzUpO1xuXHR9XG59IiwiLmMtY2FyZHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRAaW5jbHVkZSBib3gtc2hhZG93KCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRib3JkZXItcmFkaXVzOiAwIDAgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgbSkgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgbSk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtY2FyZF9faW1hZ2Uge1xuXHRpbWcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5jLWNhcmRfX2JvZHkge1xuXHRwYWRkaW5nOiAzMHB4O1xufVxuXG4uYy1jYXJkX190aXRsZSB7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5jLWNhcmRfX2NvbnRlbnQge1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcbn1cblxuLmMtY2FyZF9fYWN0aW9uIHtcblx0bWFyZ2luOiAzMHB4IDAgMzVweDtcbn1cblxuLy8gTW9kaWZpZXIgZm9yIGNlbnRlcmluZyB0aGUgaW1hZ2UgJiB0aGUgYWN0aW9uIGJ1dHRvblxuLmMtY2FyZC0tY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1jYXJkLS11bmJveCB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cblx0LmMtY2FyZF9faW1hZ2Uge1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXG5cdC5jLWNhcmRfX2JvZHkge1xuXHRcdHBhZGRpbmc6IDMwcHggMCAwO1xuXHR9XG5cblx0LmMtY2FyZF9fdGl0bGUge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZShtKTtcblx0fVxuXG5cdC5jLWNhcmRfX2NvbnRlbnQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxufSIsIi5jLWNsb3NlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHR3aWR0aDogc3BhY2UoNSk7XG5cdGhlaWdodDogc3BhY2UoNSk7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgZWFzZS1vdXQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDNweCAycHggd2hpdGU7XG5cdH1cblxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMjBweDtcblx0XHRyaWdodDogMjAlO1xuXHRcdGxlZnQ6IDIwJTtcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0fVxuXHQmOmJlZm9yZSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cdH1cbn0iLCIuYy1jb29raWUtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgQGluY2x1ZGUgeih6LWNvb2tpZSk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjYpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG5cbiAgJi5pcy1hY2NlcHRlZHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJi5mYWRlLW91dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fbW9kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDkyJTtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgcGFkZGluZzogNjBweCAxMjBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmMtY29va2llLW92ZXJsYXlfX2NvbnRhaW5lcntcbiAgJi5pcy1oaWRkZW57XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQpO1xufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogcGFsZXR0ZSh0ZXh0LCAzMDApO1xufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgJjpob3ZlcntcbiAgICBjb2xvcjogcmdiYShwYWxldHRlKGFjdGlvbiksIDAuNzUpO1xuICB9XG59XG5cbi5jLWNvb2tpZS1vdmVybGF5X19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cztcblxuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcblxuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihwYWxldHRlKGFjdGlvbiksIDglKVxuICB9XG59XG5cbi5jLWNvb2tpZS1vdmVybGF5X190eXBlcywgLmMtY29va2llLW92ZXJsYXlfX3NldHRpbmdze1xuICBtYXJnaW46IDMwcHggMDtcblxuICAmID4gKiArICp7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgfVxufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fc2V0dGluZ3N7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59IiwiLmMtY29va2llLXN3aXRjaCB7fVxuXG4uYy1jb29raWUtc3dpdGNoX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogMCAwIDVweDtcbiAgY29sb3I6IHBhbGV0dGUodGV4dCk7XG59XG5cbi5jLWNvb2tpZS1zd2l0Y2hfX3RleHQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHBhbGV0dGUodGV4dCwgMzAwKTtcbn1cblxuLmMtY29va2llLXN3aXRjaF9fc2V0dGluZ3N7XG4gIG1hcmdpbjogMzBweCAwIDA7XG5cbiAgJiA+ICogKyAqe1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cblxuLmMtY29va2llLXN3aXRjaF9fYnV0dG9ue1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cztcblxuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcblxuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihwYWxldHRlKGFjdGlvbiksIDglKVxuICB9XG59IiwiLmMtY29va2llLXR5cGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcblxuICAmLS1zdGF0aWN7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuLmMtY29va2llLXR5cGVfX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMjZweDtcbiAgfVxufVxuXG4uYy1jb29raWUtdHlwZV9faW5wdXR7XG4gIC5jLWNvb2tpZS10eXBlLS1zdGF0aWMgJntcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cbn1cblxuLmMtY29va2llLXR5cGVfX3RleHR7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHgpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQsIDMwMCk7XG59XG5cbi5jLWNvb2tpZS10eXBlX190aXRsZXtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDVweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcbn0iLCIuYy1mbGFzaC1tZXNzYWdlLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtZmxhc2gtbWVzc2FnZSB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAtODAlO1xuXHRsZWZ0OiA1MCU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0cGFkZGluZzogNXB4IDE1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblx0Zm9udC1zaXplOiAwLjZyZW07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogd2hpdGU7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTVweCwgMCk7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcblxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtOHB4O1xuXHRcdGxlZnQ6IGNhbGMoNTAlIC0gNy41cHgpO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAwO1xuXHRcdGhlaWdodDogMDtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci13aWR0aDogMCA3LjVweCA4cHggNy41cHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBwYWxldHRlKGFjdGlvbikgdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHQmLmNsaWNrZWQge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcblx0fVxufSIsIi5jLWZvcm0tZWxlbWVudCB7fVxuXG4uYy1mb3JtLWVsZW1lbnQtLWhvbmV5e1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1mb3JtLWVsZW1lbnRfX2Vycm9yIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHhzKTtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBwYWRkaW5nOiAycHggOHB4OyBcbiAgY29sb3I6IHJnYmEocGFsZXR0ZShuZWdhdGl2ZSksIDAuOSk7XG5cbiAgJjpub3QoOmVtcHR5KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmMtZm9ybS1lbGVtZW50X19sYWJlbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgb3JkZXI6IDE7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcblxuICAuYy1mb3JtLWVsZW1lbnRfX3ZhbHVlOmZvY3VzIH4gJiB7XG4gICAgLy9jb2xvcjogd2hpdGU7XG4gIH1cblxuICAuaGFzLWVycm9yICYge1xuICAgIGNvbG9yOiBwYWxldHRlKHdhcm5pbmcsIDcwMCk7XG4gIH1cbn0iLCIuYy1mb3JtLWZlZWRiYWNre1xuICBtYXJnaW46IDAgMCBzcGFjZSgxKTtcbiAgcGFkZGluZzogc3BhY2UoMykgc3BhY2UoNCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUod2FybmluZywgMjAwKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcGFsZXR0ZSh3YXJuaW5nKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHMpO1xuICBjb2xvcjogcGFsZXR0ZShwcmltYXJ5KTtcblxuICAmOm5vdCg6ZW1wdHkpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1mZWVkYmFjayk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBzcGFjZSgtMik7XG4gICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogcGFsZXR0ZSh3YXJuaW5nLCA3MDApO1xuICB9XG5cbiAgbGk6OmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufSIsIi5jLWdob3N0LWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblxuXHRjb2xvcjogcGFsZXR0ZShzZWNvbmRhcnksIDcwMCk7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsMCwwLDAuMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0cGFkZGluZzogc3BhY2UoMikgMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IDAgMCA0cHggMnB4IHJnYmEocGFsZXR0ZShzZWNvbmRhcnkpLCAwLjUpO1xuXG5cdH1cblx0JjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG5cblx0Ly8gQm9yZGVyIHdpdGggcHNldWRvIGVsZW1lbnQgZm9yIGFuaW1hdGlvblxuXHQmOjphZnRlciB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKGJsYWNrLCAwLjA3KTtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTFweDtcblx0XHRib3R0b206IC0xcHg7XG5cdFx0cmlnaHQ6IC0xcHg7XG5cdFx0bGVmdDogLTFweDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IC41cztcblx0fVxuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IC4zNXM7XG5cdFx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWdob3N0LWJ1dHRvbl9fdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0cGFkZGluZzogMCBzcGFjZSgzKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyKTtcblx0fVxufVxuXG4uYy1naG9zdC1idXR0b25fX2ljb24ge1xuXHRkaXNwbGF5OiBub25lOyAvLyBCeSBkZWZhdWx0IGljb24gaXMgaGlkZGVuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0dG9wOiAtMXB4O1xuXHRtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG5cdC5jLWdob3N0LWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxuXG5cdC5jLWdob3N0LWJ1dHRvbi0taWNvbiAmIHtcblx0XHRkaXNwbGF5OiBibG9jazsgLy8gU2hvdyB3aGVuIGhhcyBpY29uIG1vZGlmaWVyXG5cdFx0d2lkdGg6IDE2cHg7XG5cdH1cblxuXHQvLyBXaGVuIGljb24gY29tZXMgYmVmb3JlIHRoZSB0ZXh0IChpbiB0aGUgRE9NKSBzd2l0Y2ggdGhlIG1hcmdpblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG5cdH1cbn0iLCIuYy1nb29nbGUtbWFwcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDUwJTtcbn1cblxuLmMtZ29vZ2xlLW1hcHNfX21hcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufSIsIi5jLWhhbWJ1cmdlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IHNwYWNlKDUpO1xuXHRoZWlnaHQ6IHNwYWNlKDUpO1xuXHRwYWRkaW5nOiAwO1xuXHRjb2xvcjogYmxhY2s7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAzcHggMnB4IHBhbGV0dGUoYWN0aW9uKTtcblx0fVxuXG5cdCYuaXMtbGlnaHQge1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0fVxuXG5cdCYgPiBzcGFue1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDIwcHg7XG5cdFx0cmlnaHQ6IDIwJTtcblx0XHRsZWZ0OiAyMCU7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMTAwbXM7XG5cdH1cblxuXHQmID4gc3BhbjpudGgtY2hpbGQoMSkge1xuXHRcdHRvcDogMTJweDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuXHR9XG5cblx0JiA+IHNwYW46bnRoLWNoaWxkKDMpIHtcblx0XHR0b3A6IDI4cHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC41KTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdCYgPiBzcGFuIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG5cdFx0fVxuXHRcdCYgPiBzcGFuOm50aC1jaGlsZCgxKSxcblx0XHQmID4gc3BhbjpudGgtY2hpbGQoMykge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XG5cdFx0fVxuXHR9XG5cblx0LmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG5cdFx0JiA+IHNwYW4ge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSkgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0JiA+IHNwYW46bnRoLWNoaWxkKDEpIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG5cdFx0fVxuXHRcdCYgPiBzcGFuOm50aC1jaGlsZCgzKSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcblx0XHR9XG5cdH1cbn0iLCIkYy1pY29uLWJ1dHRvbi1zaXplOiA0MHB4O1xuXG4uYy1pY29uLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogJGMtaWNvbi1idXR0b24tc2l6ZTtcblx0aGVpZ2h0OiAkYy1pY29uLWJ1dHRvbi1zaXplO1xuXHRjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKHBhbGV0dGUoYWN0aW9uKSwgMC4zKTtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlciwgYm94LXNoYWRvdztcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNXM7XG5cdG91dGxpbmU6IG5vbmU7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXG5cdCY6YWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcihwYWxldHRlKGFjdGlvbiksICRsaWdodG5lc3M6IC0zMCUpO1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdEBpbmNsdWRlIGJveC1zaGFkb3cobG93KTtcblx0fVxuXG5cdCZbZGF0YS1pY29uLWRpcmVjdGlvbj1cInJldmVyc2VcIl0ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xuXHR9XG59IiwiJGlucHV0Qm9yZGVyOiAxcHg7XG5cbi5jLWlucHV0IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHMpO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogKHNwYWNlKDEpIC0gI3skaW5wdXRCb3JkZXJ9KSBzcGFjZSgyKTtcbiAgYm9yZGVyOiAkaW5wdXRCb3JkZXIgc29saWQgcGFsZXR0ZSh0ZXh0LCAzMDApO1xuICBvdXRsaW5lOiBub25lO1xuXG4gIC5oYXMtZXJyb3IgJiB7XG4gICAgYm94LXNoYWRvdzogMCAwIDdweCAtM3B4IHBhbGV0dGUoYWN0aW9uKTtcbiAgICBib3JkZXItY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCByZ2JhKHBhbGV0dGUoYWN0aW9uKSwgMC43NSk7XG4gICAgYm9yZGVyLWNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG4gIH1cblxuICBAYXQtcm9vdCB0ZXh0YXJlYSN7Jn0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IHNwYWNlKDIpO1xuICAgIG1pbi1oZWlnaHQ6IHNwYWNlKDIwKSAtIGRvdWJsZSgkaW5wdXRCb3JkZXIpO1xuICAgIGxpbmUtaGVpZ2h0OiBzcGFjZSgzKTtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICB9XG59IiwiLmMtaW1hZ2Uge1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHQmID4gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLWhlaWdodDogMTMwcHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcblx0XHRcdGNvbnRlbnQ6IFwiV2UncmUgc29ycnksIHRoaXMgaW1hZ2UgaXMgYnJva2VuIDooXCI7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogLTEwcHg7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgKyAyMHB4KTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogMTVweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9rbXMvZHluYW1pYy9pbWFnZS5zdmcpO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAyMHB4IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTMwcHg7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWltYWdlX19wbGFjZWhvbGRlcntcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctYm90dG9tOiA2Ni42NyU7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcva21zL2R5bmFtaWMvaW1hZ2Uuc3ZnXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogMjAwcHggYXV0bztcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYShwYWxldHRlKHRleHQsIDIwMCksIDAuMyk7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cblx0Ji0tdmlkZW97XG5cdFx0cGFkZGluZy1ib3R0b206IGNhbGMoMTAwJSAvIDE2ICogOSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9rbXMvZHluYW1pYy92aWRlby1ibG9jay5zdmdcIik7XG5cdH1cbn0iLCIuYy1sYW5ndWFnZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2N1cnJlbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNXB4IDMwcHg7XG5cblx0Y29sb3I6IHdoaXRlO1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSk7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGJveC1zaGFkb3cgMC4xNXM7XG5cblx0Jjpmb2N1cywgJjpob3ZlciB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKHBhbGV0dGUoc2Vjb25kYXJ5KSwgNSUpO1xuXHR9XG5cblx0LmMtbGFuZ3VhZ2U6aG92ZXIgJntcblx0XHRib3gtc2hhZG93OiAwIDAgMTJweCAxcHggcmdiYShibGFjaywgMC4xNSk7XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duXG57XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0Ym90dG9tOiBjYWxjKDEwMCUgLSA1cHgpO1xuXHRib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcblx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKHBhbGV0dGUoc2Vjb25kYXJ5KSwgNSUpO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMCAwIDVweDtcblx0bWFyZ2luOiAwO1xuXHRib3gtc2hhZG93OiAwIDAgMTJweCAxcHggcmdiYShibGFjaywgMC4xNSk7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy1sYW5ndWFnZTpob3ZlciAme1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cblxufVxuXG4uYy1sYW5ndWFnZV9faXRlbXtcblx0JjpudGgtY2hpbGQoZXZlbil7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKHBhbGV0dGUoc2Vjb25kYXJ5KSwgMyUpO1xuXHR9XG59XG5cbi5jLWxhbmd1YWdlX19saW5re1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogNXB4IDE1cHggNXB4IDMwcHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IHJnYmEod2hpdGUsIDAuNyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cblx0JjpmaXJzdC1jaGlsZHtcblx0XHRib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcblx0fVxuXG5cdCY6aG92ZXJ7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4ocGFsZXR0ZShzZWNvbmRhcnkpLCA1JSk7XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2Fycm93IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAzO1xuXHRyaWdodDogMTJweDtcblx0dG9wOiAxNnB4O1xuXHRjb2xvcjogd2hpdGU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufSIsIi5jLW5hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtbmF2X19saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi5jLW5hdl9faXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4OiAxIDAgYXV0bztcblx0bWFyZ2luLXRvcDogMDtcblxuXG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tbGVmdDogMzBweDtcblx0fVxufVxuXG4uYy1uYXZfX2xpbmsge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDIwcHggMDtcblx0Y29sb3I6IHJnYmEod2hpdGUsIDAuNik7XG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0LmlzLWFjdGl2ZSAmIHtcblx0XHRjb2xvcjogd2hpdGU7XG5cdH1cbn1cblxuLmMtbmF2X19pY29uIHtcblx0bWFyZ2luLWxlZnQ6IDdweDtcblx0Y29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcbn1cblxuLmMtbmF2X19hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcbn1cblxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBFeHRyYSBNUSBmb3IgdHdlYWtpbmcgc29tZSBzcGFjaW5nIHdoZW4gZW5vdWdoIHJvb20gaXMgYXZhaWxhYmxlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5AaW5jbHVkZSBtcSgxMDMyKSB7XG5cdC5jLW5hdl9fbGlzdCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDEwMHB4OyAvLyBMaW1pdCBtYXJnaW4gdmFsdWUgb24gZml4ZWQgc2l6ZVxuXHR9XG5cdC5jLW5hdl9fYWN0aW9ucyB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87IC8vIFB1c2ggdG8gdGhlIHNpZGVcblx0fVxufSIsIi8vIE1hZ2ljIG51bWJlciB3aGVyZSB0aGUgb3B0aW9uIG1lbnUgc2hvdWxkIGNoYW5nZSBsYXlvdXRcbiRvcHRpb25zLW1lbnUtYnA6IDg0MDtcblxuLmMtb3B0aW9ucy1tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgQGluY2x1ZGUgbXEoJG1heDogJG9wdGlvbnMtbWVudS1icCl7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLmMtb3B0aW9ucy1tZW51X19zZWdtZW50IHtcbiAgQGluY2x1ZGUgbXEoJG9wdGlvbnMtbWVudS1icCkge1xuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuICB9XG59XG5cbi5jLW9wdGlvbnMtbWVudV9fbGFiZWwge1xuICBAaW5jbHVkZSBmb250LXNpemUocyk7XG4gIEBpbmNsdWRlIGZvbnQtd2VpZ2h0KDUwMCk7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQsIDEwMCk7XG5cbiAgQGluY2x1ZGUgbXEoJG1heDogJG9wdGlvbnMtbWVudS1icCl7XG4gICAgLmMtb3B0aW9ucy1tZW51X19zZWdtZW50Omxhc3QtY2hpbGQgJiB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbn0iLCIkYy1wYWdpbmF0aW9uLXRleHQtY29sb3I6IHJnYmEocGFsZXR0ZSh0ZXh0LCA0MDApLCAwLjUpO1xuXG4uYy1wYWdpbmF0aW9uIHtcblx0IGRpc3BsYXk6IGZsZXg7XG5cdCBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0IGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdCBsaXN0LXN0eWxlOiBub25lO1xuXHQgbWFyZ2luLWxlZnQ6IDA7XG4gfVxuXG4uYy1wYWdpbmF0aW9uX19pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdEBpbmNsdWRlIGZvbnQtd2VpZ2h0KDUwMCk7XG5cdGNvbG9yOiBzY2FsZS1jb2xvcigkYy1wYWdpbmF0aW9uLXRleHQtY29sb3IsICRsaWdodG5lc3M6IDY1JSk7XG59XG5cbi5jLXBhZ2luYXRpb25fX2xpbmsge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcblx0Y29sb3I6ICRjLXBhZ2luYXRpb24tdGV4dC1jb2xvcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cblx0JjpsaW5rOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcblx0XHRiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwpO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYsXG4uYy1wYWdpbmF0aW9uX19uZXh0IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcblx0cGFkZGluZzogc3BhY2UoMSk7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG59IiwiLmMtcHJvamVjdG9yIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXByb2plY3Rvcl9fZmlndXJlIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdC8vbWluLWhlaWdodDogNjYuNjd2dzsgLy8gZGVmYXVsdCBwaG90byBhc3BlY3QgcmF0aW8gKDMvMilcblx0fVxuXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1wcm9qZWN0b3JfX3BpY3R1cmUge1xuXHRncmlkLWNvbHVtbjogMTtcblx0Z3JpZC1yb3c6IDE7XG5cdGFsaWduLXNlbGY6IGVuZDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBibG9jazsgLy8gTmVlZGVkIGZvciBJRVxuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwpO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLmMtcHJvamVjdG9yX19pbWcge1xuXHQvLyBtYWtlIHN1cmUgaXQgc3RyZXRjaGVzIHRoZSBjb250YWluZXJcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7IC8vIEZhbGxiYWNrIGZvciBJRSB2aWEgSlMgcG9seWZpbGxcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWF4LWhlaWdodDogNzh2aDsgLy8gTWFrZSBzdXJlIGltYWdlcyBhcmUgdmlzaWJsZSBlbnRpcmVseSBvbiBzbWFsbCBkZXZpY2VzIGluIGxhbmRzY2FwZSlcblx0fVxufVxuXG5cbi5jLXByb2plY3Rvcl9fY29udHJvbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAxO1xuXHRhbGlnbi1zZWxmOiBlbmQ7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1wcm9qZWN0b3JfX2J1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW46IDVweDtcblx0cGFkZGluZzogMTBweDtcblx0Y29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblx0YmFja2dyb3VuZDogd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXIsIGJveC1zaGFkb3c7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjVzO1xuXHRvdXRsaW5lOiBub25lO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblxuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IocGFsZXR0ZShhY3Rpb24pLCAkbGlnaHRuZXNzOiAtMzAlKTtcblx0XHRjb2xvcjogd2hpdGU7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRAaW5jbHVkZSBib3gtc2hhZG93KGxvdyk7XG5cdH1cblxuXHQmLnByZXZpb3VzIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcblx0fVxufVxuXG4uYy1wcm9qZWN0b3JfX2Fycm93e1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiAxNnB4O1xuXHRmb250LXNpemU6IDA7XG5cdGxpbmUtaGVpZ2h0OiAwO1xufSIsIiRjLXJhdGluZy1icDogNjcwOyAvLyBXaGVuIHRvIGNoYW5nZSBmcm9tIGNvbHVtbiB0byByb3cgdmlld1xuXG4uYy1yYXRpbmcge1xuXHRAaW5jbHVkZSBib3gtc2hhZG93O1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKGwpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRtYXgtd2lkdGg6IDU1NXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmMtcmF0aW5nX19saW5rIHtcblx0cGFkZGluZzogMzBweCAyMHB4O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQsIDIwMCk7XG59XG4uYy1yYXRpbmdfX3N0YXJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAgMjBweDtcblx0aGVpZ2h0OiA2MHB4O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59IiwiLmMtc2VydmljZXBvaW50IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgtMik7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9faW1hZ2Uge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgyKTtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0bWF4LXdpZHRoOiAxNzZweDtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiA1NDApIHtcblx0XHR3aWR0aDogOTZweDtcblx0fVxufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyIGF1dG8gMWZyO1xuXHRmbGV4LWdyb3c6IDk5OTk7XG5cdG1pbi13aWR0aDogMTgwcHg7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRlciB7XG5cdGdyaWQtcm93OiAxO1xuXHRhbGlnbi1zZWxmOiBlbmQ7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fYm9keSB7XG5cdGdyaWQtcm93OiAyO1xuXHRtYXJnaW46IHNwYWNlKDEpIDA7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fZm9vdGVyIHtcblx0Z3JpZC1yb3c6IDM7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCk7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fc3ViaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCk7XG59IiwiLy8gTWFnaWMgbnVtYmVyIHdoZXJlIHRoZSBvcHRpb24gbWVudSBzaG91bGQgY2hhbmdlIGxheW91dFxuJHNoYXJlLWxpc3QtYnA6IDg0MDtcblxuLmMtc2hhcmVfX2xpc3Qge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRzaGFyZS1saXN0LWJwKXtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbi5jLXNoYXJlX19pdGVtIHtcblx0QGluY2x1ZGUgbXEoJG1heDogJHNoYXJlLWxpc3QtYnApe1xuXHRcdCYgKyAmIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA0dnc7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIG1xKCRzaGFyZS1saXN0LWJwKSB7XG5cdFx0JiArICYge1xuXHRcdFx0bWFyZ2luLXRvcDogMTVweDtcblx0XHR9XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFNsaWRlIGluZGljYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXNsaWRlLWluZGljYXRvcjogKFxuXHQnY29sb3ItZG90JzpcdFx0XHR3aGl0ZSxcblx0J2NvbG9yLWRvdC1hY3RpdmUnOlx0XHRwYWxldHRlKHNlY29uZGFyeSwgNzAwKSxcblx0J2NvbG9yLXJpbmctYWN0aXZlJzpcdHdoaXRlLFxuXHQnY29sb3ItZG90cy1iYWNrZ3JvdW5kJzpwYWxldHRlKHNlY29uZGFyeSwgNzAwKSxcblx0J3NpemUtZG90JzpcdFx0XHRcdDhweCxcblx0J3NpemUtZG90LWFjdGl2ZSc6XHRcdDZweCxcblx0J3NpemUtcmluZy1hY3RpdmUnOlx0XHQxMnB4LFxuXHQnc2l6ZS10YXJnZXRib3gnOlx0XHQzMHB4LFxuXHQnaXMtcm91bmRlZCc6XHRcdFx0dHJ1ZSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLXNsaWRlLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ3NpemUtdGFyZ2V0Ym94Jyk7XG5cdGhlaWdodDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdzaXplLXRhcmdldGJveCcpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ly9ib3gtc2hhZG93OiAwIDAgN3B4IDAgbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdjb2xvci1yaW5nLWFjdGl2ZScpO1xuXHRcdC8vQGlmIChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2lzLXJvdW5kZWQnKSA9PSB0cnVlKSB7XG5cdFx0Ly9cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0Ly99XG5cdH1cblxuXHQmOmhvdmVyOm5vdCguaXMtYWN0aXZlKSxcblx0Jjpmb2N1czpub3QoLmlzLWFjdGl2ZSkge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxuXG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0QGlmIChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2lzLXJvdW5kZWQnKSA9PSB0cnVlKSB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHQkb2Zmc2V0OiBjYWxjKCgje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnc2l6ZS10YXJnZXRib3gnKX0gLSAje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnc2l6ZS1kb3QnKX0pIC8gMik7XG5cdFx0dG9wOiAkb2Zmc2V0O1xuXHRcdHJpZ2h0OiAkb2Zmc2V0O1xuXHRcdGJvdHRvbTogJG9mZnNldDtcblx0XHRsZWZ0OiAkb2Zmc2V0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnY29sb3ItZG90Jyk7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHQkb2Zmc2V0OiBjYWxjKCgje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnc2l6ZS10YXJnZXRib3gnKX0gLSAje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnc2l6ZS1yaW5nLWFjdGl2ZScpfSkgLyAyKTtcblx0XHR0b3A6ICRvZmZzZXQ7XG5cdFx0cmlnaHQ6ICRvZmZzZXQ7XG5cdFx0Ym90dG9tOiAkb2Zmc2V0O1xuXHRcdGxlZnQ6ICRvZmZzZXQ7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdjb2xvci1yaW5nLWFjdGl2ZScpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS40KTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnY29sb3ItZG90LWFjdGl2ZScpO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnY29sb3ItcmluZy1hY3RpdmUnKSwgMC45KTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoc3RyaXAtdW5pdChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ3NpemUtZG90LWFjdGl2ZScpKSAvIHN0cmlwLXVuaXQobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdzaXplLWRvdCcpKSk7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0b3BhY2l0eTogMC45O1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHQvL2JhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5KTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2NvbG9yLWRvdHMtYmFja2dyb3VuZCcpLCAwIDAgMTBweCAxcHggd2hpdGU7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdjb2xvci1kb3RzLWJhY2tncm91bmQnKSwgMCAwIDEwcHggMXB4IHdoaXRlO1xuXHRcdH1cblx0fVxufSIsIi5jLXN0YXIge1xuXHRwYWRkaW5nOiAwIDJweDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0bGluZS1oZWlnaHQ6IDA7XG59XG5cbi5jLXN0YXItLWZ1bGwge1xuXHRjb2xvcjogcGFsZXR0ZShzZWNvbmRhcnkpO1xufVxuXG4uYy1zdGFyLS1oYWxmIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblxuXHQuaGFsZi1zdGFyIHtcblx0XHRmaWxsOiBwYWxldHRlKHNlY29uZGFyeSk7XG5cdH1cbn1cblxuLyoqXG4gKiBXaGVuIHdlIG5lZWQgYW4gYW5pbWF0aW9uIHdlIGNhbiB1c2UgdGhlIGZvbGxvd2luZyBhcyBhIGJhc2lzXG4gKi9cblxuLy8uYy1zdGFyIHtcbi8vXHR0cmFuc2Zvcm0tb3JpZ2luOiA1cHggLTIwcHg7XG4vL1x0YW5pbWF0aW9uOiBzdGFyLWFwcGVhciAuNXMgbm9ybWFsIGZvcndhcmRzIGN1YmljLWJlemllcigwLjQzLCAwLjM1LCAwLjI5LCAxLjIzKTtcbi8vXG4vL1x0JHN0YXItY3VlLWRlbGF5OiAwLjE7XG4vL1x0QGZvciAkaSBmcm9tIDIgdGhyb3VnaCA1IHtcbi8vXHRcdCY6bnRoLW9mLXR5cGUoI3skaX0pIHtcbi8vXHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAjeygkaSAtIDEpICogJHN0YXItY3VlLWRlbGF5fXM7XG4vL1x0XHR9XG4vL1x0fVxuLy99XG5cbi8vQGtleWZyYW1lcyBzdGFyLWFwcGVhciB7XG4vL1x0ZnJvbSB7XG4vL1x0XHRvcGFjaXR5OiAwO1xuLy9cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLCAwKSByb3RhdGUoLTkwZGVnKTtcbi8vXHR9XG4vL1x0dG8ge1xuLy9cdFx0b3BhY2l0eTogMTtcbi8vXHRcdHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgcm90YXRlKDBkZWcpO1xuLy9cdH1cbi8vfSIsIi5jLXN3aXRjaCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtc3dpdGNoX19pbnB1dCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRvcGFjaXR5OiAwO1xufVxuXG4uYy1zd2l0Y2hfX2xhYmVsIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0QGluY2x1ZGUgZm9udC13ZWlnaHQoNTAwKTtcblx0ZGlzcGxheTogaW5saW5lLWdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0Y29sb3I6IHdoaXRlO1xuXHRiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4IHJnYmEoMCwwLDAsMC4yKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGN1YmljLWJlemllcigwLCAxLCAwLjUsIDEpO1xuXG5cdC8vIEZvY3VzIHN0eWxlIGZvciBhY2Nlc3NpYmlsaXR5XG5cdC8vLmMtc3dpdGNoX19pbnB1dDpmb2N1cyB+ICYge1xuXHQvL1x0Ym94LXNoYWRvdzogMCAwIDVweCAycHggI2ZmZiwgMHB4IDBweCAxOHB4IDNweCByZ2JhKHBhbGV0dGUoc2Vjb25kYXJ5KSwwLjYpO1xuXHQvL31cblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRwYWRkaW5nOiA5cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdGNvbnRlbnQ6IGF0dHIoZGF0YS1jaGVja2VkKTtcblxuXHRcdC5jLXN3aXRjaF9faW5wdXQ6Y2hlY2tlZCB+ICYge1xuXHRcdFx0Y29sb3I6IHJnYmEocGFsZXR0ZSh0ZXh0KSwwLjQpO1xuXHRcdH1cblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHRncmlkLWNvbHVtbjogMjtcblx0XHRjb250ZW50OiBhdHRyKGRhdGEtdW5jaGVja2VkKTtcblx0XHRjb2xvcjogcmdiYSh3aGl0ZSwwLjMpO1xuXG5cdFx0LmMtc3dpdGNoX19pbnB1dDpjaGVja2VkIH4gJiB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cdH1cbn1cblxuLmMtc3dpdGNoX19pbmRpY2F0b3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDA7IC8vIG11c3QgZ28gdW5kZXJuZWF0aCB0aGUgbGFiZWxcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiA1MCU7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHBhbGV0dGUoYWN0aW9uKSwgYWRqdXN0X2NvbG9yKHBhbGV0dGUoYWN0aW9uKSwgJHJlZDogLTUwLCAkZ3JlZW46IDI2LCAkYmx1ZTotMykpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAuMjMsIDAuMTgsIDAuMywgMSk7XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIDI3MGRlZywgI2EwMmQwOSAxMCUsICNERTQzMTMgMTAwJSk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzIGN1YmljLWJlemllcigwLjIzLCAwLjE4LCAwLjMsIDEpO1xuXHR9XG5cblx0LmMtc3dpdGNoX19pbnB1dDpjaGVja2VkIH4gLmMtc3dpdGNoX19sYWJlbCAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAxJSk7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRleHQgYnV0dG9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvbG9yIGdldHMgaW5oZXJpdGVkIGFuZCB1c2VkIGZvciBuZXN0ZWQgZWxlbWVudHMgd2l0aCAnY3VycmVudENvbG9yJyBwcm9wZXJ0eVxuICogMi4gUmVzZXQgZGVmYXVsdCBidXR0b24gc3R5bGluZ1xuICovXG5cbi5jLXRleHQtYnV0dG9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiBwYWxldHRlKGFjdGlvbik7IC8vIDFcblx0cGFkZGluZzogMDsgLyogMiAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xuXHRib3JkZXI6IG5vbmU7IC8qIDIgKi9cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKXtcblx0XHRjb2xvcjogc2NhbGVfY29sb3IocGFsZXR0ZShhY3Rpb24pLCAkbGlnaHRuZXNzOiAtNDAlKTtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxufVxuXG4uYy10ZXh0LWJ1dHRvbl9fdGV4dCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcblx0QGluY2x1ZGUgZm9udC13ZWlnaHQoNTAwKTtcblx0bGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy10ZXh0LWJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IC0ycHg7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgxKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0LmMtdGV4dC1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG5cdH1cblxuXHQuYy10ZXh0LWJ1dHRvbi0taWNvbiAme1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0fVxufVxuXG4uYy10ZXh0LWJ1dHRvbi0tc21hbGwge1xuXHQuYy10ZXh0LWJ1dHRvbl9fdGV4dCB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0XHRAaW5jbHVkZSBmb250LXdlaWdodCg1MDApO1xuXHR9XG5cdC5jLXRleHQtYnV0dG9uX19pY29uIHN2ZyB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjY3KTtcblx0fVxufSIsIi5jLXRodW1ibmFpbF9fbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHdpZHRoOiAxMDAlOyAvLyBNYWtlIHN1cmUgaXRzIHdpZGUgZW5vdWdoLCBhbHNvIHdoZW4gdGhlcmUgaXMgbGl0dGxlIHRleHRcbn1cblxuLmMtdGh1bWJuYWlsX19mcmFtZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmctYm90dG9tOiA2Ni42NyU7XG5cdGhlaWdodDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQvLyBFeHRyYSBjbGFzcyB0aGF0IGFkZHMgYSBob3ZlciBlZmZlY3Rcblx0Ji5oYXMtaG92ZXItZWZmZWN0IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHQkc2VsZjogJjtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQocmdiYShwYWxldHRlKGFjdGlvbiksIDAuMiksIHJnYmEocGFsZXR0ZShhY3Rpb24pLCAwLjYpKTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcblxuXHRcdFx0QGF0LXJvb3QgLmMtdGh1bWJuYWlsX19saW5rOmhvdmVyICN7JHNlbGZ9e1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jLXRodW1ibmFpbF9faW1hZ2Uge1xuXHQkc2VsZjogJjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoJ25ldXRyYWwnLCAxMDApO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG5cblx0Ly8gR2l2ZSBhIGxpdHRsZSBob3ZlciBlZmZlY3Qgd2hlbiBuZWVkZWRcblx0LmMtdGh1bWJuYWlsX19mcmFtZS5oYXMtaG92ZXItZWZmZWN0ICYge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBmaWx0ZXI7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcblxuXHRcdEBhdC1yb290IC5jLXRodW1ibmFpbF9fbGluay5oYXMtaG92ZXI6aG92ZXIgI3skc2VsZn0ge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA2KTtcblx0XHRcdGZpbHRlcjogc2F0dXJhdGUoMCUpO1xuXHRcdH1cblx0fVxufVxuXG4uYy10aHVtYm5haWxfX2NvbnRlbnQge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uYy10aHVtYm5haWxfX2NhcHRpb24ge1xuXHRAaW5jbHVkZSBmb250LXNpemUobSk7XG5cdEBpbmNsdWRlIGZvbnQtd2VpZ2h0KDUwMCk7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQpO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAuMjVzO1xufVxuXG4uYy10aHVtYm5haWxfX2J1dHRvbiB7XG5cdG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi8qKlxuICogTW9kaWZpZXIgb2YgdGhlIHRodW1ibmFpbCB3aGVyZSB0aGUgZmlndXJlIGdldHMgYSBsaXR0bGUgZXh0cmEgc3R5bGluZ1xuICovXG4uYy10aHVtYm5haWwtLXBvcCB7XG5cdC5jLXRodW1ibmFpbF9fZnJhbWUge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cdFx0QGluY2x1ZGUgYm94LXNoYWRvdztcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cdC5jLXRodW1ibmFpbF9fY29udGVudCB7XG5cdFx0bWFyZ2luLXRvcDogMzBweDtcblx0fVxufVxuXG5cbi8vIEdyb3VwIHN0eWxpbmcgd2hlbiBob3ZlcmVkXG4uYy10aHVtYm5haWxfX2xpbmtbaHJlZl06aG92ZXIge1xuXG5cdC5jLXRodW1ibmFpbF9fY2FwdGlvbiB7XG5cdFx0Y29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblx0fVxufSIsIi5jLXRyYWRlbWFyayB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRjb2xvcjogcGFsZXR0ZShzZWNvbmRhcnksIDMwMCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCAxMDApO1xuXG5cdFx0LmtvbW1hLWVtYmxlbSB7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiAxMnB4IDEycHg7XG5cdFx0XHRhbmltYXRpb246IGxvZ28tc3BpbiAxLjhzIGxpbmVhciBpbmZpbml0ZTtcblx0XHR9XG5cdH1cbn1cblxuLmMtdHJhZGVtYXJrX190ZXh0IHtcblx0bWFyZ2luLXJpZ2h0OiA3cHg7XG59XG5cbkBrZXlmcmFtZXMgbG9nby1zcGluIHtcblx0ZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG5cdHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxufSIsIi5jLXZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTYwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmMtdmlkZW9fX3BsYWNlaG9sZGVye1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1My42JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZSgnbmV1dHJhbCcsIDEwMCk7IFxufVxuXG4uYy12aWRlb19faWZyYW1le1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn0iLCIucGFnZVRyYW5zaXRpb25PdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xNyU7XG4gIHdpZHRoOiAxMzQlO1xuICBoZWlnaHQ6IDEyMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICB6LWluZGV4OiA5OTk7XG4gIC8vb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEyMCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuXG4gICYuZG93biB7XG4gICAgLy9vcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgJi5kb25lIHtcbiAgICAvL29wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTIwJSk7XG4gIH1cbn1cblxuLmMtdHJhZGVtYXJrX190ZXh0IHtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBPcmdhbmlzbXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5cbkBpbXBvcnQgXCJvcmdhbmlzbXMuYmxvY2tcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY29udGFjdFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jb29raWVCYXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZm9vdGVyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmZvcm1cIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuaGVhZGVyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLm90aGVyTW9kZWxzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLm92ZXJsYXlNZW51XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnN0b3JpZXNcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuc3ViZm9vdGVyXCI7XG4iLCIuby1ibG9jayB7XG4gIEBpbmNsdWRlIHZzcGFjaW5nKFxuICAgICAgJ21hcmdpbi1ib3R0b20nIDFcbiAgKTtcblxuICAvLyBUb3AgbWFyZ2luIG9ubHkgb24gY29uc2VjdXRpdmUgYmxvY2tzXG4gICYgKyAmIHtcbiAgICBAaW5jbHVkZSB2c3BhY2luZyhcbiAgICAgICAgJ21hcmdpbi10b3AnIDFcbiAgICApO1xuICB9XG59IiwiLm8tY29udGFjdCB7XG5cbn1cblxuXG4uby1jb250YWN0X19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHh4bCk7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cblxuLm8tY29udGFjdF9faW5mb3JtYXRpb24ge1xuXHQmID4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6IDEuNWVtO1xuXHR9XG59XG5cblxuLm8tY29udGFjdF9fYnVzaW5lc3Mge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdG1hcmdpbi10b3A6IDJlbTtcblx0cGFkZGluZy10b3A6IDJlbTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcbn1cblxuXG4uby1jb250YWN0X19vZmZpY2VzIHtcblx0bWFyZ2luLXRvcDogMS41ZW07XG5cblx0QGluY2x1ZGUgbXEoNDAwKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cbn1cblxuXG4uby1jb250YWN0X19vZmZpY2Uge1xuXHRAaW5jbHVkZSBtcSgkbWF4OiA0MDApIHtcblx0XHRtYXJnaW4tdG9wOiAxLjVlbTtcblx0fVxuXHRAaW5jbHVkZSBtcSg0MDApIHtcblx0XHR3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcblx0fVxuXG5cdCYgPiAqICsgKiB7XG5cdFx0bWFyZ2luLXRvcDogMWVtO1xuXHR9XG59XG5cblxuLm8tY29udGFjdF9fY29tbWVyY2lhbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0QGluY2x1ZGUgZm9udC1zaXplKHMpO1xuXHRAaW5jbHVkZSBmb250LXdlaWdodCg0MDApO1xuXG5cdGR0IHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdHdpZHRoOiAxMDBweDtcblx0fVxuXHRkZCB7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcblx0fVxufSIsIi5vLWNvb2tpZS1iYXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIEBpbmNsdWRlIHooei1jb29raWUpO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzaXRlLWNvb2tpZUJhci1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCA3MDApO1xuICBvcGFjaXR5OiAxO1xuICBib3gtc2hhZG93OiAwIC00cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAwLjZzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXG4gICYuaXMtYWNjZXB0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLmlzLXRyYW5zaXRpb25pbmctb3V0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAlLCAwKTtcbiAgfVxufVxuXG4uby1jb29raWUtYmFyX19tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5vLWNvb2tpZS1iYXJfX3RleHQge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uby1jb29raWUtYmFyX19saW5rIHtcbiAgY29sb3I6IHdoaXRlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAwLjc1KTtcbiAgfVxufVxuXG4uby1jb29raWUtYmFyX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nOiA1cHggMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShzZWNvbmRhcnksIDMwMCk7XG5cbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShwYWxldHRlKHNlY29uZGFyeSwgMzAwKSwgMC41KTtcbiAgfVxufSIsIi5vLWZvb3RlciB7XG5cdEBpbmNsdWRlIHooei1mb290ZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwpO1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcblx0dHJhbnNpdGlvbjogcGFkZGluZyAwLjZzO1xuXG5cdC5pcy1jb29raWUtYmFyLXZpc2libGUgJiB7XG5cdFx0cGFkZGluZy1ib3R0b206ICRzaXRlLWNvb2tpZUJhci1oZWlnaHQ7XG5cdH1cbn1cblxuLm8tZm9vdGVyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHQncGFkZGluZy10b3AnIDAuNSxcblx0XHRcdCdwYWRkaW5nLWJvdHRvbScgMC41XG5cdCk7XG59XG5cbi5vLWZvb3Rlcl9fY29sdW1ucyB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbi5vLWZvb3Rlcl9fYnJhbmQge1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHRcdCdtYXJnaW4tYm90dG9tJyAwLjMzXG5cdCk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG5cblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cbi5vLWZvb3Rlcl9fbG9nbyB7XG5cdHdpZHRoOiAxNTJweDtcbn1cblxuXG4vLyBMZWZ0IGNvbHVtblxuLm8tZm9vdGVyX19pbmZvIHtcblx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuKHNwYWNlKDQpKTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig0LCAxMCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNSwgMTIpO1xuXHR9XG59XG5cbi8vIFJpZ2h0IGNvbHVtblxuLm8tZm9vdGVyX19uYXYge1xuXHRAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0J21hcmdpbi10b3AnIDAuNVxuXHQpO1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHR9XG59XG5cbi5vLWZvb3Rlcl9fbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcbn1cblxuLm8tZm9vdGVyX19saW5rIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdGxlZnQ6IC0xMHB4O1xuXHRcdGJvdHRvbTogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKSBza2V3KDBkZWcpO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSkgc2tldygtMzdkZWcpO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblx0fVxufVxuXG4uby1mb290ZXJfX3NvY2lhbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogc3BhY2UoNCkgMCAwO1xufVxuXG4uby1mb290ZXJfX2NoYW5uZWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgyKTtcbn1cblxuLm8tZm9vdGVyX19pY29uIHtcblx0ZmxleDogYXV0bztcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuXG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblx0fVxufSIsIi8qKlxuICogTk9URTpcbiAqIFRvIHByZXZlbnQgdGhlIGhvbmV5IHBvdCBmcm9tIHdvcmtpbmdcbiAqIHRoZSBvLWZvcm0gY2FuJ3QgaGF2ZSBhIHBvc2l0aW9uIHByb3BlcnR5LlxuICpcbiAqXG4gKiBNaW4td2lkdGggZm9yIGVsZW1lbnRzXG4gKiBVc2VkIGZvciBhdXRvbWF0aWMgd3JhcHBpbmcgb2Ygcm93c1xuICovXG4kby1mb3JtLWVsZW1lbnQtbWluLXdpZHRoOiAyMjVweDtcblxuXG4uby1mb3JtIHt9XG5cbi5vLWZvcm1fX3RpdGxlIHtcblx0bWFyZ2luOiAyMHB4IDA7XG59XG5cbi5vLWZvcm1fX3JvdyB7XG5cblx0JiArICYge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cbn1cblxuLm8tZm9ybV9fcm93LS1zcGxpdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuXG5cdC8vIERpcmVjdCBjaGlsZHJlblxuXHQmID4gKiB7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHRcdGZsZXgtYmFzaXM6ICRvLWZvcm0tZWxlbWVudC1taW4td2lkdGg7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdH1cbn1cblxuLm8tZm9ybV9fc3VibWl0IHtcblx0bWFyZ2luLXRvcDogNjBweDtcbn0iLCIuby1oZWFkZXIge1xuXHRAaW5jbHVkZSB6KHotaGVhZGVyKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiBzcGFjZSg0KSAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSwgNzAwKTtcblxuXHQmLmlzLXN0aWNreSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0ei1pbmRleDogNTA7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRcdHBhZGRpbmctYm90dG9tOiBzcGFjZSg0KTtcblx0XHRib3gtc2hhZG93OiAwIC01cHggMzBweCBibGFjaztcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcywgMzAwbXM7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG5cblx0XHQuaXMtc3RpY2t5LWhlYWRlci12aXNpYmxlICYge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0fVxufVxuXG4uby1oZWFkZXJfX21haW4ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuLm8taGVhZGVyX19uYXYge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLm8taGVhZGVyX19sYW5ndWFnZSB7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcbn1cblxuLm8taGVhZGVyX19sb2dvIHtcblx0ZmxleDogbm9uZTtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLW9mZnNldDogMnB4O1xuXHRcdG91dGxpbmUtY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblx0fVxufVxuXG4uby1oZWFkZXJfX2ltZyB7XG5cdG1heC1oZWlnaHQ6IHNwYWNlKDYpO1xuXHR3aWR0aDogMTAwcHg7XG59XG5cbi5vLWhlYWRlcl9fdG9nZ2xlIHtcblx0QGluY2x1ZGUgbXEoMTAwMCkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCIuby1vdGhlci1tb2RlbHN7XG4gIHBhZGRpbmc6IDg1cHggMDtcblxuICBAaW5jbHVkZSBtcSg4NTApXG4gIHtcbiAgICBwYWRkaW5nOiAxNzBweCAwO1xuICB9XG59XG5cbi5vLW90aGVyLW1vZGVsc19fdGl0bGV7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggO1xufVxuXG4uby1vdGhlci1tb2RlbHNfX2dyaWR7XG5cbiAgJiA+ICogKyAqXG4gIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoODUwKVxuICB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAmID4gKiArICpcbiAgICB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEoOTUwKVxuICB7XG4gICAgJiA+ICogKyAqXG4gICAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEoMTE1MCl7XG5cbiAgICAmID4gKiArICpcbiAgICB7XG4gICAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICB9XG4gIH1cblxufVxuXG4uby1vdGhlci1tb2RlbHNfX2l0ZW17XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQyNXB4O1xuXG4gIEBpbmNsdWRlIG1xKCRtYXg6IDg1MCl7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoODUwKVxuICB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDYwcHgpIC8gMyk7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoOTUwKVxuICB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxMDBweCkgLyAzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKDExNTApe1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTYwcHgpIC8gMyk7XG4gIH1cblxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogT3ZlcmxheSBtZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tb3ZlcmxheS1tZW51OiAoXG4gICdjb2xvcic6ICAgICAgICAgICAgd2hpdGUsXG4gICdiZ2NvbG9yJzogICAgICAgICAgcGFsZXR0ZShzZWNvbmRhcnksIDcwMCksXG4gICdzaGFkZXItY29sb3InOiAgICAgcmdiYSgwLCAwLCAwLCAwLjYpLFxuICAnbW92ZS1zcGVlZCc6ICAgICAgIDQwMG1zLFxuICAnb3BhY2l0eS1zcGVlZCc6ICAgIDQwMG1zLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tb3ZlcmxheS1tZW51IHtcbiAgQGluY2x1ZGUgeih6LW92ZXJsYXktbWVudSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2JnY29sb3InKTtcblxuICAvLyBXaGVuIGl0IGRpc2FwcGVhcnMgb3V0IG9mIHZpZXdcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwcHgpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnbW92ZS1zcGVlZCcpLCBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXG4gIC8vIFdoZW4gaXQgY29tZXMgaW50byB2aWV3XG4gIC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuaWUgJiB7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICAuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAme1xuICAgICAgQGluY2x1ZGUgeih6LW92ZXJsYXktbWVudSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2hhZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLTEyMHZ3O1xuICAgIHdpZHRoOiAxMjB2dztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdzaGFkZXItY29sb3InKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdvcGFjaXR5LXNwZWVkJyk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdtb3ZlLXNwZWVkJyk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuICAgIC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhpZGUgb3ZlcmxheSBtZW51IG9uIGxhcmdlciB2aWV3cG9ydHNcbiAgLy9AaW5jbHVkZSBtcSgxMDAwKSB7XG4gIC8vICBkaXNwbGF5OiBub25lO1xuICAvL31cbn1cblxuLm8tb3ZlcmxheS1tZW51X19iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG4gIHBhZGRpbmctdG9wOiBzcGFjZSg0KTtcbiAgcGFkZGluZy1ib3R0b206IHNwYWNlKDQpO1xufVxuXG4uby1vdmVybGF5LW1lbnVfX2ltZyB7XG4gIGhlaWdodDogc3BhY2UoNik7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNXR1cm4pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuXG4gIC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX25hdiB7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG4gIG1hcmdpbi10b3A6IHNwYWNlKDMpO1xufVxuXG4uby1vdmVybGF5LW1lbnVfX2xpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19saW5rIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGwpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnY29sb3InKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvcGFjaXR5OiAwLjc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIG91dGxpbmUtY29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnY29sb3InKTtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG59IiwiLm8tc3RvcmllcyB7XG5cbn1cblxuLm8tc3Rvcmllc19faGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMTIuNSU7XG59XG5cbi5vLXN0b3JpZXNfX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IDguMzMzJTtcbn0iLCIvKipcbiAqIFN1YmZvb3RlclxuICovXG5cbi5vLXN1YmZvb3RlciB7XG5cdEBpbmNsdWRlIHooei1zdWJmb290ZXIpO1xuXHRjb2xvcjogcGFsZXR0ZShzZWNvbmRhcnksIDMwMCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCA3MDApO1xufVxuXG4uby1zdWJmb290ZXJfX21haW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0cGFkZGluZzogMTVweCAwO1xufVxuXG4uby1zdWJmb290ZXJfX2NvcHlyaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0bWFyZ2luLXJpZ2h0OiAzMHB4O1xuXHRwYWRkaW5nOiAxNXB4IDA7XG59XG5cbi5vLXN1YmZvb3Rlcl9fdHJhZGVtYXJrIHtcblx0bWFyZ2luLXJpZ2h0OiAzMHB4O1xuXHRwYWRkaW5nOiAxNXB4IDA7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbGFuZ3VhZ2Uge1xuXHRmbGV4LWJhc2lzOiAyMTBweDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdHBhZGRpbmc6IDE1cHggMDtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRlbXBsYXRlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBpbXBvcnQgXCJzaG9wcGluZ0NhcnRcIjtcbkBpbXBvcnQgXCJjaGVja291dFwiOyIsIi5vLXNob3BwaW5nY2FydF9faGVhZGVyIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHh4bCk7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5vLXNob3BwaW5nY2FydCB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cbi5vLXNob3BwaW5nY2FydF9fbGlzdCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nOiAwIDMwcHg7XG5cbiAgZGl2LnJlbWFya3MtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDE1cHggNXB4IHJnYmEoMjIsIDU3LCA5NSwgMC4wNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgaDQge1xuICAgICAgY29sb3I6ICMzMjMyMzI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUxZTM7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDE1cHggNXB4IHJnYmEoMjIsIDU3LCA5NSwgMC4wNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAzMHB4IDUwcHggMjBweCAzMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTFlMztcblxuICAgICAgJiArIGxpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgY29sb3I6ICNmOTVkNWQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIH1cblxuICAgICAgLmxlZnQsIC5yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cblxuICAgICAgLmxlZnQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgY29sb3I6ICM4NzkxYTA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG5cbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogIzJkMzIzYztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBjb2xvcjogIzNjNDE0YjtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogYmx1ZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGNvbG9yOiAjM2M0MTRiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuXG4gICAgICAgIC5vcmRlci1ib3gge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgLmFtb3VudC1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmFtb3VudC1ib3gge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmluY3JlYXNlLFxuICAgICAgICAgICAgLmRlY3JlYXNlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNiM2IzO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICAgICAgICAgICYucGxhaW4ge1xuICAgICAgICAgICAgICBjb2xvcjogIzY3NzE3YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGV2QnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbi5vLXNob3BwaW5nQ2FydF9fb3ZlcnZpZXcge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAuYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICBoMyB7XG4gICAgICBjb2xvcjogIzY5NmU3MztcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogIzY3NzE3YTtcbiAgICAgIC8vZm9udC1mYW1pbHk6ICRmb250RmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICBiIHtcbiAgICAgICAgY29sb3I6ICMzMjMyMzI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcmRlci1vdmVydmlldyB7XG4gICAgICBoNSB7XG4gICAgICAgIGNvbG9yOiAjNjk2ZTc4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAvL0BpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiBmbGV4LXN0YXJ0KTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6IGJsdWU7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NmJkZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5pbnB1dC5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2hvcEJ1dHRvbnMge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICBhLmJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIH1cblxuICBmb3JtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLmRlbGV0ZS1tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5O1xuICBib3JkZXI6IHNvbGlkIDFweCByZWQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC5tb2RhbC1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIH1cblxuICAubW9kYWwtYm94IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgLy9AaW5jbHVkZSBmbGV4KGNlbnRlciBjZW50ZXIpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDE1cHggNXB4IHJnYmEoMjIsIDU3LCA5NSwgMC4yKTtcblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiBibHVlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgdG9wOiAyNXB4O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBjb2xvcjogZ3JleTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiBncmV5O1xuICAgIH1cblxuICAgIC5idXR0b25zIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgIGEuYnV0dG9uIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYmx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYueWVsbG93IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQGluY2x1ZGUgbXEobnVsbCwgMTEwMCkge1xuICAuc2hvcHBpbmdDYXJ0Q29udGVudCB7XG4gICAgZGl2LnNob3BwaW5nY2FydEl0ZW1MaXN0LFxuICAgIC5zaG9wcGluZ0NhcnRJbmZvQmFyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBtcShudWxsLCAxMTAwKSB7XG4gIC5zaG9wcGluZ0NhcnRDb250ZW50IHtcbiAgICBkaXYuc2hvcHBpbmdjYXJ0LWhlYWRlciB7XG4gICAgICBoMSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgYS5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG9wQnV0dG9ucyB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgfVxuICB9XG59XG5cblxuQGluY2x1ZGUgbXEobnVsbCwgNDI1KSB7XG4gIC5zaG9wcGluZ0NhcnRDb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgZGl2LnNob3BwaW5nY2FydC1oZWFkZXIsXG4gICAgZGl2LnNob3BwaW5nY2FydEl0ZW1MaXN0IHAge1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cblxuICAgIC5zaG9wQnV0dG9ucyB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgfVxuXG4gICAgLnNob3BwaW5nQ2FydEluZm9CYXIge1xuICAgICAgLmJveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgJi5vcmRlci1vdmVydmlldyB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUxZTM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuby1jaGVja291dCB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cbi5vLWNoZWNrb3V0X19vcmRlci1kZXRhaWxzIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgdGFibGUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uby1jaGVja291dF9fcmVtYXJrcyB7XG4gIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uby1jaGVja291dF9faW52b2ljZS1hbmQtc2hpcHBpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcblxuICAuaW52b2ljZSxcbiAgLnNoaXBwaW5nIHtcbiAgICB3aWR0aDogNDcuNSU7XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5jLWZvcm0tZWxlbWVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNDUlO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAmLnN0cmVldCxcbiAgICAgICYuY2l0eSB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICB9XG5cbiAgICAgICYuc3RyZWV0LFxuICAgICAgJi5wb3N0YWxfY29kZSxcbiAgICAgICYucGhvbmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgfVxuXG4gICAgICAmLmhvdXNlX251bWJlcixcbiAgICAgICYucG9zdGFsX2NvZGUge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaGlwcGluZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDUlO1xuICB9XG5cbiAgLmludm9pY2VfYWRkcmVzc19mb3JtLFxuICAuc2hpcHBpbmdfYWRkcmVzc19mb3JtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgaW5wdXQjaW52b2ljZV9hZGRyZXNzXy0xOmNoZWNrZWQgfiAuaW52b2ljZV9hZGRyZXNzX2Zvcm17XG4gICAgZGlzcGxheTpibG9jaztcbiAgfVxuXG4gIGlucHV0I3NoaXBwaW5nX2FkZHJlc3NfLTE6Y2hlY2tlZCB+IC5zaGlwcGluZ19hZGRyZXNzX2Zvcm17XG4gICAgZGlzcGxheTpibG9jaztcbiAgfVxufVxuXG4uby1jaGVja291dF9fdGVybXMge1xuXG59XG5cbi5vLWNoZWNrb3V0X190ZXJtcy1hbmQtc3VibWl0IHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmc6IDVweCAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NmJkZmY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn0iLCIucy1jaGVja2xpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuKDVweCk7XG5cblx0bGkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRsaW5lLWhlaWdodDogMS40NTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHR3aWR0aDogMThweDtcblx0XHRcdGhlaWdodDogMThweDtcblx0XHRcdG1hcmdpbi1yaWdodDogOHB4O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7XG5cdFx0fVxuXHR9XG5cblx0LmNoZWNrbGlzdC1oYXMteC1zbWFsbC1mb250ICZ7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblxuXHRcdGxpIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59IiwiLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cblxuXG4ucy10ZXh0IHtcblxuXHRoMiwgaDMsIGg0IHtcblx0XHRjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcblx0fVxuXG5cdC8vIEZpcnN0IHRoZSBvd2wgc2VsZWN0b3IgZm9yIHNldHRpbmcgYSBkZWZhdWx0IHZlcnRpY2FsIHJoeXRobVxuXHQmID4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR9XG5cblx0Ly8gTWFrZSBzdXJlIGZpcnN0IGl0ZW0gaW4gc2NvcGVkIHRleHQgaGFzIG5vIG1hcmdpbiBvbiB0b3Bcblx0JiA+IDpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0JiA+IHVsOm5vdChbY2xhc3NdKSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblxuXHRcdCYgPiBsaSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEuMTI1ZW07XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0XHRcdFx0Y29udGVudDogXCJcXDIwMjJcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IC00cHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JiA+IG9sOm5vdChbY2xhc3NdKSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyO1xuXG5cdFx0JiA+IGxpIHtcblx0XHRcdGNvdW50ZXItaW5jcmVtZW50OiBvbC1jb3VudGVyO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxLjhlbTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogY291bnRlcihvbC1jb3VudGVyKSBcIi4gXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR3aWR0aDogMS4yNzVlbTtcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkIGNvbG9yc1xuICogQmFzZWQgb24gdGhlc2UgYXJ0aWNsZXM6XG4gKiAtIGh0dHA6Ly9lcnNraW5lZGVzaWduLmNvbS9ibG9nL2ZyaWVuZGxpZXItY29sb3VyLW5hbWVzLXNhc3MtbWFwcy9cbiAqIC0gaHR0cHM6Ly9ibG9nLmF0ZWNobWVkaWEuY29tL2Nzcy1mb3ItbXVsdGlwbGUtdGhlbWVzL1xuICogT3V0cHV0IGlzIGluIHRoZSBmb3JtIG9mOlxuXG4gICAudS1jb2xvci1wcmltYXJ5IHtcbiAgICAgIGNvbG9yOiAjYmFkYTU1O1xuICAgfVxuXG4gIC51LWJnLW5ldXRyYWwtLWRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWNhZmY7XG4gIH1cbiAqL1xuXG5AZWFjaCAkbGV2ZWwsICRwYWxldHRlIGluICRwYWxldHRlcyB7XG5cdEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJHBhbGV0dGUge1xuXHRcdEBpZigkdHlwZSA9PSAnYmFzZScpe1xuXHRcdFx0LnUtY29sb3ItI3skbGV2ZWx9IHtcblx0XHRcdFx0Y29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHRcdC51LWJnLSN7JGxldmVsfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdC51LWNvbG9yLSN7JGxldmVsfS0tI3skdHlwZX0ge1xuXHRcdFx0XHRjb2xvcjogI3skY29sb3J9O1xuXHRcdFx0fVxuXHRcdFx0LnUtYmctI3skbGV2ZWx9LS0jeyR0eXBlfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIudS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcbn1cblxuLnUtdmlzdWFsbHktaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcblxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi51LW9iamVjdC1jb3ZlciB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW4tYXV0byB7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLnUtdGV4dC1hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLypcbiogSWYgeW91IG5lZWQgdG8gbWFrZSBhIHF1aWNrIGZpeCwgeW91IGNhbiBkbyBpdCBoZXJlLlxuKiBMYXRlciB3aGVuIHlvdSBoYXZlIHRoZSB0aW1lLCB5b3UgY2FuIG1vdmUgdGhlIGZpeCBpbnRvIHRoZSBjb3JyZWN0IHBsYWNlIGluIHRoZSBzdHJ1Y3R1cmVcbiovXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE5vdGhpbmcgaGVyZSB5ZXQsIEdvb2Qgam9iISEiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGhpcyBncmlkIGNhbiBiZSB0dXJuZWQgb24gYW5kIG9mZiB3aGVuIHlvdSB3YW50IHRvIGNoZWNrXG4gKiBpZiBldmVyeXRoaW5nIGlzIG5pY2UgaW4gcGxhY2UuXG4gKiBTZXQgZmxhZyAnc2hvd0dyaWQnIHRvIHRydWUgaW4gc2l0ZS5waHBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuXG4vLyBDb2xvcjogU2V0IGEgaHVlIHZhbHVlIHRoYXQgaGFzIGVub3VnaCBjb250cmFzdFxuJHZnLWh1ZTogXHRcdFx0XHRcdDIzMDsgLy8gMC0zNjBcblxuLy8gQ29sdW1uczogTnVtYmVyIG9mIGNvbHVtbnMgcGVyIHZpZXdwb3J0XG4kdmctY29sdW1uLWNvdW50LXM6IFx0XHQkc2l0ZS1jb2x1bW5zLXM7XG4kdmctY29sdW1uLWNvdW50LW06IFx0XHQkc2l0ZS1jb2x1bW5zLW07XG4kdmctY29sdW1uLWNvdW50LWw6IFx0XHQkc2l0ZS1jb2x1bW5zLWw7XG5cblxuLy8gRG8gc29tZSBjYWxjdWxhdGlvbnMgYW5kIHB1dCB0aGVtIGluIHZhcmlhYmxlcyBmb3IgcmV1c2VcbiR2Zy1jb2x1bW4td2lkdGgtczogcGVyY2VudGFnZSgxIC8gJHZnLWNvbHVtbi1jb3VudC1zKTtcbiR2Zy1jb2x1bW4td2lkdGgtbTogcGVyY2VudGFnZSgxIC8gJHZnLWNvbHVtbi1jb3VudC1tKTtcbiR2Zy1jb2x1bW4td2lkdGgtbDogcGVyY2VudGFnZSgxIC8gJHZnLWNvbHVtbi1jb3VudC1sKTtcbiR2Zy1jb2xvci0xOiBoc2xhKCR2Zy1odWUsIDEwMCwgNTAsIDAuMDcpO1xuJHZnLWNvbG9yLTI6IGhzbGEoJHZnLWh1ZSwgMTAwLCA1MCwgMC4wNCk7XG5cblxuLnUtdmlzaWJsZS1ncmlkIHtcblx0QGluY2x1ZGUgeih6LXZpc2libGUtZ3JpZCk7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHQvKiA4IHBvaW50IGdyaWQgbGluZXMgKi9cblx0Ly9iYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuXHQvL1x0dG8gYm90dG9tLFxuXHQvL1x0aHNsYSgwLCAxMDAsIDUwLCAwLjg0KSAwLFxuXHQvL1x0aHNsYSgwLCAxMDAsIDUwLCAwKSAxcHgsXG5cdC8vXHRoc2xhKDAsIDEwMCwgNTAsIDApIDhweCxcblx0Ly9cdGhzbGEoMjAwLCAxMDAsIDUwLCAwLjA0KSA4cHhcblx0Ly8pO1xuXG5cdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cbn1cblxuLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcblx0aGVpZ2h0OiAxMDB2aDtcblxuXHRiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0dG8gcmlnaHQsXG5cdFx0XHQkdmctY29sb3ItMSxcblx0XHRcdCR2Zy1jb2xvci0xICR2Zy1jb2x1bW4td2lkdGgtcyxcblx0XHRcdCR2Zy1jb2xvci0yICR2Zy1jb2x1bW4td2lkdGgtcyxcblx0XHRcdCR2Zy1jb2xvci0yICgkdmctY29sdW1uLXdpZHRoLXMgKiAyKVxuXHQpO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHR0byByaWdodCxcblx0XHRcdFx0JHZnLWNvbG9yLTEsXG5cdFx0XHRcdCR2Zy1jb2xvci0xICR2Zy1jb2x1bW4td2lkdGgtbSxcblx0XHRcdFx0JHZnLWNvbG9yLTIgJHZnLWNvbHVtbi13aWR0aC1tLFxuXHRcdFx0XHQkdmctY29sb3ItMiAoJHZnLWNvbHVtbi13aWR0aC1tICogMilcblx0XHQpO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHR0byByaWdodCxcblx0XHRcdFx0JHZnLWNvbG9yLTEsXG5cdFx0XHRcdCR2Zy1jb2xvci0xICR2Zy1jb2x1bW4td2lkdGgtbCxcblx0XHRcdFx0JHZnLWNvbG9yLTIgJHZnLWNvbHVtbi13aWR0aC1sLFxuXHRcdFx0XHQkdmctY29sb3ItMiAoJHZnLWNvbHVtbi13aWR0aC1sICogMilcblx0XHQpO1xuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/