@charset 'UTF-8';
/**
 * @license
 * MyFonts Webfont Build ID 3425517, 2017-07-20T11:58:46-0400
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: FF Tibere Web Medium by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-medium/
 *
 * Webfont: FF Tibere Web Light by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-light/
 *
 * Webfont: FF Tibere Web Italic by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-italic/
 *
 * Webfont: FF Tibere Web Light Italic by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-light-italic/
 *
 * Webfont: FF Tibere Web Bold by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot-bold/
 *
 * Webfont: Tibere Ornaments Banded by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ornaments-banded/
 *
 * Webfont: FF Tibere Web by FontFont
 * URL: https://www.myfonts.com/fonts/fontfont/tibere/ot/
 *
 *
 * License: https://www.myfonts.com/viewlicense?type=web&buildid=3425517
 * Licensed pageviews: 500,000
 * Webfonts copyright: 2010 Albert Boton published by FSI FontShop International GmbH
 *
 * © 2017 MyFonts Inc
*/
/* @import must be at top of file, otherwise CSS will not work */
@import url('//hello.myfonts.net/count/3444ed');
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700');
@font-face
{
    font-family: 'FF Tibere';
    font-weight: 300;
    font-style: normal;

    src: url('../fonts/3444ED_1_0.eot?#iefix') format('embedded-opentype'), url('../fonts/3444ED_1_0.woff2') format('woff2'), url('../fonts/3444ED_1_0.woff') format('woff'), url('../fonts/3444ED_1_0.ttf') format('truetype');
}

@font-face
{
    font-family: 'FF Tibere';
    font-weight: 500;
    font-style: normal;

    src: url('../fonts/3444ED_6_0.eot?#iefix') format('embedded-opentype'), url('../fonts/3444ED_6_0.woff2') format('woff2'), url('../fonts/3444ED_6_0.woff') format('woff'), url('../fonts/3444ED_6_0.ttf') format('truetype');
}

@font-face
{
    font-family: 'FF Tibere';
    font-weight: 700;
    font-style: normal;

    src: url('../fonts/3444ED_4_0.eot?#iefix') format('embedded-opentype'), url('../fonts/3444ED_4_0.woff2') format('woff2'), url('../fonts/3444ED_4_0.woff') format('woff'), url('../fonts/3444ED_4_0.ttf') format('truetype');
}

.radios .option__input,
.webform-radios-other .option__input,
.checkboxes .option__input,
.webform-checkboxes-other .option__input
{
    position: absolute;
    top: auto;
    left: -10000px;

    overflow: hidden; 

    width: 1px;
    height: 1px;
    margin: 0 !important;
}

label,
.radios legend,
.webform-radios-other legend,
.checkboxes legend,
.webform-checkboxes-other legend
{
    font-weight: 600;

    display: block;

    margin-bottom: 8px;

    cursor: pointer;
}

/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html
{
    font-family: sans-serif;
    /* 1 */

        -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

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

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary
{
    /* 1 */
    display: block;
}

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

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

    height: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress
{
    vertical-align: baseline;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden]
{
    display: none;
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a
{
    background-color: transparent;
    /* 1 */

    -webkit-text-decoration-skip: objects;
    /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover
{
    outline-width: 0;
}

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

    border-bottom: none;
    /* 2 */
}

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

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

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

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

    margin: .67em 0;
}

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

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

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

    position: relative;

    vertical-align: baseline;
}

sub
{
    bottom: -.25em;
}

sup
{
    top: -.5em;
}

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

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

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

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

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

    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 2 */
}

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea
{
    font: inherit;
    /* 1 */

    margin: 0;
    /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup
{
    font-weight: bold;
}

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

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

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

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

    border-style: none;
}

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

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset
{
    margin: 0 2px;
    padding: .35em .625em .75em; 

    border: 1px solid #c0c0c0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend
{
    /* 2 */
    display: table;

    box-sizing: border-box;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */

    white-space: normal;
    /* 1 */

    color: inherit;
    /* 1 */
}

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

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

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

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

    -webkit-appearance: textfield;
    /* 2 */
}

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

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder
{
    opacity: .54; 
    color: inherit;
}

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

    -webkit-appearance: button;
    /* 2 */
}

*
{
    box-sizing: border-box;
}

body
{
    font: 400 14px/1.5 'Open Sans', Helvetica, Arial, sans-serif;

    overflow-x: hidden;

    color: #181919;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 640px)
{
    body
    {
        font: 400 16px/1.5 'Open Sans', Helvetica, Arial, sans-serif;
    }
}
@media (min-width: 1024px)
{
    body
    {
        font: 400 19px/1.5 'Open Sans', Helvetica, Arial, sans-serif;
    }
}
body:before
{
    position: fixed;
    z-index: 0; 
    top: 0;
    left: 0;

    width: 0;
    height: 0;

    content: '';
    transition: opacity 300ms cubic-bezier(.77, 0, .175, 1);

    opacity: 0;
    background-color: rgba(24, 25, 25, .25);
}
body.clipped
{
    overflow-y: hidden;
}
body.clipped:before
{
    z-index: 10; 

    width: 100%;
    height: 100%;

    opacity: 1;
}
@media (max-width: 1023px)
{
    body.clipped--mobile
    {
        overflow-y: hidden;
    }
}
@media (max-width: 1023px)
{
    body.clipped--mobile:before
    {
        z-index: 10; 

        width: 100%;
        height: 100%;

        opacity: 1;
    }
}

::selection
{
    color: #181919; 
    background-color: #ffbf47;
}

fieldset
{
    margin: 0;
    padding: 0;

    border: 0;
}

h1
{
    font: 700 32px/1.25 'FF Tibere', Palatino, Georgia, sans-serif; 

    display: block;

    margin: 64px 0 32px;
}
@media (min-width: 640px)
{
    h1
    {
        font-size: 48px; 

        margin: 96px 0 48px;
    }
}
@media (min-width: 1024px)
{
    h1
    {
        font-size: 62px; 

        margin: 124px 0 62px;
    }
}

h2
{
    font: 700 24px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 48px 0 24px;
}
@media (min-width: 640px)
{
    h2
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}
@media (min-width: 1024px)
{
    h2
    {
        font-size: 32px; 

        margin: 64px 0 32px;
    }
}

h3
{
    font: 600 21px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 42px 0 21px;
}
@media (min-width: 640px)
{
    h3
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}
@media (min-width: 1024px)
{
    h3
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}

h4
{
    font: 400 19px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 19px;
}
@media (min-width: 640px)
{
    h4
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}
@media (min-width: 1024px)
{
    h4
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}

h5
{
    font: 700 16px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 32px 0 16px;
}
@media (min-width: 640px)
{
    h5
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}
@media (min-width: 1024px)
{
    h5
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}

h6
{
    font: 600 14px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 14px;
}
@media (min-width: 640px)
{
    h6
    {
        font-size: 16px; 

        margin: 32px 0 16px;
    }
}
@media (min-width: 1024px)
{
    h6
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}

.h1
{
    font: 700 32px/1.25 'FF Tibere', Palatino, Georgia, sans-serif; 

    display: block;

    margin: 64px 0 32px;
}
@media (min-width: 640px)
{
    .h1
    {
        font-size: 48px; 

        margin: 96px 0 48px;
    }
}
@media (min-width: 1024px)
{
    .h1
    {
        font-size: 62px; 

        margin: 124px 0 62px;
    }
}

.h2
{
    font: 700 24px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 48px 0 24px;
}
@media (min-width: 640px)
{
    .h2
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}
@media (min-width: 1024px)
{
    .h2
    {
        font-size: 32px; 

        margin: 64px 0 32px;
    }
}

.h3
{
    font: 600 21px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 42px 0 21px;
}
@media (min-width: 640px)
{
    .h3
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}
@media (min-width: 1024px)
{
    .h3
    {
        font-size: 28px; 

        margin: 56px 0 28px;
    }
}

.h4
{
    font: 400 19px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 19px;
}
@media (min-width: 640px)
{
    .h4
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}
@media (min-width: 1024px)
{
    .h4
    {
        font-size: 24px; 

        margin: 48px 0 24px;
    }
}

.h5
{
    font: 700 16px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 32px 0 16px;
}
@media (min-width: 640px)
{
    .h5
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}
@media (min-width: 1024px)
{
    .h5
    {
        font-size: 21px; 

        margin: 42px 0 21px;
    }
}

.h6
{
    font: 600 14px/1.25 'Open Sans', Helvetica, Arial, sans-serif; 

    display: block;

    margin: 28px 0 14px;
}
@media (min-width: 640px)
{
    .h6
    {
        font-size: 16px; 

        margin: 32px 0 16px;
    }
}
@media (min-width: 1024px)
{
    .h6
    {
        font-size: 19px; 

        margin: 28px 0 19px;
    }
}

h1:focus,
h2:focus,
h3:focus,
h4:focus,
h5:focus,
h6:focus
{
    outline: none;
}

a:link
{
    transition: color 150ms cubic-bezier(.77, 0, .175, 1), background 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 

    color: #002f87;
}

a:visited
{
    color: #4c2c92;
}

a:hover
{
    color: #0041ba; 
    background-color: #f2f4f9;
}

a:focus
{
    z-index: 1; 

    color: #0041ba;
    outline: 0;
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}

a:active
{
    color: #0041ba; 
    outline: 0;
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}

a.teaser
{
    font-weight: 600;
}

a[target='_blank']
{
    margin-right: -24px;
}
a[target='_blank']:after
{
    z-index: 0; 

    display: inline-block;

    width: 24px;
    height: 24px;

    content: '';
    transition: opacity 150ms cubic-bezier(.77, 0, .175, 1), transform 150ms cubic-bezier(.77, 0, .175, 1);
    transform: translateX(-25%);
    vertical-align: bottom;

    opacity: 0;
    background: #f2f4f9 url('../img/icons/i_external.svg') no-repeat 50% 50%/16px auto;
}
a[target='_blank']:hover:after
{
    z-index: 1; 

    transform: translateX(0%);

    opacity: 1;
}

a[href^='tel:']
{
    white-space: nowrap;
}

ul
{
    margin: 0 0 14px;
}
@media (min-width: 640px)
{
    ul
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    ul
    {
        margin-bottom: 19px;
    }
}

li
{
    margin-top: 8px;
}
li:first-child
{
    margin-top: 0;
}

ol
{
    margin: 0 0 14px;
}
@media (min-width: 640px)
{
    ol
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    ol
    {
        margin-bottom: 19px;
    }
}

dl
{
    margin: 0 0 28px;
}
@media (min-width: 640px)
{
    dl
    {
        margin-bottom: 32px;
    }
}
@media (min-width: 1024px)
{
    dl
    {
        margin-bottom: 38px;
    }
}

dt
{
    font-weight: 600; 

    margin-top: 28px;
}
@media (min-width: 640px)
{
    dt
    {
        margin-top: 32px;
    }
}
@media (min-width: 1024px)
{
    dt
    {
        margin-top: 38px;
    }
}
dt:first-child
{
    margin-top: 0;
}

dd
{
    margin: 16px 0 0;
}

img,
picture
{
    display: block;

    max-width: 100%;
    height: auto;

    border-radius: 4px;
}

figure
{
    overflow: hidden; 

    margin: 0 0 28px;

    border-radius: 4px;
}
@media (min-width: 640px)
{
    figure
    {
        margin-bottom: 32px;
    }
}
@media (min-width: 1024px)
{
    figure
    {
        margin-bottom: 38px;
    }
}
@media (max-width: 639px)
{
    figure.map--locations
    {
        display: none;
    }
}

figcaption
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 14px; 
    font-style: italic;

    margin: 16px 0 0;

    color: #596063;
}

iframe,
video
{
    overflow: hidden; 

    margin: 0 0 14px;

    border-radius: 4px;
}
@media (min-width: 640px)
{
    iframe,
    video
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    iframe,
    video
    {
        margin-bottom: 19px;
    }
}

p
{
    margin: 0 0 28px;
}
@media (min-width: 640px)
{
    p
    {
        margin-bottom: 32px;
    }
}
@media (min-width: 1024px)
{
    p
    {
        margin-bottom: 38px;
    }
}

strong
{
    font-weight: 600;
}

.casing--caps
{
    text-transform: uppercase;
}

.casing--lowercase
{
    text-transform: lowercase;
}

mark
{
    background-color: #ffbf47;
    box-shadow: 0 0 0 4px #ffbf47;
}

abbr[title]
{
    font-variant: none;

    cursor: help; 
    text-decoration: none;

    border-bottom: 1px dotted;
}

blockquote
{
    font-family: 'FF Tibere', Palatino, Georgia, sans-serif;
    font-size: 28px;
    line-height: 1.25; 

    margin: 56px 0;
    padding: 0 28px;

    border-left: 4px solid #ae936c;
}
@media (min-width: 640px)
{
    blockquote
    {
        font-size: 32px; 

        margin: 64px 0;
        padding: 0 32px;
    }
}
@media (min-width: 1024px)
{
    blockquote
    {
        margin: 76px 0; 
        padding: 0 38px;
    }
}
blockquote p:before
{
    content: open-quote;
}
blockquote p:after
{
    content: close-quote;
}
blockquote footer
{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 16px; 
    font-style: normal;
}
blockquote footer:before
{
    display: inline-block;

    margin-right: 8px; 

    content: '\2014';
}

hr
{
    height: 1px;
    margin: 32px 0;

    border: 0; 
    background-color: #b3b9bb;
}

table
{
    width: 100%;

    border-collapse: collapse;
}

caption
{
    text-align: left; 

    color: #596063;
}

tr:hover th,
tr:hover td
{
    background-color: rgba(89, 96, 99, .05);
}

thead th,
thead td
{
    font-weight: 700;

    padding: 8px 0;

    text-align: left; 

    color: #002f87;
    border-bottom: 2px solid;
}

tbody th,
tbody td
{
    padding: 8px 0;

    text-align: left; 

    border-top: 1px solid #181919;
}

tbody th
{
    font-weight: 600;
}

tbody tr:first-child th,
tbody tr:first-child td
{
    border-top: 0;
}

select
{
    font-size: 16px;

    overflow: hidden;

    width: 100%;
    height: 41px;
    padding: 8px 40px 8px 8px;

    cursor: pointer;
    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 
    text-overflow: ellipsis;

    border: 2px solid #596063;
    border-radius: 4px;
    background-image: url('../img/icons/i_caret-down.svg');
    background-repeat: no-repeat;
    background-position: calc(100% - 8px) 50%;
    background-size: 24px auto;

    appearance: none;
}
@media (min-width: 640px)
{
    select
    {
        height: 44px;
    }
}
@media (min-width: 1024px)
{
    select
    {
        height: 48px;
    }
}
select::-ms-expand
{
    display: none;
}
select:hover
{
    border-color: #002f87;
}
select:focus
{
    border-color: #002f87;
    outline: 0; 
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}

.radios .option,
.webform-radios-other .option
{
    position: relative;
}
.radios .option__icon,
.webform-radios-other .option__icon
{
    position: absolute;
    z-index: 1; 
    top: 1px;

    display: block;

    width: 20px;
    height: 20px;

    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1);

    border: 2px solid #596063;
    border-radius: 50%;
}
@media (min-width: 640px)
{
    .radios .option__icon,
    .webform-radios-other .option__icon
    {
        top: 2px;
    }
}
@media (min-width: 1024px)
{
    .radios .option__icon,
    .webform-radios-other .option__icon
    {
        top: 4px;
    }
}
.radios .option__icon:before,
.webform-radios-other .option__icon:before
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;

    content: '';
    transition: transform 150ms cubic-bezier(.77, 0, .175, 1), opacity 150ms cubic-bezier(.77, 0, .175, 1); 
    transform: scale(0);

    opacity: 0;
    border-radius: 50%;
    background-color: #002f87;
}
.radios .option__label,
.webform-radios-other .option__label
{
    font-weight: 400;

    position: relative;
    z-index: 2; 

    display: inline-block;

    padding-left: 28px;

    cursor: pointer;
}
.radios .option__input:focus + .option__label + .option__icon,
.webform-radios-other .option__input:focus + .option__label + .option__icon
{
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
.radios .option__input:focus + .option__label + .option__icon svg path,
.webform-radios-other .option__input:focus + .option__label + .option__icon svg path
{
    stroke-dashoffset: 0;
}
.radios .option:hover .option__icon,
.webform-radios-other .option:hover .option__icon
{
    border-color: #002f87;
    box-shadow: 0 0 0 4px #f2f4f9;
}
.radios .option:hover .option__icon:before,
.webform-radios-other .option:hover .option__icon:before
{
    transform: scale(.5); 

    opacity: .25;
    background-color: #002f87;
}
.radios .option__input:checked + .option__label + .option__icon,
.webform-radios-other .option__input:checked + .option__label + .option__icon
{
    border-color: #002f87;
}
.radios .option__input:checked + .option__label + .option__icon:before,
.webform-radios-other .option__input:checked + .option__label + .option__icon:before
{
    transform: scale(1); 

    opacity: 1;
}

.checkboxes .option,
.webform-checkboxes-other .option
{
    position: relative;
}
.checkboxes .option__icon,
.webform-checkboxes-other .option__icon
{
    position: absolute;
    z-index: 1; 
    top: 1px;

    display: block;

    width: 20px;
    height: 20px;

    transition: box-shadow 150ms cubic-bezier(.77, 0, .175, 1);

    border: 2px solid #596063;
    border-radius: 4px;
}
@media (min-width: 640px)
{
    .checkboxes .option__icon,
    .webform-checkboxes-other .option__icon
    {
        top: 2px;
    }
}
@media (min-width: 1024px)
{
    .checkboxes .option__icon,
    .webform-checkboxes-other .option__icon
    {
        top: 4px;
    }
}
.checkboxes .option__icon svg,
.webform-checkboxes-other .option__icon svg
{
    position: absolute;
    top: -2px;
    left: -2px;

    width: 20px;
    height: 20px;
}
.checkboxes .option__icon svg path,
.webform-checkboxes-other .option__icon svg path
{
    transition: all .6s ease; 

    fill: none;
    stroke: #002f87;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 71px;
    stroke-dashoffset: 71px;
}
.checkboxes .option__icon svg polyline,
.webform-checkboxes-other .option__icon svg polyline
{
    transition: all .3s ease; 

    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 18px;
    stroke-dashoffset: 18px;
}
.checkboxes .option__label,
.webform-checkboxes-other .option__label
{
    font-weight: 400;

    position: relative;
    z-index: 2; 

    display: inline-block;

    padding-left: 28px;

    cursor: pointer;
}
.checkboxes .option__input:focus + .option__label + .option__icon,
.webform-checkboxes-other .option__input:focus + .option__label + .option__icon
{
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
.checkboxes .option__input:focus + .option__label + .option__icon svg path,
.webform-checkboxes-other .option__input:focus + .option__label + .option__icon svg path
{
    stroke-dashoffset: 0;
}
.checkboxes .option:hover .option__icon,
.webform-checkboxes-other .option:hover .option__icon
{
    box-shadow: 0 0 0 4px #f2f4f9;
}
.checkboxes .option:hover .option__icon svg path,
.webform-checkboxes-other .option:hover .option__icon svg path
{
    stroke-dashoffset: 0;
}
.checkboxes .option__input:checked + .option__label + .option__icon,
.webform-checkboxes-other .option__input:checked + .option__label + .option__icon
{
    border-color: #002f87;
}
.checkboxes .option__input:checked + .option__label + .option__icon svg path,
.webform-checkboxes-other .option__input:checked + .option__label + .option__icon svg path
{
    fill: #002f87;
}
.checkboxes .option__input:checked + .option__label + .option__icon svg polyline,
.webform-checkboxes-other .option__input:checked + .option__label + .option__icon svg polyline
{
    stroke-dashoffset: 0;
}

input
{
    /*appearance: none;*/
    display: block;

    width: 100%;
    padding: 8px;

    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 

    border: 2px solid #596063;
}
input:focus
{
    border-color: #002f87;
    outline: 0; 
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
input:hover
{
    border-color: #002f87;
}

input[type='search']
{
    border-radius: 0; 

    appearance: none;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button
{
    margin: 0; 

    appearance: none;
}

textarea
{
    display: block;

    width: 100%;
    min-height: 128px;
    padding: 8px;

    resize: vertical;
    transition: border 150ms cubic-bezier(.77, 0, .175, 1), box-shadow 150ms cubic-bezier(.77, 0, .175, 1); 

    border: 2px solid #596063;
}
textarea:focus
{
    border-color: #002f87;
    outline: 0; 
    box-shadow: 0 0 0 4px rgba(0, 47, 135, .16);
}
textarea:hover
{
    border-color: #002f87;
}

address
{
    font-style: normal;

    margin: 0 0 14px;
}
@media (min-width: 640px)
{
    address
    {
        margin-bottom: 16px;
    }
}
@media (min-width: 1024px)
{
    address
    {
        margin-bottom: 19px;
    }
}

@page
{
    margin: 2cm;
}

*,
*:before,
*:after
{
    color: #000 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

a,
a:visited
{
    text-decoration: underline;
}

a[href]:after
{
    content: ' (' attr(href) ')';
}

abbr[title]:after
{
    content: ' (' attr(title) ')';
}

a[href^='#']:after,
a[href^='javascript:']:after
{
    content: '';
}

pre
{
    white-space: pre-wrap !important;
}

pre,
blockquote
{
    border: 1px solid #999;

    page-break-inside: avoid;
}

thead
{
    display: table-header-group;
}

tr,
img
{
    page-break-inside: avoid;
}

p,
h2,
h3
{
    orphans: 3;
    widows: 3;
}

h2,
h3
{
    page-break-after: avoid;
}

#header-container,
#footer-container,
.shortcut--main,
.shortcut--header,
.pagination,
svg,
img
{
    display: none;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByaW50LmNzcyIsIjEtc2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyIsIjEtc2V0dGluZ3MvYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsIjEtc2V0dGluZ3MvYm91cmJvbi9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwiMi10b29scy9fcGxhY2Vob2xkZXJzLnNjc3MiLCIzLWdlbmVyaWMvX25vcm1hbGl6ZS5zY3NzIiwiMy1nZW5lcmljL19ib3gtc2l6aW5nLnNjc3MiLCI0LWJhc2UvX2JvZHkuc2NzcyIsIjEtc2V0dGluZ3MvX2NvbG9ycy5zY3NzIiwiMi10b29scy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiMS1zZXR0aW5ncy9fYW5pbWF0aW9ucy5zY3NzIiwiNC1iYXNlL19mb3Jtcy5zY3NzIiwiMi10b29scy9fbWl4aW5zLnNjc3MiLCI0LWJhc2UvX2hlYWRpbmdzLnNjc3MiLCI0LWJhc2UvX2xpbmtzLnNjc3MiLCI0LWJhc2UvX2xpc3RzLnNjc3MiLCI0LWJhc2UvX21lZGlhLnNjc3MiLCIxLXNldHRpbmdzL19yYWRpdXMuc2NzcyIsIjQtYmFzZS9fcGFyYWdyYXBocy5zY3NzIiwiNC1iYXNlL19xdW90ZXMuc2NzcyIsIjQtYmFzZS9fcnVsZXMuc2NzcyIsIjQtYmFzZS9fdGFibGVzLnNjc3MiLCI0LWJhc2UvX3NlbGVjdGlvbnMuc2NzcyIsIjQtYmFzZS9faW5wdXRzLnNjc3MiLCI0LWJhc2UvX2FkZHJlc3Nlcy5zY3NzIiwicHJpbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUN5QmpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBcUNFO0FBR0YsaUVBQWlFO0FBQ2pFLGdEQUFZO0FBT1osaUZBQVk7QUM1RFY7RUFDRSx5QkRzRDBCO0VDckQxQixtQkFYWTtFQVlaLGlCRG9Ec0Q7RUNsRHRELDROQ2dCNkMsRUFBQTs7QURyQi9DO0VBQ0UseUJEdUQwQjtF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dXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogQGxpY2Vuc2VcbiAqIE15Rm9udHMgV2ViZm9udCBCdWlsZCBJRCAzNDI1NTE3LCAyMDE3LTA3LTIwVDExOjU4OjQ2LTA0MDBcbiAqXG4gKiBUaGUgZm9udHMgbGlzdGVkIGluIHRoaXMgbm90aWNlIGFyZSBzdWJqZWN0IHRvIHRoZSBFbmQgVXNlciBMaWNlbnNlXG4gKiBBZ3JlZW1lbnQocykgZW50ZXJlZCBpbnRvIGJ5IHRoZSB3ZWJzaXRlIG93bmVyLiBBbGwgb3RoZXIgcGFydGllcyBhcmVcbiAqIGV4cGxpY2l0bHkgcmVzdHJpY3RlZCBmcm9tIHVzaW5nIHRoZSBMaWNlbnNlZCBXZWJmb250cyhzKS5cbiAqXG4gKiBZb3UgbWF5IG9idGFpbiBhIHZhbGlkIGxpY2Vuc2UgYXQgdGhlIFVSTHMgYmVsb3cuXG4gKlxuICogV2ViZm9udDogRkYgVGliZXJlIFdlYiBNZWRpdW0gYnkgRm9udEZvbnRcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvZm9udGZvbnQvdGliZXJlL290LW1lZGl1bS9cbiAqXG4gKiBXZWJmb250OiBGRiBUaWJlcmUgV2ViIExpZ2h0IGJ5IEZvbnRGb250XG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2ZvbnRmb250L3RpYmVyZS9vdC1saWdodC9cbiAqXG4gKiBXZWJmb250OiBGRiBUaWJlcmUgV2ViIEl0YWxpYyBieSBGb250Rm9udFxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9mb250cy9mb250Zm9udC90aWJlcmUvb3QtaXRhbGljL1xuICpcbiAqIFdlYmZvbnQ6IEZGIFRpYmVyZSBXZWIgTGlnaHQgSXRhbGljIGJ5IEZvbnRGb250XG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2ZvbnRmb250L3RpYmVyZS9vdC1saWdodC1pdGFsaWMvXG4gKlxuICogV2ViZm9udDogRkYgVGliZXJlIFdlYiBCb2xkIGJ5IEZvbnRGb250XG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2ZvbnRmb250L3RpYmVyZS9vdC1ib2xkL1xuICpcbiAqIFdlYmZvbnQ6IFRpYmVyZSBPcm5hbWVudHMgQmFuZGVkIGJ5IEZvbnRGb250XG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2ZvbnRmb250L3RpYmVyZS9vcm5hbWVudHMtYmFuZGVkL1xuICpcbiAqIFdlYmZvbnQ6IEZGIFRpYmVyZSBXZWIgYnkgRm9udEZvbnRcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvZm9udGZvbnQvdGliZXJlL290L1xuICpcbiAqXG4gKiBMaWNlbnNlOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS92aWV3bGljZW5zZT90eXBlPXdlYiZidWlsZGlkPTM0MjU1MTdcbiAqIExpY2Vuc2VkIHBhZ2V2aWV3czogNTAwLDAwMFxuICogV2ViZm9udHMgY29weXJpZ2h0OiAyMDEwIEFsYmVydCBCb3RvbiBwdWJsaXNoZWQgYnkgRlNJIEZvbnRTaG9wIEludGVybmF0aW9uYWwgR21iSFxuICpcbiAqIMKpIDIwMTcgTXlGb250cyBJbmNcbiovXG4vKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xuQGltcG9ydCB1cmwoXCIvL2hlbGxvLm15Zm9udHMubmV0L2NvdW50LzM0NDRlZFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDAsNDAwLDYwMCw3MDBcIik7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRkYgVGliZXJlXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8zNDQ0RURfMV8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzLzM0NDRFRF8xXzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzM0NDRFRF8xXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8zNDQ0RURfMV8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRkYgVGliZXJlXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8zNDQ0RURfNl8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzLzM0NDRFRF82XzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzM0NDRFRF82XzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8zNDQ0RURfNl8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRkYgVGliZXJlXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8zNDQ0RURfNF8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzLzM0NDRFRF80XzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzM0NDRFRF80XzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8zNDQ0RURfNF8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4ucmFkaW9zIC5vcHRpb25fX2lucHV0LFxuLndlYmZvcm0tcmFkaW9zLW90aGVyIC5vcHRpb25fX2lucHV0LCAuY2hlY2tib3hlcyAub3B0aW9uX19pbnB1dCxcbi53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgLm9wdGlvbl9faW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMHB4O1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5sYWJlbCwgLnJhZGlvcyBsZWdlbmQsXG4ud2ViZm9ybS1yYWRpb3Mtb3RoZXIgbGVnZW5kLCAuY2hlY2tib3hlcyBsZWdlbmQsXG4ud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIGxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2NC4xLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG50ZW1wbGF0ZSxcbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb250IHdlaWdodCB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41NDsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuYm9keSB7XG4gIGZvbnQ6IDQwMCAxNHB4LzEuNSBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzE4MTkxOTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQ6IDQwMCAxNnB4LzEuNSBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIGJvZHkge1xuICAgICAgZm9udDogNDAwIDE5cHgvMS41IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH0gfVxuICBib2R5OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0LCAyNSwgMjUsIDAuMjUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgIHotaW5kZXg6IDA7IH1cbiAgYm9keS5jbGlwcGVkIHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgICBib2R5LmNsaXBwZWQ6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICBib2R5LmNsaXBwZWQtLW1vYmlsZSB7XG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgYm9keS5jbGlwcGVkLS1tb2JpbGU6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDEwOyB9IH1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiZjQ3O1xuICBjb2xvcjogIzE4MTkxOTsgfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmgxIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNjRweCAwIDMycHg7XG4gIGZvbnQ6IDcwMCAzMnB4LzEuMjUgXCJGRiBUaWJlcmVcIiwgUGFsYXRpbm8sIEdlb3JnaWEsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgaDEge1xuICAgICAgbWFyZ2luOiA5NnB4IDAgNDhweDtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBoMSB7XG4gICAgICBtYXJnaW46IDEyNHB4IDAgNjJweDtcbiAgICAgIGZvbnQtc2l6ZTogNjJweDsgfSB9XG5cbmgyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNDhweCAwIDI0cHg7XG4gIGZvbnQ6IDcwMCAyNHB4LzEuMjUgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBoMiB7XG4gICAgICBtYXJnaW46IDU2cHggMCAyOHB4O1xuICAgICAgZm9udC1zaXplOiAyOHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIGgyIHtcbiAgICAgIG1hcmdpbjogNjRweCAwIDMycHg7XG4gICAgICBmb250LXNpemU6IDMycHg7IH0gfVxuXG5oMyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDQycHggMCAyMXB4O1xuICBmb250OiA2MDAgMjFweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgaDMge1xuICAgICAgbWFyZ2luOiA0OHB4IDAgMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBoMyB7XG4gICAgICBtYXJnaW46IDU2cHggMCAyOHB4O1xuICAgICAgZm9udC1zaXplOiAyOHB4OyB9IH1cblxuaDQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAyOHB4IDAgMTlweDtcbiAgZm9udDogNDAwIDE5cHgvMS4yNSBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGg0IHtcbiAgICAgIG1hcmdpbjogNDJweCAwIDIxcHg7XG4gICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgaDQge1xuICAgICAgbWFyZ2luOiA0OHB4IDAgMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG5cbmg1IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMzJweCAwIDE2cHg7XG4gIGZvbnQ6IDcwMCAxNnB4LzEuMjUgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBoNSB7XG4gICAgICBtYXJnaW46IDI4cHggMCAxOXB4O1xuICAgICAgZm9udC1zaXplOiAxOXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIGg1IHtcbiAgICAgIG1hcmdpbjogNDJweCAwIDIxcHg7XG4gICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuXG5oNiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDI4cHggMCAxNHB4O1xuICBmb250OiA2MDAgMTRweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgaDYge1xuICAgICAgbWFyZ2luOiAzMnB4IDAgMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBoNiB7XG4gICAgICBtYXJnaW46IDI4cHggMCAxOXB4O1xuICAgICAgZm9udC1zaXplOiAxOXB4OyB9IH1cblxuLmgxIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNjRweCAwIDMycHg7XG4gIGZvbnQ6IDcwMCAzMnB4LzEuMjUgXCJGRiBUaWJlcmVcIiwgUGFsYXRpbm8sIEdlb3JnaWEsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmgxIHtcbiAgICAgIG1hcmdpbjogOTZweCAwIDQ4cHg7XG4gICAgICBmb250LXNpemU6IDQ4cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmgxIHtcbiAgICAgIG1hcmdpbjogMTI0cHggMCA2MnB4O1xuICAgICAgZm9udC1zaXplOiA2MnB4OyB9IH1cblxuLmgyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNDhweCAwIDI0cHg7XG4gIGZvbnQ6IDcwMCAyNHB4LzEuMjUgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuaDIge1xuICAgICAgbWFyZ2luOiA1NnB4IDAgMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuaDIge1xuICAgICAgbWFyZ2luOiA2NHB4IDAgMzJweDtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDsgfSB9XG5cbi5oMyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDQycHggMCAyMXB4O1xuICBmb250OiA2MDAgMjFweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmgzIHtcbiAgICAgIG1hcmdpbjogNDhweCAwIDI0cHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmgzIHtcbiAgICAgIG1hcmdpbjogNTZweCAwIDI4cHg7XG4gICAgICBmb250LXNpemU6IDI4cHg7IH0gfVxuXG4uaDQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAyOHB4IDAgMTlweDtcbiAgZm9udDogNDAwIDE5cHgvMS4yNSBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5oNCB7XG4gICAgICBtYXJnaW46IDQycHggMCAyMXB4O1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5oNCB7XG4gICAgICBtYXJnaW46IDQ4cHggMCAyNHB4O1xuICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cblxuLmg1IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMzJweCAwIDE2cHg7XG4gIGZvbnQ6IDcwMCAxNnB4LzEuMjUgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuaDUge1xuICAgICAgbWFyZ2luOiAyOHB4IDAgMTlweDtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuaDUge1xuICAgICAgbWFyZ2luOiA0MnB4IDAgMjFweDtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDsgfSB9XG5cbi5oNiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDI4cHggMCAxNHB4O1xuICBmb250OiA2MDAgMTRweC8xLjI1IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmg2IHtcbiAgICAgIG1hcmdpbjogMzJweCAwIDE2cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmg2IHtcbiAgICAgIG1hcmdpbjogMjhweCAwIDE5cHg7XG4gICAgICBmb250LXNpemU6IDE5cHg7IH0gfVxuXG5oMTpmb2N1cywgaDI6Zm9jdXMsIGgzOmZvY3VzLCBoNDpmb2N1cywgaDU6Zm9jdXMsIGg2OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5hOmxpbmsge1xuICBjb2xvcjogIzAwMmY4NztcbiAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgYmFja2dyb3VuZCAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBib3gtc2hhZG93IDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cblxuYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM0YzJjOTI7IH1cblxuYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmY0Zjk7XG4gIGNvbG9yOiAjMDA0MWJhOyB9XG5cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiZjQ3O1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmYmY0NztcbiAgY29sb3I6ICMwMDQxYmE7XG4gIHotaW5kZXg6IDE7IH1cblxuYTphY3RpdmUge1xuICBvdXRsaW5lOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiZjQ3O1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmYmY0NztcbiAgY29sb3I6ICMwMDQxYmE7IH1cblxuYS50ZWFzZXIge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbmFbdGFyZ2V0PSdfYmxhbmsnXSB7XG4gIG1hcmdpbi1yaWdodDogLTI0cHg7IH1cbiAgYVt0YXJnZXQ9J19ibGFuayddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYmFja2dyb3VuZDogI2YyZjRmOSB1cmwoXCIuLi9pbWcvaWNvbnMvaV9leHRlcm5hbC5zdmdcIikgbm8tcmVwZWF0IDUwJSA1MCUvMTZweCBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgdHJhbnNmb3JtIDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gICAgei1pbmRleDogMDsgfVxuICBhW3RhcmdldD0nX2JsYW5rJ106aG92ZXI6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAxOyB9XG5cbmFbaHJlZl49J3RlbDonXSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxudWwge1xuICBtYXJnaW46IDAgMCAxNHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTlweDsgfSB9XG5cbmxpIHtcbiAgbWFyZ2luLXRvcDogOHB4OyB9XG4gIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbm9sIHtcbiAgbWFyZ2luOiAwIDAgMTRweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBvbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIG9sIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7IH0gfVxuXG5kbCB7XG4gIG1hcmdpbjogMCAwIDI4cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgZGwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBkbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzOHB4OyB9IH1cblxuZHQge1xuICBtYXJnaW4tdG9wOiAyOHB4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGR0IHtcbiAgICAgIG1hcmdpbi10b3A6IDMycHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgZHQge1xuICAgICAgbWFyZ2luLXRvcDogMzhweDsgfSB9XG4gIGR0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbmRkIHtcbiAgbWFyZ2luOiAxNnB4IDAgMDsgfVxuXG5pbWcsIHBpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAyOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICBmaWd1cmUubWFwLS1sb2NhdGlvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbmZpZ2NhcHRpb24ge1xuICBtYXJnaW46IDE2cHggMCAwO1xuICBjb2xvcjogIzU5NjA2MztcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbmlmcmFtZSwgdmlkZW8ge1xuICBtYXJnaW46IDAgMCAxNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgaWZyYW1lLCB2aWRlbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIGlmcmFtZSwgdmlkZW8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTlweDsgfSB9XG5cbnAge1xuICBtYXJnaW46IDAgMCAyOHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7IH0gfVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5jYXNpbmctLWNhcHMge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5jYXNpbmctLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmJmNDc7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmZiZjQ3OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgZm9udC12YXJpYW50OiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogaGVscDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMCAyOHB4O1xuICBtYXJnaW46IDU2cHggMDtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjYWU5MzZjO1xuICBmb250LWZhbWlseTogXCJGRiBUaWJlcmVcIiwgUGFsYXRpbm8sIEdlb3JnaWEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nOiAwIDMycHg7XG4gICAgICBtYXJnaW46IDY0cHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIHBhZGRpbmc6IDAgMzhweDtcbiAgICAgIG1hcmdpbjogNzZweCAwOyB9IH1cbiAgYmxvY2txdW90ZSBwOmJlZm9yZSB7XG4gICAgY29udGVudDogb3Blbi1xdW90ZTsgfVxuICBibG9ja3F1b3RlIHA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyB9XG4gIGJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgYmxvY2txdW90ZSBmb290ZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cblxuaHIge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAzMnB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2I5YmI7XG4gIGJvcmRlcjogMDsgfVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG5cbmNhcHRpb24ge1xuICBjb2xvcjogIzU5NjA2MztcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50cjpob3ZlciB0aCxcbnRyOmhvdmVyIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4OSwgOTYsIDk5LCAwLjA1KTsgfVxuXG50aGVhZCB0aCwgdGhlYWQgdGQge1xuICBwYWRkaW5nOiA4cHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzAwMmY4NztcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50Ym9keSB0aCwgdGJvZHkgdGQge1xuICBwYWRkaW5nOiA4cHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMxODE5MTk7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGJvZHkgdGgge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbnRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLFxudGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICBib3JkZXItdG9wOiAwOyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQxcHg7XG4gIHBhZGRpbmc6IDhweCA0MHB4IDhweCA4cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9pX2NhcmV0LWRvd24uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggYXV0bztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gOHB4KSA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM1OTYwNjM7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgYm94LXNoYWRvdyAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBoZWlnaHQ6IDQ0cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogNDhweDsgfSB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3Q6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMmY4NzsgfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMmY4NztcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgwLCA0NywgMTM1LCAwLjE2KTtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5yYWRpb3MgLm9wdGlvbixcbi53ZWJmb3JtLXJhZGlvcy1vdGhlciAub3B0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yYWRpb3MgLm9wdGlvbl9faWNvbixcbiAgLndlYmZvcm0tcmFkaW9zLW90aGVyIC5vcHRpb25fX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzU5NjA2MztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIGJveC1zaGFkb3cgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAucmFkaW9zIC5vcHRpb25fX2ljb24sXG4gICAgICAud2ViZm9ybS1yYWRpb3Mtb3RoZXIgLm9wdGlvbl9faWNvbiB7XG4gICAgICAgIHRvcDogMnB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucmFkaW9zIC5vcHRpb25fX2ljb24sXG4gICAgICAud2ViZm9ybS1yYWRpb3Mtb3RoZXIgLm9wdGlvbl9faWNvbiB7XG4gICAgICAgIHRvcDogNHB4OyB9IH1cbiAgICAucmFkaW9zIC5vcHRpb25fX2ljb246YmVmb3JlLFxuICAgIC53ZWJmb3JtLXJhZGlvcy1vdGhlciAub3B0aW9uX19pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW46IC01cHggMCAwIC01cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyZjg3O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgb3BhY2l0eSAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gIC5yYWRpb3MgLm9wdGlvbl9fbGFiZWwsXG4gIC53ZWJmb3JtLXJhZGlvcy1vdGhlciAub3B0aW9uX19sYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMjsgfVxuICAucmFkaW9zIC5vcHRpb25fX2lucHV0OmZvY3VzICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uLFxuICAud2ViZm9ybS1yYWRpb3Mtb3RoZXIgLm9wdGlvbl9faW5wdXQ6Zm9jdXMgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24ge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDAsIDQ3LCAxMzUsIDAuMTYpOyB9XG4gICAgLnJhZGlvcyAub3B0aW9uX19pbnB1dDpmb2N1cyArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiBzdmcgcGF0aCxcbiAgICAud2ViZm9ybS1yYWRpb3Mtb3RoZXIgLm9wdGlvbl9faW5wdXQ6Zm9jdXMgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24gc3ZnIHBhdGgge1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH1cbiAgLnJhZGlvcyAub3B0aW9uOmhvdmVyIC5vcHRpb25fX2ljb24sXG4gIC53ZWJmb3JtLXJhZGlvcy1vdGhlciAub3B0aW9uOmhvdmVyIC5vcHRpb25fX2ljb24ge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMmY4NztcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2YyZjRmOTsgfVxuICAgIC5yYWRpb3MgLm9wdGlvbjpob3ZlciAub3B0aW9uX19pY29uOmJlZm9yZSxcbiAgICAud2ViZm9ybS1yYWRpb3Mtb3RoZXIgLm9wdGlvbjpob3ZlciAub3B0aW9uX19pY29uOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyZjg3O1xuICAgICAgb3BhY2l0eTogLjI1O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpOyB9XG4gIC5yYWRpb3MgLm9wdGlvbl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbixcbiAgLndlYmZvcm0tcmFkaW9zLW90aGVyIC5vcHRpb25fX2lucHV0OmNoZWNrZWQgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24ge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMmY4NzsgfVxuICAgIC5yYWRpb3MgLm9wdGlvbl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbjpiZWZvcmUsXG4gICAgLndlYmZvcm0tcmFkaW9zLW90aGVyIC5vcHRpb25fX2lucHV0OmNoZWNrZWQgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb246YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5jaGVja2JveGVzIC5vcHRpb24sXG4ud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIC5vcHRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNoZWNrYm94ZXMgLm9wdGlvbl9faWNvbixcbiAgLndlYmZvcm0tY2hlY2tib3hlcy1vdGhlciAub3B0aW9uX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM1OTYwNjM7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuY2hlY2tib3hlcyAub3B0aW9uX19pY29uLFxuICAgICAgLndlYmZvcm0tY2hlY2tib3hlcy1vdGhlciAub3B0aW9uX19pY29uIHtcbiAgICAgICAgdG9wOiAycHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5jaGVja2JveGVzIC5vcHRpb25fX2ljb24sXG4gICAgICAud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIC5vcHRpb25fX2ljb24ge1xuICAgICAgICB0b3A6IDRweDsgfSB9XG4gICAgLmNoZWNrYm94ZXMgLm9wdGlvbl9faWNvbiBzdmcsXG4gICAgLndlYmZvcm0tY2hlY2tib3hlcy1vdGhlciAub3B0aW9uX19pY29uIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0ycHg7XG4gICAgICBsZWZ0OiAtMnB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAuY2hlY2tib3hlcyAub3B0aW9uX19pY29uIHN2ZyBwYXRoLFxuICAgIC53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgLm9wdGlvbl9faWNvbiBzdmcgcGF0aCB7XG4gICAgICBmaWxsOiBub25lO1xuICAgICAgc3Ryb2tlOiAjMDAyZjg3O1xuICAgICAgc3Ryb2tlLXdpZHRoOiAyO1xuICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgICAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDcxcHg7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogNzFweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2U7IH1cbiAgICAuY2hlY2tib3hlcyAub3B0aW9uX19pY29uIHN2ZyBwb2x5bGluZSxcbiAgICAud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIC5vcHRpb25fX2ljb24gc3ZnIHBvbHlsaW5lIHtcbiAgICAgIGZpbGw6IG5vbmU7XG4gICAgICBzdHJva2U6ICNmZmY7XG4gICAgICBzdHJva2Utd2lkdGg6IDI7XG4gICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMThweDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAxOHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICAuY2hlY2tib3hlcyAub3B0aW9uX19sYWJlbCxcbiAgLndlYmZvcm0tY2hlY2tib3hlcy1vdGhlciAub3B0aW9uX19sYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMjsgfVxuICAuY2hlY2tib3hlcyAub3B0aW9uX19pbnB1dDpmb2N1cyArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbixcbiAgLndlYmZvcm0tY2hlY2tib3hlcy1vdGhlciAub3B0aW9uX19pbnB1dDpmb2N1cyArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMCwgNDcsIDEzNSwgMC4xNik7IH1cbiAgICAuY2hlY2tib3hlcyAub3B0aW9uX19pbnB1dDpmb2N1cyArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiBzdmcgcGF0aCxcbiAgICAud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIC5vcHRpb25fX2lucHV0OmZvY3VzICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uIHN2ZyBwYXRoIHtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwOyB9XG4gIC5jaGVja2JveGVzIC5vcHRpb246aG92ZXIgLm9wdGlvbl9faWNvbixcbiAgLndlYmZvcm0tY2hlY2tib3hlcy1vdGhlciAub3B0aW9uOmhvdmVyIC5vcHRpb25fX2ljb24ge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZjJmNGY5OyB9XG4gICAgLmNoZWNrYm94ZXMgLm9wdGlvbjpob3ZlciAub3B0aW9uX19pY29uIHN2ZyBwYXRoLFxuICAgIC53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgLm9wdGlvbjpob3ZlciAub3B0aW9uX19pY29uIHN2ZyBwYXRoIHtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwOyB9XG4gIC5jaGVja2JveGVzIC5vcHRpb25fX2lucHV0OmNoZWNrZWQgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24sXG4gIC53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgLm9wdGlvbl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAyZjg3OyB9XG4gICAgLmNoZWNrYm94ZXMgLm9wdGlvbl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiBzdmcgcGF0aCxcbiAgICAud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIC5vcHRpb25fX2lucHV0OmNoZWNrZWQgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24gc3ZnIHBhdGgge1xuICAgICAgZmlsbDogIzAwMmY4NzsgfVxuICAgIC5jaGVja2JveGVzIC5vcHRpb25fX2lucHV0OmNoZWNrZWQgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24gc3ZnIHBvbHlsaW5lLFxuICAgIC53ZWJmb3JtLWNoZWNrYm94ZXMtb3RoZXIgLm9wdGlvbl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiBzdmcgcG9seWxpbmUge1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH1cblxuaW5wdXQge1xuICAvKmFwcGVhcmFuY2U6IG5vbmU7Ki9cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM1OTYwNjM7XG4gIHRyYW5zaXRpb246IGJvcmRlciAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBib3gtc2hhZG93IDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgaW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMmY4NztcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgwLCA0NywgMTM1LCAwLjE2KTtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIGlucHV0OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDJmODc7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7IH1cblxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEyOHB4O1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM1OTYwNjM7XG4gIHJlc2l6ZTogdmVydGljYWw7XG4gIHRyYW5zaXRpb246IGJvcmRlciAxNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBib3gtc2hhZG93IDE1MG1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMmY4NztcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgwLCA0NywgMTM1LCAwLjE2KTtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIHRleHRhcmVhOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDJmODc7IH1cblxuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAgMTRweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBhZGRyZXNzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgYWRkcmVzcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9IH1cblxuQHBhZ2Uge1xuICBtYXJnaW46IDJjbTsgfVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmEsXG5hOnZpc2l0ZWQge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5hW2hyZWZdOmFmdGVyIHtcbiAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cblxuYWJiclt0aXRsZV06YWZ0ZXIge1xuICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cblxuYVtocmVmXj0nIyddOmFmdGVyLFxuYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50OyB9XG5cbnByZSxcbmJsb2NrcXVvdGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxudGhlYWQge1xuICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxudHIsXG5pbWcge1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxucCxcbmgyLFxuaDMge1xuICBvcnBoYW5zOiAzO1xuICB3aWRvd3M6IDM7IH1cblxuaDIsXG5oMyB7XG4gIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiNoZWFkZXItY29udGFpbmVyLFxuI2Zvb3Rlci1jb250YWluZXIsXG4uc2hvcnRjdXQtLW1haW4sXG4uc2hvcnRjdXQtLWhlYWRlcixcbi5wYWdpbmF0aW9uLFxuc3ZnLFxuaW1nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuIiwiLy8gVHlwZWZhY2VzXG4vL1xuLy8gQ29sbGVjdGlvbiBvZiBhbGwgYXBwcm92ZWQgdHlwZWZhY2VzIHRvIGNvbXBseSB3aXRoIGJyYW5kaW5nLlxuLy9cbi8vIDx1bCBjbGFzcz1cInN0eWxlZ3VpZGUgdHlwZWZhY2VzXCI+XG4vLyAgIDxsaSBjbGFzcz1cInR5cGVmYWNlXCI+XG4vLyAgICAgPGg1PkZGIFRpYmVyZTwvaDU+XG4vLyAgICAgPHAgc3R5bGU9XCJmb250LWZhbWlseTogJ0ZGIFRpYmVyZSc7XCI+XG4vLyAgICAgPHNwYW4+QWE8L3NwYW4+PGJyPlxuLy8gICAgIEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaPGJyPlxuLy8gICAgIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PGJyPlxuLy8gICAgIDAxMjM0NTY3ODk8L3A+XG4vLyAgIDwvbGk+XG4vLyAgIDxsaSBjbGFzcz1cInR5cGVmYWNlXCI+XG4vLyAgICAgPGg1Pk9wZW4gU2FuczwvaDU+XG4vLyAgICAgPHAgc3R5bGU9XCJmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XCI+XG4vLyAgICAgPHNwYW4+QWE8L3NwYW4+PGJyPlxuLy8gICAgIEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaPGJyPlxuLy8gICAgIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PGJyPlxuLy8gICAgIDAxMjM0NTY3ODk8L3A+XG4vLyAgIDwvbGk+XG4vLyA8L3VsPlxuLy9cbi8vIFN0eWxlZ3VpZGUgQnJhbmRpbmcgLSBUeXBlZmFjZXNcblxuLyoqXG4gKiBAbGljZW5zZVxuICogTXlGb250cyBXZWJmb250IEJ1aWxkIElEIDM0MjU1MTcsIDIwMTctMDctMjBUMTE6NTg6NDYtMDQwMFxuICpcbiAqIFRoZSBmb250cyBsaXN0ZWQgaW4gdGhpcyBub3RpY2UgYXJlIHN1YmplY3QgdG8gdGhlIEVuZCBVc2VyIExpY2Vuc2VcbiAqIEFncmVlbWVudChzKSBlbnRlcmVkIGludG8gYnkgdGhlIHdlYnNpdGUgb3duZXIuIEFsbCBvdGhlciBwYXJ0aWVzIGFyZVxuICogZXhwbGljaXRseSByZXN0cmljdGVkIGZyb20gdXNpbmcgdGhlIExpY2Vuc2VkIFdlYmZvbnRzKHMpLlxuICpcbiAqIFlvdSBtYXkgb2J0YWluIGEgdmFsaWQgbGljZW5zZSBhdCB0aGUgVVJMcyBiZWxvdy5cbiAqXG4gKiBXZWJmb250OiBGRiBUaWJlcmUgV2ViIE1lZGl1bSBieSBGb250Rm9udFxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9mb250cy9mb250Zm9udC90aWJlcmUvb3QtbWVkaXVtL1xuICpcbiAqIFdlYmZvbnQ6IEZGIFRpYmVyZSBXZWIgTGlnaHQgYnkgRm9udEZvbnRcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvZm9udGZvbnQvdGliZXJlL290LWxpZ2h0L1xuICpcbiAqIFdlYmZvbnQ6IEZGIFRpYmVyZSBXZWIgSXRhbGljIGJ5IEZvbnRGb250XG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2ZvbnRmb250L3RpYmVyZS9vdC1pdGFsaWMvXG4gKlxuICogV2ViZm9udDogRkYgVGliZXJlIFdlYiBMaWdodCBJdGFsaWMgYnkgRm9udEZvbnRcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvZm9udGZvbnQvdGliZXJlL290LWxpZ2h0LWl0YWxpYy9cbiAqXG4gKiBXZWJmb250OiBGRiBUaWJlcmUgV2ViIEJvbGQgYnkgRm9udEZvbnRcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvZm9udGZvbnQvdGliZXJlL290LWJvbGQvXG4gKlxuICogV2ViZm9udDogVGliZXJlIE9ybmFtZW50cyBCYW5kZWQgYnkgRm9udEZvbnRcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvZm9udGZvbnQvdGliZXJlL29ybmFtZW50cy1iYW5kZWQvXG4gKlxuICogV2ViZm9udDogRkYgVGliZXJlIFdlYiBieSBGb250Rm9udFxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9mb250cy9mb250Zm9udC90aWJlcmUvb3QvXG4gKlxuICpcbiAqIExpY2Vuc2U6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL3ZpZXdsaWNlbnNlP3R5cGU9d2ViJmJ1aWxkaWQ9MzQyNTUxN1xuICogTGljZW5zZWQgcGFnZXZpZXdzOiA1MDAsMDAwXG4gKiBXZWJmb250cyBjb3B5cmlnaHQ6IDIwMTAgQWxiZXJ0IEJvdG9uIHB1Ymxpc2hlZCBieSBGU0kgRm9udFNob3AgSW50ZXJuYXRpb25hbCBHbWJIXG4gKlxuICogwqkgMjAxNyBNeUZvbnRzIEluY1xuKi9cblxuXG4vKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xuQGltcG9ydCB1cmwoJy8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzQ0NGVkJyk7XG5cbkBpbmNsdWRlIGZvbnQtZmFjZSgnRkYgVGliZXJlJywgJy4uL2ZvbnRzLzM0NDRFRF8xXzAnLCAzMDAsICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0Zik7XG5AaW5jbHVkZSBmb250LWZhY2UoJ0ZGIFRpYmVyZScsICcuLi9mb250cy8zNDQ0RURfNl8wJywgNTAwLCAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYpO1xuQGluY2x1ZGUgZm9udC1mYWNlKCdGRiBUaWJlcmUnLCAnLi4vZm9udHMvMzQ0NEVEXzRfMCcsIDcwMCwgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmKTtcblxuXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDAsNDAwLDYwMCw3MDAnKTtcblxuXG4vLyBGb250IEZhbWlsaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZvbnQtcHJpbWFyeTogJ0ZGIFRpYmVyZScsIFBhbGF0aW5vLCBHZW9yZ2lhLCBzYW5zLXNlcmlmO1xuJGZvbnQtc2Vjb25kYXJ5OiAnT3BlbiBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbi8vICRiYXNlLWZvbnQtZmFtaWx5OiAnQ2hyb25pY2xlIFRleHQgRzIgQScsICdDaHJvbmljbGUgVGV4dCBHMiBCJywgJGdlb3JnaWE7XG4vLyAkYnJhbmQtZm9udC1mYW1pbHktYm9vazogJ0F2ZW5pciA0NSBCb29rJywgJGhlbHZldGljYTtcbi8vICRicmFuZC1mb250LWZhbWlseS1tZWRpdW06ICdBdmVuaXIgNjUgTWVkaXVtJywgJGhlbHZldGljYTtcbi8vICRicmFuZC1mb250LWZhbWlseS1ibGFjazogJ0F2ZW5pciA5NSBCbGFjaycsICRoZWx2ZXRpY2E7XG5cbi8vIEZvbnQgU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAkYmFzZS1mb250LXNpemU6IHJlbSgxOCk7XG5cbi8vIExpbmUgSGVpZ2h0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICRiYXNlLWxpbmUtaGVpZ2h0OiAxLjU7XG4vLyAkaGVhZGluZy1saW5lLWhlaWdodDogMS4yO1xuIiwiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGZvbnQtdXJsLXByZWZpeGVyYCBpcyBkZXByZWNhdGVkIGFuZCBcIiArXG4gICAgXCJ3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgZm9udC1zb3VyY2UtZGVjbGFyYXRpb25gIGlzIGRlcHJlY2F0ZWQgXCIgK1xuICAgIFwiYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiJWxpbmtzX190aXRsZSB7XG4gIG1hcmdpbjogMCAwIDE2cHg7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgbWFyZ2luOiAwIDAgMzJweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxufVxuXG4lbGlua3NfX2l0ZW0ge1xuICBtYXJnaW46IDE2cHggMCAwO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuJXNpZGViYXJfX3RpdGxlIHtcbiAgQGV4dGVuZCAlbGlua3NfX3RpdGxlO1xufVxuXG4lc2lkZWJhcl9faXRlbSB7XG4gIEBleHRlbmQgJWxpbmtzX19pdGVtO1xufVxuXG4laGlkZS1vZmYtc2NyZWVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwMDBweDtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiVkaXNhYmxlLWRyYWcge1xuICB1c2VyLWRyYWc6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4lY2xlYXJmaXgge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4lbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiVvdmVybGF5IHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHByaW1hcnksIGJsYWNrKSwgLjkpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAqIDUgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgei1pbmRleDogMjtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4lc29jaWFsLWxpc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDI0cHg7XG4gIH1cbn1cblxuJWZvb3Rlci10b2dnbGUtdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoY29sb3IocHJpbWFyeSwgYmxhY2spLCAuMSk7XG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG5cbiAgLy8gaWNvblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2lfY2FyZXQtZG93bi5zdmcnKSBuby1yZXBlYXQgNTAlIDUwJSAvIDI0cHggYXV0bztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gIH1cblxuICAvLyBob3ZlciBzdGF0ZVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHByaW1hcnksIGdyYXkpLCAuMDUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKGNvbG9yKHByaW1hcnksIGJsYWNrKSwgLjIpO1xuICAgIGNvbG9yOiBsaWdodGVuKGNvbG9yKHByaW1hcnksIGJsdWUpLCAxMCUpO1xuICB9XG5cbiAgLy8gaW5hY3RpdmUgc3RhdGVcbiAgJlthcmlhLWV4cGFuZGVkPSdmYWxzZSddOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIC8vIGFjdGl2ZSBzdGF0ZVxuICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxufVxuXG4lZm9vdGVyLXRvZ2dsZS1jb250ZW50IHtcbiAgLy8gaW5hY3RpdmUgc3RhdGVcbiAgJlthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gYWN0aXZlIHN0YXRlXG4gICZbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMzJweCAwO1xuICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2NC4xLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscywgLyogMSAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sIC8qIDIgKi9cbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUsIC8qIDEgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU0O1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cbiIsIi8vIEV4dGVuZCBub3JtYWxpemUuY3NzIHdpdGggYm9yZGVyLWJveCBydWxlc2V0LlxuKiB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiIsIi8vIEdsb2JhbCBodG1sIGFuZCBib2R5XG5ib2R5IHtcbiAgZm9udDogNDAwIDE0cHggLyAxLjUgJGZvbnQtc2Vjb25kYXJ5O1xuICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmxhY2spO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBmb250OiA0MDAgMTZweCAvIDEuNSAkZm9udC1zZWNvbmRhcnk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgZm9udDogNDAwIDE5cHggLyAxLjUgJGZvbnQtc2Vjb25kYXJ5O1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcihwcmltYXJ5LCBibGFjayksIC4yNSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAqIDIgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLy8gY2xpcHBlZFxuICAmLmNsaXBwZWQge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cbiAgfVxuXG4gIC8vIGNsaXBwZWRcbiAgJi5jbGlwcGVkLS1tb2JpbGUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29udGVudCBzZWxlY3Rpb25zXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibGFjayk7XG59XG4iLCIvLyBDb2xvcnNcbi8vXG4vLyBTdHlsZWd1aWRlIEJyYW5kaW5nIC0gQ29sb3JzXG5cbi8vIFByaW1hcnkgQ29sb3JzXG4vL1xuLy8gUHJvbWluZW50IGNvbG9yIHBhbGV0dGUgdGhhdCBleHByZXNzZXMgdGhlIGJyYW5kIGFuZCBmb3VuZGF0aW9uLiBVc2UgPGNvZGU+Y29sb3IocHJpbWFyeSwgJGNvbG9yKTwvY29kZT4uXG4vL1xuLy8gPHVsIGNsYXNzPVwic3dhdGNoZXNcIj5cbi8vICAgPGxpIGNsYXNzPVwic3dhdGNoXCI+XG4vLyAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMwMDJmODc7XCI+PC9kaXY+XG4vLyAgICAgPGg1PkJsdWU8L2g1PlxuLy8gICAgIDx1bD5cbi8vICAgICAgIDxsaT4jMDAyZjg3PC9saT5cbi8vICAgICAgIDxsaT48Y29kZT5jb2xvcihwcmltYXJ5LCBibHVlKTwvY29kZT48L2xpPlxuLy8gICAgIDwvdWw+XG4vLyAgIDwvbGk+XG4vLyAgIDxsaSBjbGFzcz1cInN3YXRjaFwiPlxuLy8gICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5MzZjO1wiPjwvZGl2PlxuLy8gICAgIDxoNT5Hb2xkPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+I2FlOTM2YzwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3IocHJpbWFyeSwgZ29sZCk8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzE4MTkxOTtcIj48L2Rpdj5cbi8vICAgICA8aDU+QmxhY2s8L2g1PlxuLy8gICAgIDx1bD5cbi8vICAgICAgIDxsaT4jMTgxOTE5PC9saT5cbi8vICAgICAgIDxsaT48Y29kZT5jb2xvcihwcmltYXJ5LCBibGFjayk8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzZmNzc3YjtcIj48L2Rpdj5cbi8vICAgICA8aDU+R3JheTwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiM2Zjc3N2I8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHByaW1hcnksIGdyYXkpPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vICAgPGxpIGNsYXNzPVwic3dhdGNoXCI+XG4vLyAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XCI+PC9kaXY+XG4vLyAgICAgPGg1Pk9mZiBXaGl0ZTwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiNmNmY2ZjY8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHByaW1hcnksIG9mZi13aGl0ZSk8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcIj48L2Rpdj5cbi8vICAgICA8aDU+V2hpdGU8L2g1PlxuLy8gICAgIDx1bD5cbi8vICAgICAgIDxsaT4jZmZmZmZmPC9saT5cbi8vICAgICAgIDxsaT48Y29kZT5jb2xvcihwcmltYXJ5LCB3aGl0ZSk8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gPC91bD5cbi8vXG4vLyBTdHlsZWd1aWRlIEJyYW5kaW5nIC0gQ29sb3JzIC0gUHJpbWFyeSBDb2xvcnNcblxuLy8gU2Vjb25kYXJ5IENvbG9yc1xuLy9cbi8vIFN1cHBsZW1lbnRhbCBhY2NlbnQgY29sb3JzIHRvIGVtcGhhc2l6ZSBlbGVtZW50cy4gVXNlIDxjb2RlPmNvbG9yKHNlY29uZGFyeSwgJGNvbG9yKTwvY29kZT4uXG4vL1xuLy8gPHVsIGNsYXNzPVwic3dhdGNoZXMgc2Vjb25kYXJ5XCI+XG4vLyAgIDxsaSBjbGFzcz1cInN3YXRjaFwiPlxuLy8gICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ3N2E5O1wiPjwvZGl2PlxuLy8gICAgIDxoNT5DeWFuPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+IzE0NzdhOTwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3Ioc2Vjb25kYXJ5LCBjeWFuKTwvY29kZT48L2xpPlxuLy8gICAgIDwvdWw+XG4vLyAgIDwvbGk+XG4vLyAgIDxsaSBjbGFzcz1cInN3YXRjaFwiPlxuLy8gICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjNGMyYzkyO1wiPjwvZGl2PlxuLy8gICAgIDxoNT5QdXJwbGU8L2g1PlxuLy8gICAgIDx1bD5cbi8vICAgICAgIDxsaT4jNGMyYzkyPC9saT5cbi8vICAgICAgIDxsaT48Y29kZT5jb2xvcihzZWNvbmRhcnksIHB1cnBsZSk8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2ZmYmY0NztcIj48L2Rpdj5cbi8vICAgICA8aDU+R29sZDwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiNmZmJmNDc8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHNlY29uZGFyeSwgZ29sZCk8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2RjMmEyYTtcIj48L2Rpdj5cbi8vICAgICA8aDU+UmVkPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+I2RjMmEyYTwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3Ioc2Vjb25kYXJ5LCByZWQpPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vICAgPGxpIGNsYXNzPVwic3dhdGNoXCI+XG4vLyAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMwMDgwODA7XCI+PC9kaXY+XG4vLyAgICAgPGg1PkdyZWVuPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+IzAwODA4MDwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3Ioc2Vjb25kYXJ5LCBncmVlbik8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzA5MmIzYztcIj48L2Rpdj5cbi8vICAgICA8aDU+RGFyayBCbHVlPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+IzA5MmIzYzwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3Ioc2Vjb25kYXJ5LCBkYXJrLWJsdWUpPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vICAgPGxpIGNsYXNzPVwic3dhdGNoXCI+XG4vLyAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNmMmY0Zjk7XCI+PC9kaXY+XG4vLyAgICAgPGg1Pk9mZiBCbHVlPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+I2YyZjRmOTwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3Ioc2Vjb25kYXJ5LCBvZmYtYmx1ZSk8L2NvZGU+PC9saT5cbi8vICAgICA8L3VsPlxuLy8gICA8L2xpPlxuLy8gPC91bD5cbi8vXG4vLyBTdHlsZWd1aWRlIEJyYW5kaW5nIC0gQ29sb3JzIC0gU2Vjb25kYXJ5IENvbG9yc1xuXG4vLyBTb2NpYWwgQ29sb3JzXG4vL1xuLy8gTGlzdCBvZiBicmFuZCBjb2xvcnMgZm9yIHNvY2lhbCBtZWRpYSBwbGF0Zm9ybXMuIFVzZSA8Y29kZT5jb2xvcihzb2NpYWwsICRjb2xvcik8L2NvZGU+LlxuLy9cbi8vIDx1bCBjbGFzcz1cInN3YXRjaGVzIHNlY29uZGFyeVwiPlxuLy8gICA8bGkgY2xhc3M9XCJzd2F0Y2hcIj5cbi8vICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzNiNTk5ODtcIj48L2Rpdj5cbi8vICAgICA8aDU+RmFjZWJvb2s8L2g1PlxuLy8gICAgIDx1bD5cbi8vICAgICAgIDxsaT4jM2I1OTk4PC9saT5cbi8vICAgICAgIDxsaT48Y29kZT5jb2xvcihzb2NpYWwsIGZhY2Vib29rKTwvY29kZT48L2xpPlxuLy8gICAgIDwvdWw+XG4vLyAgIDwvbGk+XG4vLyAgIDxsaSBjbGFzcz1cInN3YXRjaFwiPlxuLy8gICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNmYxO1wiPjwvZGl2PlxuLy8gICAgIDxoNT5Ud2l0dGVyPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+IzAwYjZmMTwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3Ioc29jaWFsLCB0d2l0dGVyKTwvY29kZT48L2xpPlxuLy8gICAgIDwvdWw+XG4vLyAgIDwvbGk+XG4vLyAgIDxsaSBjbGFzcz1cInN3YXRjaFwiPlxuLy8gICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjYjMxMjE3O1wiPjwvZGl2PlxuLy8gICAgIDxoNT5Zb3V0dWJlPC9oNT5cbi8vICAgICA8dWw+XG4vLyAgICAgICA8bGk+I2IzMTIxNzwvbGk+XG4vLyAgICAgICA8bGk+PGNvZGU+Y29sb3Ioc29jaWFsLCB5b3V0dWJlKTwvY29kZT48L2xpPlxuLy8gICAgIDwvdWw+XG4vLyAgIDwvbGk+XG4vLyAgIDxsaSBjbGFzcz1cInN3YXRjaFwiPlxuLy8gICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmI2O1wiPjwvZGl2PlxuLy8gICAgIDxoNT5MaW5rZWRJbjwvaDU+XG4vLyAgICAgPHVsPlxuLy8gICAgICAgPGxpPiMwMDdiYjY8L2xpPlxuLy8gICAgICAgPGxpPjxjb2RlPmNvbG9yKHNvY2lhbCwgbGlua2VkaW4pPC9jb2RlPjwvbGk+XG4vLyAgICAgPC91bD5cbi8vICAgPC9saT5cbi8vIDwvdWw+XG4vL1xuLy8gU3R5bGVndWlkZSBCcmFuZGluZyAtIENvbG9ycyAtIFNvY2lhbCBDb2xvcnNcblxuJGNvbG9yczogKFxuICBwcmltYXJ5ICAgICA6IChcbiAgICBibHVlICAgICAgOiAjMDAyZjg3LFxuICAgIGdvbGQgICAgICA6ICNhZTkzNmMsXG4gICAgd2hpdGUgICAgIDogI2ZmZixcbiAgICBncmF5ICAgICAgOiAjNTk2MDYzLFxuICAgIG9mZi13aGl0ZSA6ICNmNmY2ZjYsXG4gICAgYmxhY2sgICAgIDogIzE4MTkxOSxcbiAgKSxcbiAgc2Vjb25kYXJ5ICAgOiAoXG4gICAgY3lhbiAgICAgIDogIzE0NzdhOSxcbiAgICBwdXJwbGUgICAgOiAjNGMyYzkyLFxuICAgIGdvbGQgICAgICA6ICNmZmJmNDcsXG4gICAgcmVkICAgICAgIDogI2RjMTQzYyxcbiAgICBncmVlbiAgICAgOiAjMDA4MDgwLFxuICAgIGRhcmstYmx1ZSA6ICMwNzIyMzUsXG4gICAgb2ZmLWJsdWUgIDogI2YyZjRmOVxuICApLFxuICBzb2NpYWwgICAgICA6IChcbiAgICBmYWNlYm9vayAgOiAjM2I1OTk4LFxuICAgIHR3aXR0ZXIgICA6ICMwMGI2ZjEsXG4gICAgeW91dHViZSAgIDogI2IzMTIxNyxcbiAgICBsaW5rZWRpbiAgOiAjMDA3YmI2XG4gIClcbik7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQW5pbWF0aW9ucyAmIFRyYW5zaXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJhc2UtYW5pbWF0aW9uLXNwZWVkOiAxNTBtcztcbiRiYXNlLWFuaW1hdGlvbi1lYXNpbmc6IGN1YmljLWJlemllciguNzcsIDAsIC4xNzUsIDEpO1xuJGJvdW5jZS1hbmltYXRpb24tZWFzaW5nOiBjdWJpYy1iZXppZXIoLjY4LCAtLjU1LCAuMjY1LCAxLjU1KTtcbiIsIi8vIEZvcm1cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gRm9ybVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5cbi8vIExhYmVsXG4vL1xuLy8gVGhlIEhUTUwgPGNvZGU+bGFiZWw8L2NvZGU+IGVsZW1lbnQgcmVwcmVzZW50cyBhIGNhcHRpb24gZm9yIGFuIGl0ZW0gaW4gYSB1c2VyIGludGVyZmFjZS5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8bGFiZWwgZm9yPVwiaW5wdXRJRFwiPkxhYmVsPC9sYWJlbD5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gRm9ybSAtIExhYmVsXG5cbmxhYmVsIHtcbiAgQGV4dGVuZCAlbGFiZWw7XG59XG4iLCIvLyBIaWRlIE9mZiBTY3JlZW5cbi8vXG4vLyBQb3NpdGlvbiBhbiBlbGVtZW50IG9mZi1zY3JlZW4gZm9yIHNjcmVlbi1yZWFkZXJzLlxuLy9cbi8vIE1hcmt1cDpcbi8vIC8vXG4vLyAvLyBNaXhpbjogSGlkZSBPZmYgU2NyZWVuXG4vLyAvLyBAaW5jbHVkZSBoaWRlLW9mZi1zY3JlZW4oKTtcbi8vIC8vXG4vLyAvLyBubyBwYXJhbWV0ZXJzIGF2YWlsYWJsZVxuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgaGlkZS1vZmYtc2NyZWVuOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBIaWRlIE9mZiBTY3JlZW5cblxuQG1peGluIGhpZGUtb2ZmLXNjcmVlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEwMDAwcHg7XG4gIHRvcDogYXV0bztcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vLyBTaG93IE9uIFNjcmVlblxuLy9cbi8vIFJlc2V0IGEgcHJldmlvdXNseSBoaWRkZW4gb2JqZWN0IHZpYSBAbWl4aW4gaGlkZS1vZmYtc2NyZWVuXG4vL1xuLy8gTWFya3VwOlxuLy8gLy9cbi8vIC8vIE1peGluOiBTaG93IE9uIFNjcmVlblxuLy8gLy8gQGluY2x1ZGUgc2hvdy1vbi1zY3JlZW4oKTtcbi8vIC8vXG4vLyAvLyBubyBwYXJhbWV0ZXJzIGF2YWlsYWJsZVxuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgc2hvdy1vbi1zY3JlZW47IH1cbi8vXG4vLyBTdHlsZWd1aWRlIEZ1bmN0aW9ucyAtIFNob3cgT24gU2NyZWVuXG5cbkBtaXhpbiBzaG93LW9uLXNjcmVlbiB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xuICBsZWZ0OiBpbmhlcml0O1xuICB0b3A6IGluaGVyaXQ7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xufVxuXG5cblxuLy8gQWJzb2x1dGUgQ2VudGVyXG4vL1xuLy8gUG9zaXRpb24gYW4gZWxlbWVudCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHkgY2VudGVyZWQuXG4vL1xuLy8gTWFya3VwOlxuLy8gLy9cbi8vIC8vIE1peGluOiBBYnNvbHV0ZSBDZW50ZXJcbi8vIC8vIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcigpO1xuLy8gLy9cbi8vIC8vIG5vIHBhcmFtZXRlcnMgYXZhaWxhYmxlXG4vLyAvLyBOb3RlOiBwYXJlbnQgZWxlbWVudCBzaG91bGQgdXNlIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIC8vXG4vLyAuZWxlbWVudCB7IEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjsgfVxuLy9cbi8vIFN0eWxlZ3VpZGUgRnVuY3Rpb25zIC0gQWJzb2x1dGUgQ2VudGVyXG5cbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5cbi8vIFZlcnRpY2FsIENlbnRlclxuLy9cbi8vIFBvc2l0aW9uIGFuIGVsZW1lbnQgdmVydGljYWxseSBjZW50ZXJlZC5cbi8vXG4vLyBNYXJrdXA6XG4vLyAvL1xuLy8gLy8gTWl4aW46IFZlcnRpY2FsIENlbnRlclxuLy8gLy8gQGluY2x1ZGUgdmVydGljYWwtY2VudGVyKCk7XG4vLyAvL1xuLy8gLy8gbm8gcGFyYW1ldGVycyBhdmFpbGFibGVcbi8vIC8vIE5vdGU6IHBhcmVudCBlbGVtZW50IHNob3VsZCB1c2UgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBWZXJ0aWNhbCBDZW50ZXJcblxuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuXG4vLyBIb3Jpem9udGFsIENlbnRlclxuLy9cbi8vIFBvc2l0aW9uIGFuIGVsZW1lbnQgdmVydGljYWxseSBjZW50ZXJlZC5cbi8vXG4vLyBNYXJrdXA6XG4vLyAvL1xuLy8gLy8gTWl4aW46IEhvcml6b250YWwgQ2VudGVyXG4vLyAvLyBAaW5jbHVkZSBob3Jpem9udGFsLWNlbnRlcigpO1xuLy8gLy9cbi8vIC8vIG5vIHBhcmFtZXRlcnMgYXZhaWxhYmxlXG4vLyAvLyBOb3RlOiBwYXJlbnQgZWxlbWVudCBzaG91bGQgdXNlIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIC8vXG4vLyAuZWxlbWVudCB7IEBpbmNsdWRlIGhvcml6b250YWwtY2VudGVyOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBIb3Jpem9udGFsIENlbnRlclxuXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG5cbi8vIFJlc2V0IEJ1dHRvblxuLy9cbi8vIFplcm8gb3V0IGJ1dHRvbiBwcm9wZXJ0aWVzLlxuLy9cbi8vIE1hcmt1cDpcbi8vIC8vXG4vLyAvLyBNaXhpbjogUmVzZXQgQnV0dG9uXG4vLyAvLyBAaW5jbHVkZSByZXNldC1idXR0b24oKTtcbi8vIC8vXG4vLyAvLyBubyBwYXJhbWV0ZXJzIGF2YWlsYWJsZVxuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgcmVzZXQtYnV0dG9uOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBSZXNldCBCdXR0b25cblxuQG1peGluIHJlc2V0LWJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gUmVzZXQgTGlzdFxuLy9cbi8vIFplcm8gb3V0IGxpc3QgcHJvcGVydGllcy5cbi8vXG4vLyBNYXJrdXA6XG4vLyAvL1xuLy8gLy8gTWl4aW46IFJlc2V0IExpc3Rcbi8vIC8vIEBpbmNsdWRlIHJlc2V0LWxpc3QoKTtcbi8vIC8vXG4vLyAvLyBubyBwYXJhbWV0ZXJzIGF2YWlsYWJsZVxuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgcmVzZXQtbGlzdDsgfVxuLy9cbi8vIFN0eWxlZ3VpZGUgRnVuY3Rpb25zIC0gUmVzZXQgTGlzdFxuXG5AbWl4aW4gcmVzZXQtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4vLyBSZXNldCBDb2x1bW5cbi8vXG4vLyBSZXNldHMgYSBjb2x1bW4ncyBndXR0ZXIgbWFyZ2luLlxuLy9cbi8vIE1hcmt1cDpcbi8vIC8vXG4vLyAvLyBNaXhpbjogUmVzZXQgQ29sdW1uXG4vLyAvLyBAaW5jbHVkZSByZXNldC1jb2x1bW4oKTtcbi8vIC8vXG4vLyAvLyBubyBwYXJhbWV0ZXJzIGF2YWlsYWJsZVxuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgcmVzZXQtY29sdW1uOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBSZXNldCBDb2x1bW5cblxuQG1peGluIHJlc2V0LWNvbHVtbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cbi8vIFNwYW4gQ29sdW1uXG4vL1xuLy8gR3JpZCBzaXplIGZvciBzcGVjaWZpYyBjb2x1bW5zLlxuLy9cbi8vIE1hcmt1cDpcbi8vIC8vXG4vLyAvLyBNaXhpbjogU3BhbiBDb2x1bW5cbi8vIC8vIEBpbmNsdWRlIHNwYW4tY29sdW1uKCAkc3BhbiwgJHRvdGFsICk7XG4vLyAvL1xuLy8gLy8gJHNwYW46ICAgJ251bWJlcicgIHJlcXVpcmVkLiBob3cgbWFueSBjb2x1bW5zP1xuLy8gLy8gJHRvdGFsOiAgJ251bWJlcicgIG9wdGlvbmFsLiBkZWZhdWx0cyB0byAxMi5cbi8vIC8vXG4vLyAuZWxlbWVudCB7IEBpbmNsdWRlIHNwYW4tY29sdW1uKDYpOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBTcGFuIENvbHVtblxuXG5AbWl4aW4gc3Bhbi1jb2x1bW4oJHNwYW4sICR0b3RhbDogMTIpIHtcblxuICAvLyBCYXNlIHNldHRpbmdzXG4gICRjb2x1bW4tYmFzZSAgOiA4NTsgLy8gaW4gcGl4ZWxzXG4gICRndXR0ZXItYmFzZSAgOiAyNDsgLy8gaW4gcGl4ZWxzXG5cbiAgLy8gQ2FsY3VsYXRlZCBzaXplc1xuICAkc3Bhbi1zaXplICA6ICgkY29sdW1uLWJhc2UgKiAkc3BhbikgKyAoJGd1dHRlci1iYXNlICogKCRzcGFuIC0gMSkpO1xuICAkdG90YWwtc2l6ZSA6ICgkY29sdW1uLWJhc2UgKiAkdG90YWwpICsgKCRndXR0ZXItYmFzZSAqICgkdG90YWwgLSAxKSk7XG5cbiAgd2lkdGg6IHBlcmNlbnRhZ2UoJHNwYW4tc2l6ZSAvICR0b3RhbC1zaXplKTtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRndXR0ZXItYmFzZSkgLyAkdG90YWwtc2l6ZSk7XG5cbn1cblxuXG4vLyBTaGlmdCBDb2x1bW5cbi8vXG4vLyBPZmZzZXQgZWxlbWVudCBieSBjb2x1bW5zLlxuLy9cbi8vIE1hcmt1cDpcbi8vIC8vXG4vLyAvLyBNaXhpbjogU2hpZnQgQ29sdW1uXG4vLyAvLyBAaW5jbHVkZSBzaGlmdC1jb2x1bW4oICRzcGFuLCAkdG90YWwsICRkaXJlY3Rpb24pO1xuLy8gLy9cbi8vIC8vICRzcGFuOiAgICAgICdudW1iZXInICByZXF1aXJlZC4gaG93IG1hbnkgY29sdW1ucz9cbi8vIC8vICR0b3RhbDogICAgICdudW1iZXInICBvcHRpb25hbC4gZGVmYXVsdHMgdG8gMTIuXG4vLyAvLyAkZGlyZWN0aW9uOiAnc3RyaW5nJyAgb3B0aW9uYWwuIGRlZmF1bHRzIHRvIGxlZnRcbi8vIC8vXG4vLyAuZWxlbWVudCB7IEBpbmNsdWRlIHNoaWZ0LWNvbHVtbigxLCAxMiwgbGVmdCk7IH1cbi8vXG4vLyBTdHlsZWd1aWRlIEZ1bmN0aW9ucyAtIFNoaWZ0IENvbHVtblxuXG5AbWl4aW4gc2hpZnQtY29sdW1uKCRzcGFuLCAkdG90YWw6IDEyLCAkZGlyZWN0aW9uOiAnbGVmdCcpIHtcblxuICAvLyBCYXNlIHNldHRpbmdzXG4gICRjb2x1bW4tYmFzZSAgOiA4NTsgLy8gaW4gcGl4ZWxzXG4gICRndXR0ZXItYmFzZSAgOiAyNDsgLy8gaW4gcGl4ZWxzXG5cbiAgLy8gQ2FsY3VsYXRlZCBzaXplc1xuICAkc3Bhbi1zaXplICA6ICgkY29sdW1uLWJhc2UgKiAkc3BhbikgKyAoJGd1dHRlci1iYXNlICogKCRzcGFuIC0gMSkpO1xuICAkdG90YWwtc2l6ZSA6ICgkY29sdW1uLWJhc2UgKiAkdG90YWwpICsgKCRndXR0ZXItYmFzZSAqICgkdG90YWwgLSAxKSk7XG4gICRndXR0ZXItb3JpZzogcGVyY2VudGFnZSgkZ3V0dGVyLWJhc2UgLyAkdG90YWwtc2l6ZSk7XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gJ3JpZ2h0JyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyLW9yaWcgKyBwZXJjZW50YWdlKCRzcGFuLXNpemUgLyAkdG90YWwtc2l6ZSk7XG4gIH0gQGVsc2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAoJGd1dHRlci1vcmlnICogMikgKyBwZXJjZW50YWdlKCRzcGFuLXNpemUgLyAkdG90YWwtc2l6ZSk7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZ3V0dGVyLW9yaWcgKyBwZXJjZW50YWdlKCRzcGFuLXNpemUgLyAkdG90YWwtc2l6ZSk7XG4gICAgfVxuICB9XG5cbn1cblxuXG4vLyBSZXNldCBGb290ZXIgVGl0bGVcbi8vXG4vLyBDb252ZXJ0IGNvbGxhcHNlIHRpdGxlcyB0byBzdGFuZGFyZCBmb3IgdGFibGV0cysuXG4vL1xuLy8gTWFya3VwOlxuLy8gLy9cbi8vIC8vIE1peGluOiBSZXNldCBGb290ZXIgVGl0bGVcbi8vIC8vIEBpbmNsdWRlIHJlc2V0LWZvb3Rlci10aXRsZSgpO1xuLy8gLy9cbi8vIC5lbGVtZW50IHsgQGluY2x1ZGUgcmVzZXQtZm9vdGVyLXRpdGxlKCk7IH1cbi8vXG4vLyBTdHlsZWd1aWRlIEZ1bmN0aW9ucyAtIFJlc2V0IEZvb3RlciBUaXRsZVxuXG5AbWl4aW4gcmVzZXQtZm9vdGVyLXRpdGxlKCkge1xuICAucGFuZWxfX3RpdGxlIGEge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEljb24gTGlua1xuLy9cbi8vIENyZWF0ZSBsaW5rIGJsb2NrIHdpdGggY3VzdG9tIGljb24uXG4vL1xuLy8gTWFya3VwOlxuLy8gLy9cbi8vIC8vIE1peGluOiBJY29uIExpbmtcbi8vIC8vIEBpbmNsdWRlIGljb24tbGluayggJGNvbG9yICk7XG4vLyAvL1xuLy8gLy8gJGNvbG9yOiAnc3RyaW5nJyAgb3B0aW9uYWwgY29sb3IgdmFsdWUgdG8gZmlsbCBpY29uXG4vLyAvL1xuLy8gLmVsZW1lbnQgeyBAaW5jbHVkZSBpY29uLWxpbmsoICNjMDAgKTsgfVxuLy9cbi8vIFN0eWxlZ3VpZGUgRnVuY3Rpb25zIC0gSWNvbiBMaW5rXG5cbkBtaXhpbiBpY29uLWxpbmsoJGNvbG9yOm51bGwpIHtcbiAgaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICBpID4gKiB7XG4gICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICAgIG1heC13aWR0aDogMjRweDtcbiAgfVxuXG4gIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgc3ZnICogeyBmaWxsOiAkY29sb3I7IH1cbiAgfVxuICBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG5cbi8vIEhlYWRpbmdcbi8vXG4vLyBBcHBseSBzdHlsZXMgdG8gYSBzcGVjaWZpYyBoZWFkaW5nIHNpemUuXG4vL1xuLy8gTWFya3VwOlxuLy8gLy9cbi8vIC8vIE1peGluOiBIZWFkaW5nXG4vLyAvLyBAaW5jbHVkZSBoZWFkaW5nKCAkbGV2ZWwgKTtcbi8vIC8vXG4vLyAvLyAkbGV2ZWw6ICdzdHJpbmcnXG4vLyAvL1xuLy8gLmVsZW1lbnQgeyBAaW5jbHVkZSBoZWFkaW5nKCBoMSApOyB9XG4vL1xuLy8gU3R5bGVndWlkZSBGdW5jdGlvbnMgLSBIZWFkaW5nXG5cbkBtaXhpbiBoZWFkaW5nKCRsZXZlbCkge1xuXG4gIC8vIEhlYWRpbmcgMVxuICBAaWYgJGxldmVsID09ICdoMScge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNjRweCAwIDMycHg7XG4gICAgZm9udDogNzAwIDMycHggLyAxLjI1ICRmb250LXByaW1hcnk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW46IDk2cHggMCA0OHB4O1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW46IDEyNHB4IDAgNjJweDtcbiAgICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIDJcbiAgQGlmICRsZXZlbCA9PSAnaDInIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDQ4cHggMCAyNHB4O1xuICAgIGZvbnQ6IDcwMCAyNHB4IC8gMS4yNSAkZm9udC1zZWNvbmRhcnk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW46IDU2cHggMCAyOHB4O1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW46IDY0cHggMCAzMnB4O1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgM1xuICBAaWYgJGxldmVsID09ICdoMycge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNDJweCAwIDIxcHg7XG4gICAgZm9udDogNjAwIDIxcHggLyAxLjI1ICRmb250LXNlY29uZGFyeTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIG1hcmdpbjogNDhweCAwIDI0cHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIG1hcmdpbjogNTZweCAwIDI4cHg7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyA0XG4gIEBpZiAkbGV2ZWwgPT0gJ2g0JyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAyOHB4IDAgMTlweDtcbiAgICBmb250OiA0MDAgMTlweCAvIDEuMjUgJGZvbnQtc2Vjb25kYXJ5O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgbWFyZ2luOiA0MnB4IDAgMjFweDtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgbWFyZ2luOiA0OHB4IDAgMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIDVcbiAgQGlmICRsZXZlbCA9PSAnaDUnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDMycHggMCAxNnB4O1xuICAgIGZvbnQ6IDcwMCAxNnB4IC8gMS4yNSAkZm9udC1zZWNvbmRhcnk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXJnaW46IDI4cHggMCAxOXB4O1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICBtYXJnaW46IDQycHggMCAyMXB4O1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgNlxuICBAaWYgJGxldmVsID09ICdoNicge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjhweCAwIDE0cHg7XG4gICAgZm9udDogNjAwIDE0cHggLyAxLjI1ICRmb250LXNlY29uZGFyeTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIG1hcmdpbjogMzJweCAwIDE2cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIG1hcmdpbjogMjhweCAwIDE5cHg7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgfVxuICB9XG5cbn1cbiIsIi8vIEhlYWRpbmdcbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gSGVhZGluZ1xuXG5cbi8vIERlZmF1bHRcbi8vXG4vLyBTdGFuZGFyZCBoZWFkaW5ncyBmb3IgaGllcmFyY2hpY2FsIGNvbnRlbnQuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGgxPkhlYWRpbmcgMTwvaDE+XG4vLyA8aDI+SGVhZGluZyAyPC9oMj5cbi8vIDxoMz5IZWFkaW5nIDM8L2gzPlxuLy8gPGg0PkhlYWRpbmcgNDwvaDQ+XG4vLyA8aDU+SGVhZGluZyA1PC9oNT5cbi8vIDxoNj5IZWFkaW5nIDY8L2g2PlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBIZWFkaW5nIC0gRGVmYXVsdFxuXG5oMSB7IEBpbmNsdWRlIGhlYWRpbmcoaDEpOyB9XG5oMiB7IEBpbmNsdWRlIGhlYWRpbmcoaDIpOyB9XG5oMyB7IEBpbmNsdWRlIGhlYWRpbmcoaDMpOyB9XG5oNCB7IEBpbmNsdWRlIGhlYWRpbmcoaDQpOyB9XG5oNSB7IEBpbmNsdWRlIGhlYWRpbmcoaDUpOyB9XG5oNiB7IEBpbmNsdWRlIGhlYWRpbmcoaDYpOyB9XG5cblxuLy8gTWltaWNcbi8vXG4vLyBBbGxvdyBub24tc2VtYW50aWMgZWxlbWVudHMgdG8gbG9vayBsaWtlIHN0YW5kYXJkIGhlYWRpbmdzLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxkaXYgY2xhc3M9XCJoMVwiPkhlYWRpbmcgMTwvZGl2PlxuLy8gPGRpdiBjbGFzcz1cImgyXCI+SGVhZGluZyAyPC9kaXY+XG4vLyA8ZGl2IGNsYXNzPVwiaDNcIj5IZWFkaW5nIDM8L2Rpdj5cbi8vIDxkaXYgY2xhc3M9XCJoNFwiPkhlYWRpbmcgNDwvZGl2PlxuLy8gPGRpdiBjbGFzcz1cImg1XCI+SGVhZGluZyA1PC9kaXY+XG4vLyA8ZGl2IGNsYXNzPVwiaDZcIj5IZWFkaW5nIDY8L2Rpdj5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gSGVhZGluZyAtIE1pbWljXG5cbi5oMSB7IEBpbmNsdWRlIGhlYWRpbmcoaDEpOyB9XG4uaDIgeyBAaW5jbHVkZSBoZWFkaW5nKGgyKTsgfVxuLmgzIHsgQGluY2x1ZGUgaGVhZGluZyhoMyk7IH1cbi5oNCB7IEBpbmNsdWRlIGhlYWRpbmcoaDQpOyB9XG4uaDUgeyBAaW5jbHVkZSBoZWFkaW5nKGg1KTsgfVxuLmg2IHsgQGluY2x1ZGUgaGVhZGluZyhoNik7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIExpbmtcbi8vXG4vLyBUaGUgYSBlbGVtZW50IGlzIHVzdWFsbHkgcmVmZXJyZWQgdG8gYXMgYSBsaW5rLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxhIGNsYXNzPVwie3ttb2RpZmllcl9jbGFzc319XCIgaHJlZj1cIiNcIiB0aXRsZT1cImxpbmsgdGl0bGVcIj5UZXh0IGxpbms8L2E+XG4vL1xuLy8gLnRlYXNlciAgIC0gSW5jcmVhc2VkIHdlaWdodCBmb3IgdGVhc2VyIGxpbmtzXG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIExpbmtcblxuYSB7XG5cbiAgLy8gZGVmYXVsdCBsaW5rcywgbm90IHZpc2l0ZWRcbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGNvbG9yICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgYmFja2dyb3VuZCAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgIGJveC1zaGFkb3cgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gIH1cblxuICAvLyBsaW5rcyB0aGF0IGhhdmUgYmVlbiB2aXNpdGVkXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgcHVycGxlKTtcbiAgfVxuXG4gIC8vIGxpbmtzIHRoYXQgYXJlIGhvdmVyZWRcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBvZmYtYmx1ZSk7XG4gICAgY29sb3I6IGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgYmx1ZSksIDEwJSk7XG4gIH1cblxuICAvLyBsaW5rcyB0aGF0IGFyZSBpbiBmb2N1c1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IGNvbG9yKHNlY29uZGFyeSwgZ29sZCk7XG4gICAgY29sb3I6IGxpZ2h0ZW4oY29sb3IocHJpbWFyeSwgYmx1ZSksIDEwJSk7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC8vIGxpbmtzIHRoYXQgYXJlIGFjdGl2ZWx5IGNsaWNrZWRcbiAgJjphY3RpdmUge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbiAgICBjb2xvcjogbGlnaHRlbihjb2xvcihwcmltYXJ5LCBibHVlKSwgMTAlKTtcbiAgfVxuXG5cbiAgLy8gdGVhc2VyIGxpbmtcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICYudGVhc2VyIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cblxuICAvLyBleHRlcm5hbCBsaW5rc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJlt0YXJnZXQ9J19ibGFuayddIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHNlY29uZGFyeSwgb2ZmLWJsdWUpIHVybCgnLi4vaW1nL2ljb25zL2lfZXh0ZXJuYWwuc3ZnJykgbm8tcmVwZWF0IDUwJSA1MCUgLyAxNnB4IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgb3BhY2l0eSAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgICAgdHJhbnNmb3JtICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIHRlbCBsaW5rc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJltocmVmXj0ndGVsOiddIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG59XG4iLCIvLyBMaXN0XG4vL1xuLy8gRWxlbWVudCB0aGF0IGdyb3VwcyByZWxhdGVkIGNvbnRlbnQgdG9nZXRoZXIuIFRoZXkncmUgcGFydCBvZiBldmVyeWRheSBsaWZlIGFuZCBjb21lIGluIG11bHRpcGxlIGZvcm1hdHMuXG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIExpc3RcblxuXG4vLyBVbm9yZGVyZWQgTGlzdFxuLy9cbi8vIFRoZSB1bCBlbGVtZW50LCB0aGUgbmFtZSBmb3Igd2hpY2ggaXMgYW4gYWJicmV2aWF0aW9uIG9mIHVub3JkZXJlZCBsaXN0LCBpcyB1c2VkIHRvIGdyb3VwIGEgY29sbGVjdGlvbiBvZiBpdGVtcyB0b2dldGhlciBpbiBhIGxpc3QsIGJ1dCBpbiBhIHdheSB0aGF0IGRvZXNu4oCZdCBzdWdnZXN0IGFuIG9yZGVyIG9mIHByZWNlZGVuY2Ugb3IgaW1wb3J0YW5jZS5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8dWw+XG4vLyAgICAgPGxpPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PC9saT5cbi8vICAgICA8bGk+Q29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0PC9saT5cbi8vICAgICA8bGk+SW50ZWdlciBtb2xlc3RpZSBsb3JlbSBhdCBtYXNzYTwvbGk+XG4vLyA8L3VsPlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBMaXN0IC0gVW5vcmRlcmVkIExpc3RcblxudWwge1xuICBtYXJnaW46IDAgMCAxNHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gIH1cbn1cblxubGkge1xuICBtYXJnaW4tdG9wOiA4cHg7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIE9yZGVyZWQgTGlzdFxuLy9cbi8vIFRoZSBvbCBlbGVtZW50IGlzIHNpbWlsYXIgdG8gdGhlIHVsIGVsZW1lbnQgaW4gdGhhdCBpdOKAmXMgdXNlZCB0byBncm91cCBhIGNvbGxlY3Rpb24gb2YgaXRlbXMgdG9nZXRoZXIgaW4gYSBsaXN0LlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxvbD5cbi8vICAgICA8bGk+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8L2xpPlxuLy8gICAgIDxsaT5Db25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQ8L2xpPlxuLy8gICAgIDxsaT5JbnRlZ2VyIG1vbGVzdGllIGxvcmVtIGF0IG1hc3NhPC9saT5cbi8vIDwvb2w+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIExpc3QgLSBPcmRlcmVkIExpc3Rcblxub2wge1xuICBtYXJnaW46IDAgMCAxNHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gIH1cbn1cblxuXG4vLyBEZWZpbml0aW9uIExpc3Rcbi8vXG4vLyBJZiB5b3Ugd2FudCB0byBsaXN0IGEgc2VyaWVzIG9mIGl0ZW1zIHRoYXQgZXNzZW50aWFsbHkgaGF2ZSBhIHRpdGxlIGFuZCBhIGRlc2NyaXB0aW9uIG9mIHNvbWUga2luZCAodGhhdCBpcywgZWFjaCBpdGVtIGhhcyB0d28gcGFydHMpLCB1c2UgdGhlIGRlZmluaXRpb24gbGlzdCBkbCBlbGVtZW50LlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxkbD5cbi8vICAgICA8ZHQ+RGVmaW5pdGlvbiBMaXN0PC9kdD5cbi8vICAgICA8ZGQ+QSBudW1iZXIgb2YgY29ubmVjdGVkIGl0ZW1zIG9yIG5hbWVzIHdyaXR0ZW4gb3IgcHJpbnRlZCBjb25zZWN1dGl2ZWx5LCB0eXBpY2FsbHkgb25lIGJlbG93IHRoZSBvdGhlci48L2RkPlxuLy8gICAgIDxkdD5UaGlzIGlzIGEgdGVybS48L2R0PlxuLy8gICAgIDxkZD5UaGlzIGlzIHRoZSBkZWZpbml0aW9uIG9mIHRoYXQgdGVybSwgd2hpY2ggYm90aCBsaXZlIGluIGEgZGwuPC9kZD5cbi8vICAgICA8ZHQ+SGVyZSBpcyBhbm90aGVyIHRlcm0uPC9kdD5cbi8vICAgICA8ZGQ+QW5kIGl0IGdldHMgYSBkZWZpbml0aW9uIHRvbywgd2hpY2ggaXMgdGhpcyBsaW5lLjwvZGQ+XG4vLyAgICAgPGR0PkhlcmUgaXMgdGVybSB0aGF0IHNoYXJlcyBhIGRlZmluaXRpb24gd2l0aCB0aGUgdGVybSBiZWxvdy48L2R0PlxuLy8gICAgIDxkZD5BbmQgaXQgZ2V0cyBhIGRlZmluaXRpb24gdG9vLCB3aGljaCBpcyB0aGlzIGxpbmUuPC9kZD5cbi8vIDwvZGw+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIExpc3QgLSBEZWZpbml0aW9uIExpc3RcblxuZGwge1xuICBtYXJnaW46IDAgMCAyOHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gIH1cbn1cblxuZHQge1xuICBtYXJnaW4tdG9wOiAyOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi10b3A6IDM4cHg7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxufVxuXG5kZCB7XG4gIG1hcmdpbjogMTZweCAwIDA7XG59XG4iLCIvLyBJbWFnZVxuLy9cbi8vIERpc3BsYXkgYSBwaG90b2dyYXBoL2dyYXBoaWMgaW4gdGhlIGNvbnRlbnQuIFlvdSBjYW4gb3B0aW9uYWxseSBjb25maWd1cmUgaW1hZ2Ugc291cmNlcyBmb3IgbXVsdGktZGV2aWNlIHN1cHBvcnQuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGltZyBzcmM9XCJodHRwczovL3Vuc3BsYXNoLml0LzE0NDAvOTAwXCIgYWx0PVwiU2NlbmljIHZpZXcgb2YgbW91bnRhaW5zIGFuZCBvY2VhblwiIC8+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIEltYWdlXG5cbmltZywgcGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGJhc2UpO1xufVxuXG5cbi8vIEZpZ3VyZVxuLy9cbi8vIFRoZSBIVE1MIDxjb2RlPmZpZ3VyZTwvY29kZT4gZWxlbWVudCByZXByZXNlbnRzIHNlbGYtY29udGFpbmVkIGNvbnRlbnQsIGZyZXF1ZW50bHkgd2l0aCBhIGNhcHRpb24gKDxjb2RlPmZpZ2NhcHRpb248L2NvZGU+KSwgYW5kIGlzIHR5cGljYWxseSByZWZlcmVuY2VkIGFzIGEgc2luZ2xlIHVuaXQuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGZpZ3VyZT5cbi8vICAgPGltZyBzcmM9XCJodHRwczovL3Vuc3BsYXNoLml0LzE0NDAvOTAwXCIgYWx0PVwiRGVzY3JpcHRpb24gYWJvdXQgdGhlIGZpZ3VyZVwiIC8+XG4vLyAgIDxmaWdjYXB0aW9uPkN1dGUga2l0dGVuIGxvb2tpbmcgcmlnaHQgYXQgeW91PC9maWdjYXB0aW9uPlxuLy8gPC9maWd1cmU+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIEZpZ3VyZVxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAyOHB4O1xuICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzhweDtcbiAgfVxuXG4gICYubWFwLS1sb2NhdGlvbnMge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuZmlnY2FwdGlvbiB7XG4gIG1hcmdpbjogMTZweCAwIDA7XG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBncmF5KTtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cblxuLy8gVmlkZW9cbi8vXG4vLyA8c3BhbiBjbGFzcz1cInNnLWZsYWcgc2ctZmxhZy1qc1wiPkpTPC9zcGFuPiBEaXNwbGF5cyBhIHZpZGVvIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLCBzdWNoIGFzIFlvdVR1YmUgb3IgVmltZW8sIHdpdGhvdXQgZm9yY2luZyB0aGUgdXNlciB0byBsZWF2ZSB0aGUgY3VycmVudCB3ZWIgcGFnZS4gVmlkZW9zIHJlcXVpcmUgdGhlIDxjb2RlPkZpdFZpZHM8L2NvZGU+IGxpYnJhcnkgYW5kIG5lZWQgdG8gYmUgaW5pdGlhbGl6ZWQgd2l0aCB0aGUgPGNvZGU+JCgnaWZyYW1lW3NyYyo9XCJ5b3V0dWJlXCJdJykucGFyZW50KCkuZml0VmlkcygpOzwvY29kZT4gc2NyaXB0LlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxpZnJhbWUgd2lkdGg9XCI1NjBcIiBoZWlnaHQ9XCIzMTVcIiBzcmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8zS3U2czRkY0pQOFwiIGZyYW1lYm9yZGVyPVwiMFwiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gVmlkZW9cblxuaWZyYW1lLCB2aWRlbyB7XG4gIG1hcmdpbjogMCAwIDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhiYXNlKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOXB4O1xuICB9XG59XG4iLCIkcmFkaXVzOiAoXG4gIG5vbmU6IDAsXG4gIGJhc2U6IDRweCxcbiAgZnVsbDogNTAlLFxuICBwaWxsOiA5OTlweFxuKTtcbiIsIi8vIFBhcmFncmFwaFxuLy9cbi8vIFRoZSBwIGVsZW1lbnQgaXMgb25lIG9mIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgYnVpbGRpbmcgYmxvY2tzIG9mIEhUTUwuXG4vL1xuLy8gTWFya3VwOlxuLy8gPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gTnVsbGFtIGVnZXN0YXMgb2RpbyB0b3J0b3IsIHNlZCB2ZWhpY3VsYSBudW5jIGxvYm9ydGlzIHJ1dHJ1bS4gQ3JhcyB1bHRyaWNlcyBsdWN0dXMgcHVydXMgbm9uIG1hbGVzdWFkYS4gTW9yYmkgYWNjdW1zYW4sIGp1c3RvIHV0IHZlbmVuYXRpcyBhbGlxdWV0LCByaXN1cyBlbGl0IHNvbGxpY2l0dWRpbiB0ZWxsdXMsIGV1IHZlc3RpYnVsdW0gdmVsaXQgb2RpbyBhIGp1c3RvLjwvcD5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gUGFyYWdyYXBoXG5cbnAge1xuICBtYXJnaW46IDAgMCAyOHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gIH1cbn1cblxuXG4vLyBTdHJvbmdcbi8vXG4vLyBUaGUgSFRNTCA8Y29kZT5zdHJvbmc8L2NvZGU+IGVsZW1lbnQgZ2l2ZXMgdGV4dCBzdHJvbmcgaW1wb3J0YW5jZSwgYW5kIGlzIHR5cGljYWxseSBkaXNwbGF5ZWQgaW4gYm9sZC5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8cD5XaGVuIGRvaW5nIHggaXQgaXMgPHN0cm9uZz5pbXBlcmF0aXZlPC9zdHJvbmc+IHRvIGRvIHkgYmVmb3JlIHByb2NlZWRpbmcuPC9wPlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBTdHJvbmdcblxuc3Ryb25nIHsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5cbi8vIENhc2luZ1xuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBDYXNpbmdcblxuLy8gQWxsIGNhcHNcbi8vXG4vLyBDb252ZXJ0IGFueSBzdHJpbmcgb2YgdGV4dCBpbnRvIGFsbC1jYXBzIGdyYWNlZnVsbHkgd2l0aG91dCBpbXBhY3RpbmcgYWNjZXNzaWJpbGl0eS5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8c3BhbiBjbGFzcz1cImNhc2luZy0tY2Fwc1wiPlNvbWUgdGV4dCBsYWJlbDwvc3Bhbj5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gQ2FzaW5nIC0gQWxsIGNhcHNcblxuLmNhc2luZy0tY2FwcyB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuXG4vLyBMb3dlcmNhc2Vcbi8vXG4vLyBDb252ZXJ0IGFueSBzdHJpbmcgb2YgdGV4dCBpbnRvIGxvd2VyY2FzZSBncmFjZWZ1bGx5IHdpdGhvdXQgaW1wYWN0aW5nIGFjY2Vzc2liaWxpdHkuXG4vL1xuLy8gTWFya3VwOlxuLy8gPHNwYW4gY2xhc3M9XCJjYXNpbmctLWxvd2VyY2FzZVwiPlNvbWUgdGV4dCBsYWJlbDwvc3Bhbj5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gQ2FzaW5nIC0gTG93ZXJjYXNlXG5cbi5jYXNpbmctLWxvd2VyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuXG4vLyBNYXJrXG4vL1xuLy8gVGhlIEhUTUwgPGNvZGU+bWFyazwvY29kZT4gZWxlbWVudCByZXByZXNlbnRzIGhpZ2hsaWdodGVkIHRleHQsIGkuZS4sIGEgcnVuIG9mIHRleHQgbWFya2VkIGZvciByZWZlcmVuY2UgcHVycG9zZSwgZHVlIHRvIGl0cyByZWxldmFuY2UgaW4gYSBwYXJ0aWN1bGFyIGNvbnRleHQuXG4vL1xuLy8gTWFya3VwOlxuLy8gPHA+V2hlbiBkb2luZyB4IGl0IGlzIDxtYXJrPmltcGVyYXRpdmU8L21hcms+IHRvIGRvIHkgYmVmb3JlIHByb2NlZWRpbmcuPC9wPlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBNYXJrXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGdvbGQpO1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBnb2xkKTtcbn1cblxuXG4vLyBBYmJyZXZpYXRpb25cbi8vXG4vLyBUaGUgSFRNTCA8Y29kZT5hYmJyPC9jb2RlPiBlbGVtZW50IHJlcHJlc2VudHMgYW4gYWJicmV2aWF0aW9uIGFuZCBvcHRpb25hbGx5IHByb3ZpZGVzIGEgZnVsbCBkZXNjcmlwdGlvbiBmb3IgaXQuIElmIHByZXNlbnQsIHRoZSB0aXRsZSBhdHRyaWJ1dGUgbXVzdCBjb250YWluIHRoaXMgZnVsbCBkZXNjcmlwdGlvbiBhbmQgbm90aGluZyBlbHNlLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxhYmJyIHRpdGxlPVwiTGF1Z2ggT3V0IExvdWRcIj5MT0w8L2FiYnI+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIEFiYnJldmlhdGlvblxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIGZvbnQtdmFyaWFudDogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IGhlbHA7XG59XG4iLCIvLyBCbG9ja3F1b3RlXG4vL1xuLy8gVGhlIGJsb2NrcXVvdGUgZWxlbWVudCBpcyBhIG1lY2hhbmlzbSBmb3IgbWFya2luZyB1cCBhIGJsb2NrIG9mIHRleHQgcXVvdGVkIGZyb20gYSBwZXJzb24gb3IgYW5vdGhlciBkb2N1bWVudCBvciBzb3VyY2UuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGJsb2NrcXVvdGU+XG4vLyAgIDxwPkRlc2lnbiBpcyBub3QganVzdCB3aGF0IGl0IGxvb2tzIGxpa2UgYW5kIGZlZWxzIGxpa2UuIERlc2lnbiBpcyBob3cgaXQgd29ya3MuPC9wPlxuLy8gICA8Zm9vdGVyPlxuLy8gICAgIFN0ZXZlIEpvYnNcbi8vICAgPC9mb290ZXI+XG4vLyA8L2Jsb2NrcXVvdGU+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIEJsb2NrcXVvdGVcblxuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDAgMjhweDtcbiAgbWFyZ2luOiA1NnB4IDA7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgY29sb3IocHJpbWFyeSwgZ29sZCk7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICBmb250LXNpemU6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICBwYWRkaW5nOiAwIDMycHg7XG4gICAgbWFyZ2luOiA2NHB4IDA7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICBwYWRkaW5nOiAwIDM4cHg7XG4gICAgbWFyZ2luOiA3NnB4IDA7XG4gIH1cblxuICBwIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBvcGVuLXF1b3RlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xuICAgIH1cbiAgfVxuXG4gIC8vIGNpdGF0aW9uXG4gIGZvb3RlciB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG4gIH1cblxufVxuIiwiLy8gTGluZSBSdWxlXG4vL1xuLy8gVGhlIGhyIGVsZW1lbnQgY3JlYXRlcyBpbiB0aGUgZG9jdW1lbnQgYSBoaWdobHkgdmlzaWJsZSBicmVhayB0aGF0IHJlbmRlcnMgYXMgYSBzbGltIGhvcml6b250YWwgbGluZSBydW5uaW5nIHRoZSB3aWR0aCBvZiB0aGUgYXJlYSB0byB3aGljaCBpdOKAmXMgYXBwbGllZC5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8aHIgLz5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gTGluZSBSdWxlXG5cbmhyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMzJweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKGNvbG9yKHByaW1hcnksIGdyYXkpLCAzNSUpO1xuICBib3JkZXI6IDA7XG59XG4iLCIvLyBUYWJsZVxuLy9cbi8vIEEgdGFibGUgZGlzcGxheXMgYSBjb2xsZWN0aW9ucyBvZiBkYXRhIGdyb3VwZWQgaW50byByb3dzLiBJdCBpcyBOT1QgbWVhbnQgdG8gYmUgdXNlZCBmb3IgbGF5b3V0IGNvbXBvc2l0aW9uLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDx0YWJsZSBjbGFzcz1cInt7bW9kaWZpZXJfY2xhc3N9fVwiPlxuLy8gICAgIDxjYXB0aW9uPlNoZWxseSdzIERhdWdodGVyczwvY2FwdGlvbj5cbi8vICAgICA8dGhlYWQ+XG4vLyAgICAgICAgIDx0cj5cbi8vICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPk5hbWU8L3RoPlxuLy8gICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+QWdlPC90aD5cbi8vICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPkJpcnRoZGF5PC90aD5cbi8vICAgICAgICAgPC90cj5cbi8vICAgICA8L3RoZWFkPlxuLy8gICAgIDx0Ym9keT5cbi8vICAgICAgICAgPHRyPlxuLy8gICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCI+SmFja2llPC90aD5cbi8vICAgICAgICAgICAgIDx0ZD41PC90ZD5cbi8vICAgICAgICAgICAgIDx0ZD5BcHJpbCA1PC90ZD5cbi8vICAgICAgICAgPC90cj5cbi8vICAgICAgICAgPHRyPlxuLy8gICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCI+QmV0aDwvdGg+XG4vLyAgICAgICAgICAgICA8dGQ+ODwvdGQ+XG4vLyAgICAgICAgICAgICA8dGQ+SmFudWFyeSAxNDwvdGQ+XG4vLyAgICAgICAgIDwvdHI+XG4vLyAgICAgPC90Ym9keT5cbi8vIDwvdGFibGU+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIFRhYmxlXG5cbi8vIEdsb2JhbFxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBncmF5KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxudHI6aG92ZXIgdGgsXG50cjpob3ZlciB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3IocHJpbWFyeSwgZ3JheSksIC4wNSk7XG59XG5cbi8vIEhlYWRlclxudGhlYWQge1xuICB0aCwgdGQge1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjb2xvcihwcmltYXJ5LCBjeWFuKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi8vIEJvZHlcbnRib2R5IHtcbiAgdGgsIHRkIHtcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3IocHJpbWFyeSwgYmxhY2spO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICB0aCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIHRyOmZpcnN0LWNoaWxkIHRoLFxuICB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuIiwiLy8gU2VsZWN0IEJveFxuLy9cbi8vIFRoZSBIVE1MIDxjb2RlPnNlbGVjdDwvY29kZT4gZWxlbWVudCByZXByZXNlbnRzIGEgY29udHJvbCB0aGF0IHByb3ZpZGVzIGEgbWVudSBvZiBvcHRpb25zLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxzZWxlY3QgaWQ9XCJzZWxlY3RJRFwiIG5hbWU9XCJzZWxlY3RJRFwiPlxuLy8gICA8b3B0aW9uIHZhbHVlPVwib3B0aW9uTmFtZVwiPlNlbGVjdCBhbiBvcHRpb248L29wdGlvbj5cbi8vICAgPG9wdGlvbiB2YWx1ZT1cIm9wdGlvbk5hbWVcIj5SZWQ8L29wdGlvbj5cbi8vICAgPG9wdGlvbiB2YWx1ZT1cIm9wdGlvbk5hbWVcIj5CbHVlPC9vcHRpb24+XG4vLyAgIDxvcHRpb24gdmFsdWU9XCJvcHRpb25OYW1lXCI+UHVycGxlPC9vcHRpb24+XG4vLyA8L3NlbGVjdD5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gRm9ybSAtIFNlbGVjdCBCb3hcblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDFweDtcbiAgcGFkZGluZzogOHB4IDQwcHggOHB4IDhweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvaV9jYXJldC1kb3duLnN2ZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggYXV0bztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gOHB4KSA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGNvbG9yKHByaW1hcnksIGdyYXkpO1xuICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgdHJhbnNpdGlvbjpcbiAgICBib3JkZXIgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmcsXG4gICAgYm94LXNoYWRvdyAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIGhlaWdodDogNDhweDtcbiAgfVxuXG4gIC8vIElFIHN0eWxlIHRvIGhpZGUgZGVmYXVsdCBzZWxlY3QgYXJyb3dcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIGhvdmVyIHN0YXRlXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gIH1cblxuICAvLyBmb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yKHByaW1hcnksIGJsdWUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKGNvbG9yKHByaW1hcnksIGJsdWUpLCAuMTYpO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBSYWRpb3MgbXVzdCB1c2UgdGhlIDxjb2RlPmZpZWxkc2V0PC9jb2RlPiB0YWcgYW5kIHNob3VsZCBpbmNsdWRlIDxjb2RlPiRpbnB1dDwvY29kZT4sIDxjb2RlPiRsYWJlbDwvY29kZT4sIGFuZCA8Y29kZT4kaWNvbjwvY29kZT4gZmllbGRzIGZvciBlYWNoIG9wdGlvbi5cbi8vXG4vLyBNYXJrdXA6XG4vLyA8ZmllbGRzZXQgY2xhc3M9XCJmb3JtYmxvY2sgcmFkaW9zXCI+XG4vLyAgIDxsZWdlbmQgY2xhc3M9XCJmb3JtYmxvY2tfX2xhYmVsXCI+Q2hvb3NlIFlvdXIgRmF2b3JpdGU8L2xlZ2VuZD5cbi8vICAgPGRpdiBjbGFzcz1cImZvcm1ibG9ja19fZmllbGRcIj5cbi8vICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uXCI+XG4vLyAgICAgICA8aW5wdXQgY2xhc3M9XCJvcHRpb25fX2lucHV0XCIgaWQ9XCJyYWRpbzFcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwib3B0aW9uc1wiIHZhbHVlPVwidmFsdWUxXCI+XG4vLyAgICAgICA8bGFiZWwgY2xhc3M9XCJvcHRpb25fX2xhYmVsXCIgZm9yPVwicmFkaW8xXCI+UmFkaW8gMTwvbGFiZWw+XG4vLyAgICAgICA8aSBjbGFzcz1cIm9wdGlvbl9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbi8vICAgICA8L2Rpdj5cbi8vICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uXCI+XG4vLyAgICAgICA8aW5wdXQgY2xhc3M9XCJvcHRpb25fX2lucHV0XCIgaWQ9XCJyYWRpbzJcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwib3B0aW9uc1wiIHZhbHVlPVwidmFsdWUyXCI+XG4vLyAgICAgICA8bGFiZWwgY2xhc3M9XCJvcHRpb25fX2xhYmVsXCIgZm9yPVwicmFkaW8yXCI+UmFkaW8gMjwvbGFiZWw+XG4vLyAgICAgICA8aSBjbGFzcz1cIm9wdGlvbl9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbi8vICAgICA8L2Rpdj5cbi8vICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uXCI+XG4vLyAgICAgICA8aW5wdXQgY2xhc3M9XCJvcHRpb25fX2lucHV0XCIgaWQ9XCJyYWRpbzNcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwib3B0aW9uc1wiIHZhbHVlPVwidmFsdWUzXCI+XG4vLyAgICAgICA8bGFiZWwgY2xhc3M9XCJvcHRpb25fX2xhYmVsXCIgZm9yPVwicmFkaW8zXCI+UmFkaW8gMzwvbGFiZWw+XG4vLyAgICAgICA8aSBjbGFzcz1cIm9wdGlvbl9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbi8vICAgICA8L2Rpdj5cbi8vICAgPC9kaXY+XG4vLyA8L2ZpZWxkc2V0PlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBGb3JtIC0gUmFkaW9zXG5cbi5yYWRpb3MsXG4ud2ViZm9ybS1yYWRpb3Mtb3RoZXIge1xuXG4gIC8vIGxlZ2VuZFxuICBsZWdlbmQgeyBAZXh0ZW5kICVsYWJlbDsgfVxuXG4gIC8vIG9wdGlvbnNcbiAgLm9wdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gb3B0aW9uIGlucHV0XG4gICAgJl9faW5wdXQgeyBAZXh0ZW5kICVoaWRlLW9mZi1zY3JlZW47IH1cblxuICAgIC8vIG9wdGlvbiBpY29uXG4gICAgJl9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcihwcmltYXJ5LCBncmF5KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJhZGl1cyhmdWxsKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJvcmRlciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgICAgYm94LXNoYWRvdyAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luOiAtNXB4IDAgMCAtNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmFkaXVzKGZ1bGwpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgdHJhbnNmb3JtICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgICAgICAgb3BhY2l0eSAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIG9wdGlvbiBsYWJlbFxuICAgICZfX2xhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctbGVmdDogMjhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIGZvY3VzIHN0YXRlXG4gICAgJl9faW5wdXQ6Zm9jdXMgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmx1ZSksIC4xNik7XG5cbiAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gd2hlbiBob3ZlcmVkXG4gICAgJjpob3ZlciAub3B0aW9uX19pY29uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggY29sb3Ioc2Vjb25kYXJ5LCBvZmYtYmx1ZSk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgICAgIG9wYWNpdHk6IC4yNTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gd2hlbiBjaGVja2VkXG4gICAgJl9faW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25fX2xhYmVsICsgLm9wdGlvbl9faWNvbiB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKHByaW1hcnksIGJsdWUpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gQ2hlY2tib3hlcyBtdXN0IHVzZSB0aGUgPGNvZGU+ZmllbGRzZXQ8L2NvZGU+IHRhZyBhbmQgc2hvdWxkIGluY2x1ZGUgPGNvZGU+JGlucHV0PC9jb2RlPiwgPGNvZGU+JGxhYmVsPC9jb2RlPiwgYW5kIDxjb2RlPiRpY29uPC9jb2RlPiBmaWVsZHMgZm9yIGVhY2ggb3B0aW9uLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxmaWVsZHNldCBjbGFzcz1cImZvcm1ibG9jayBjaGVja2JveGVzXCI+XG4vLyAgIDxsZWdlbmQgY2xhc3M9XCJmb3JtYmxvY2tfX2xhYmVsXCI+Q2hlY2sgdGhlc2Ugb3V0PC9sZWdlbmQ+XG4vLyAgIDxkaXYgY2xhc3M9XCJmb3JtYmxvY2tfX2ZpZWxkXCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cIm9wdGlvblwiPlxuLy8gICAgICAgPGlucHV0IGNsYXNzPVwib3B0aW9uX19pbnB1dFwiIGlkPVwiY2hlY2tib3gxXCIgdHlwZT1cImNoZWNrYm94XCI+XG4vLyAgICAgICA8bGFiZWwgY2xhc3M9XCJvcHRpb25fX2xhYmVsXCIgZm9yPVwiY2hlY2tib3gxXCI+Q2hlY2tib3ggMTwvbGFiZWw+XG4vLyAgICAgICA8aSBjbGFzcz1cIm9wdGlvbl9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuLy8gICAgICAgICA8c3ZnIHdpZHRoPVwiMjBweFwiIGhlaWdodD1cIjIwcHhcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCI+XG4vLyAgICAgICAgICAgPHBhdGggZD1cIk0zLDEgTDE3LDEgTDE3LDEgQzE4LjEwNDU2OTUsMSAxOSwxLjg5NTQzMDUgMTksMyBMMTksMTcgTDE5LDE3IEMxOSwxOC4xMDQ1Njk1IDE4LjEwNDU2OTUsMTkgMTcsMTkgTDMsMTkgTDMsMTkgQzEuODk1NDMwNSwxOSAxLDE4LjEwNDU2OTUgMSwxNyBMMSwzIEwxLDMgQzEsMS44OTU0MzA1IDEuODk1NDMwNSwxIDMsMSBaXCI+PC9wYXRoPlxuLy8gICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9XCI0IDExIDggMTUgMTYgNlwiPjwvcG9seWxpbmU+XG4vLyAgICAgICAgIDwvc3ZnPlxuLy8gICAgICAgPC9pPlxuLy8gICAgIDwvZGl2PlxuLy8gICAgIDxkaXYgY2xhc3M9XCJvcHRpb25cIj5cbi8vICAgICAgIDxpbnB1dCBjbGFzcz1cIm9wdGlvbl9faW5wdXRcIiBpZD1cImNoZWNrYm94MlwiIHR5cGU9XCJjaGVja2JveFwiPlxuLy8gICAgICAgPGxhYmVsIGNsYXNzPVwib3B0aW9uX19sYWJlbFwiIGZvcj1cImNoZWNrYm94MlwiPkNoZWNrYm94IDI8L2xhYmVsPlxuLy8gICAgICAgPGkgY2xhc3M9XCJvcHRpb25fX2ljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbi8vICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwcHhcIiBoZWlnaHQ9XCIyMHB4XCIgdmlld0JveD1cIjAgMCAyMCAyMFwiPlxuLy8gICAgICAgICAgIDxwYXRoIGQ9XCJNMywxIEwxNywxIEwxNywxIEMxOC4xMDQ1Njk1LDEgMTksMS44OTU0MzA1IDE5LDMgTDE5LDE3IEwxOSwxNyBDMTksMTguMTA0NTY5NSAxOC4xMDQ1Njk1LDE5IDE3LDE5IEwzLDE5IEwzLDE5IEMxLjg5NTQzMDUsMTkgMSwxOC4xMDQ1Njk1IDEsMTcgTDEsMyBMMSwzIEMxLDEuODk1NDMwNSAxLjg5NTQzMDUsMSAzLDEgWlwiPjwvcGF0aD5cbi8vICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPVwiNCAxMSA4IDE1IDE2IDZcIj48L3BvbHlsaW5lPlxuLy8gICAgICAgICA8L3N2Zz5cbi8vICAgICAgIDwvaT5cbi8vICAgICA8L2Rpdj5cbi8vICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uXCI+XG4vLyAgICAgICA8aW5wdXQgY2xhc3M9XCJvcHRpb25fX2lucHV0XCIgaWQ9XCJjaGVja2JveDNcIiB0eXBlPVwiY2hlY2tib3hcIj5cbi8vICAgICAgIDxsYWJlbCBjbGFzcz1cIm9wdGlvbl9fbGFiZWxcIiBmb3I9XCJjaGVja2JveDNcIj5DaGVja2JveCAzPC9sYWJlbD5cbi8vICAgICAgIDxpIGNsYXNzPVwib3B0aW9uX19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgIDxzdmcgd2lkdGg9XCIyMHB4XCIgaGVpZ2h0PVwiMjBweFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIj5cbi8vICAgICAgICAgICA8cGF0aCBkPVwiTTMsMSBMMTcsMSBMMTcsMSBDMTguMTA0NTY5NSwxIDE5LDEuODk1NDMwNSAxOSwzIEwxOSwxNyBMMTksMTcgQzE5LDE4LjEwNDU2OTUgMTguMTA0NTY5NSwxOSAxNywxOSBMMywxOSBMMywxOSBDMS44OTU0MzA1LDE5IDEsMTguMTA0NTY5NSAxLDE3IEwxLDMgTDEsMyBDMSwxLjg5NTQzMDUgMS44OTU0MzA1LDEgMywxIFpcIj48L3BhdGg+XG4vLyAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz1cIjQgMTEgOCAxNSAxNiA2XCI+PC9wb2x5bGluZT5cbi8vICAgICAgICAgPC9zdmc+XG4vLyAgICAgICA8L2k+XG4vLyAgICAgPC9kaXY+XG4vLyAgIDwvZGl2PlxuLy8gPC9maWVsZHNldD5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gRm9ybSAtIENoZWNrYm94ZXNcblxuLmNoZWNrYm94ZXMsXG4ud2ViZm9ybS1jaGVja2JveGVzLW90aGVyIHtcblxuICAvLyBsZWdlbmRcbiAgbGVnZW5kIHsgQGV4dGVuZCAlbGFiZWw7IH1cblxuICAvLyBvcHRpb25zXG4gIC5vcHRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIG9wdGlvbiBpbnB1dFxuICAgICZfX2lucHV0IHsgQGV4dGVuZCAlaGlkZS1vZmYtc2NyZWVuOyB9XG5cbiAgICAvLyBvcHRpb24gaWNvblxuICAgICZfX2ljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgY29sb3IocHJpbWFyeSwgZ3JheSk7XG4gICAgICBib3JkZXItcmFkaXVzOiByYWRpdXMoYmFzZSk7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogbm9uZTtcbiAgICAgICAgc3Ryb2tlOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAyO1xuICAgICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDcxcHg7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA3MXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICBzdmcgcG9seWxpbmUge1xuICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICBzdHJva2U6IGNvbG9yKHByaW1hcnksIHdoaXRlKTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAyO1xuICAgICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDE4cHg7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAxOHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG9wdGlvbiBsYWJlbFxuICAgICZfX2xhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctbGVmdDogMjhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIGZvY3VzIHN0YXRlXG4gICAgJl9faW5wdXQ6Zm9jdXMgKyAub3B0aW9uX19sYWJlbCArIC5vcHRpb25fX2ljb24ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmx1ZSksIC4xNik7XG5cbiAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaG92ZXIgc3RhdGVcbiAgICAmOmhvdmVyIC5vcHRpb25fX2ljb24ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IGNvbG9yKHNlY29uZGFyeSwgb2ZmLWJsdWUpO1xuXG4gICAgICBzdmcgcGF0aCB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNoZWNrZWQgc3RhdGVcbiAgICAmX19pbnB1dDpjaGVja2VkICsgLm9wdGlvbl9fbGFiZWwgKyAub3B0aW9uX19pY29uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG5cbiAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHN2ZyBwb2x5bGluZSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbn1cbiIsIi8vIElucHV0XG4vL1xuLy8gVGhlIEhUTUwgPGNvZGU+aW5wdXQ8L2NvZGU+IGVsZW1lbnQgaXMgdXNlZCB0byBjcmVhdGUgaW50ZXJhY3RpdmUgY29udHJvbHMgZm9yIHdlYi1iYXNlZCBmb3JtcyBpbiBvcmRlciB0byBhY2NlcHQgZGF0YSBmcm9tIHRoZSB1c2VyLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPVwiaW5wdXRJRFwiIG5hbWU9XCJpbnB1dElEXCIgcGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlci4uLlwiIC8+XG4vL1xuLy8gU3R5bGVndWlkZSBFbGVtZW50cyAtIEZvcm0gLSBJbnB1dFxuXG5pbnB1dCB7XG4gIC8qYXBwZWFyYW5jZTogbm9uZTsqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyOiAycHggc29saWQgY29sb3IocHJpbWFyeSwgZ3JheSk7XG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgIGJveC1zaGFkb3cgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cbiAgLy8gZm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYShjb2xvcihwcmltYXJ5LCBibHVlKSwgLjE2KTtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLy8gaG92ZXIgc3RhdGVcbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvcihwcmltYXJ5LCBibHVlKTtcbiAgfVxufVxuXG4vLyBEaXNhYmxlIGJ1aWx0LWluIHNlYXJjaCBpbnB1dCBmb3JtYXRzIGZvciBzdXBwb3J0ZWQgYnJvd3NlcnNcbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRGlzYWJsZSBidWlsdC1pbiBzcGlubmVyIGNvbnRyb2wgZm9yIHN1cHBvcnRlZCBicm93c2Vyc1xuaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4vLyBUZXh0YXJlYVxuLy9cbi8vIFRoZSBIVE1MIDxjb2RlPnRleHRhcmVhPC9jb2RlPiBlbGVtZW50IHJlcHJlc2VudHMgYSBtdWx0aS1saW5lIHBsYWluLXRleHQgZWRpdGluZyBjb250cm9sLlxuLy9cbi8vIE1hcmt1cDpcbi8vIDx0ZXh0YXJlYSBpZD1cImlucHV0SURcIiBuYW1lPVwiaW5wdXRJRFwiIHBsYWNlaG9sZGVyPVwicGxhY2Vob2xkZXIuLi5cIj48L3RleHRhcmVhPlxuLy9cbi8vIFN0eWxlZ3VpZGUgRWxlbWVudHMgLSBGb3JtIC0gVGV4dGFyZWFcblxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEyOHB4O1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGNvbG9yKHByaW1hcnksIGdyYXkpO1xuICByZXNpemU6IHZlcnRpY2FsO1xuICB0cmFuc2l0aW9uOlxuICAgIGJvcmRlciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICBib3gtc2hhZG93ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuXG4gIC8vIGZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoY29sb3IocHJpbWFyeSwgYmx1ZSksIC4xNik7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIGhvdmVyIHN0YXRlXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSwgYmx1ZSk7XG4gIH1cbn1cbiIsImFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwIDE0cHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIDEgLSBTRVRUSU5HU1xuLy8gR2xvYmFsIHZhcmlhYmxlcywgc2l0ZS13aWRlIHNldHRpbmdzLCBjb25maWcgc3dpdGNoZXMsIGV0Yy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0ICcxLXNldHRpbmdzL2JvdXJib24vYm91cmJvbic7XG5AaW1wb3J0ICcxLXNldHRpbmdzL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJzEtc2V0dGluZ3MvY29sb3JzJztcbkBpbXBvcnQgJzEtc2V0dGluZ3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcxLXNldHRpbmdzL2FuaW1hdGlvbnMnO1xuQGltcG9ydCAnMS1zZXR0aW5ncy9yYWRpdXMnO1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAyIC0gVE9PTFNcbi8vIFNpdGUtd2lkZSBtaXhpbnMgYW5kIGZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgJzItdG9vbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJzItdG9vbHMvbWl4aW5zJztcbkBpbXBvcnQgJzItdG9vbHMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcyLXRvb2xzL3BsYWNlaG9sZGVycyc7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIDMgLSBHRU5FUklDXG4vLyBMb3ctc3BlY2lmaWNpdHksIGZhci1yZWFjaGluZyBydWxlc2V0cyAoZS5nLiByZXNldHMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnMy1nZW5lcmljL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICczLWdlbmVyaWMvYm94LXNpemluZyc7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIDQgLSBCQVNFXG4vLyBVbmNsYXNzZWQgSFRNTCBlbGVtZW50cyAoZS5nLiBhIHt9LCBibG9ja3F1b3RlIHt9LCBhZGRyZXNzIHt9KVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgJzQtYmFzZS9ib2R5JztcbkBpbXBvcnQgJzQtYmFzZS9mb3Jtcyc7XG5AaW1wb3J0ICc0LWJhc2UvaGVhZGluZ3MnO1xuQGltcG9ydCAnNC1iYXNlL2xpbmtzJztcbkBpbXBvcnQgJzQtYmFzZS9saXN0cyc7XG5AaW1wb3J0ICc0LWJhc2UvbWVkaWEnO1xuQGltcG9ydCAnNC1iYXNlL3BhcmFncmFwaHMnO1xuQGltcG9ydCAnNC1iYXNlL3F1b3Rlcyc7XG5AaW1wb3J0ICc0LWJhc2UvcnVsZXMnO1xuQGltcG9ydCAnNC1iYXNlL3RhYmxlcyc7XG5AaW1wb3J0ICc0LWJhc2Uvc2VsZWN0aW9ucyc7XG5AaW1wb3J0ICc0LWJhc2UvaW5wdXRzJztcbkBpbXBvcnQgJzQtYmFzZS9hZGRyZXNzZXMnO1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyA1IC0gUEFHRSBTRVRUSU5HU1xuLy8gRGVmYXVsdCBwYWdlIHNldHRpbmdzIGZvciBwcmludGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBwYWdlIHsgbWFyZ2luOiAyY207IH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYSxcbmE6dmlzaXRlZCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5hW2hyZWZdOmFmdGVyIHtcbiAgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJztcbn1cblxuYWJiclt0aXRsZV06YWZ0ZXIge1xuICBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJztcbn1cblxuYVtocmVmXj0nIyddOmFmdGVyLFxuYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG5wcmUge1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbn1cbnByZSxcbmJsb2NrcXVvdGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG5cbnRoZWFkIHtcbiAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xufVxuXG50cixcbmltZyB7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbn1cblxucCxcbmgyLFxuaDMge1xuICBvcnBoYW5zOiAzO1xuICB3aWRvd3M6IDM7XG59XG5cbmgyLFxuaDMge1xuICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gNSAtIENVU1RPTSBQUklOVCBSVUxFU1xuLy8gVW5pcXVlIHNldHRpbmdzIHRvIG9wdGltaXplIHBhZ2VzIGZvciBwcmludGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI2hlYWRlci1jb250YWluZXIsXG4jZm9vdGVyLWNvbnRhaW5lcixcbi5zaG9ydGN1dC0tbWFpbixcbi5zaG9ydGN1dC0taGVhZGVyLFxuLnBhZ2luYXRpb24sXG5zdmcsXG5pbWcgeyBkaXNwbGF5OiBub25lOyB9XG4iXX0= */
